Сценарий mkmakefile создает следующий Makefile в каталоге builddir.
При вызове все цели передаются в Makefile srcdir.
Кто-нибудь может объяснить, почему? Где магия?
lastword = $(word $(words $(1)),$(1)) makedir := $(dir $(call lastword,\$(MAKEFILE_LIST))) MAKEARGS := -C path_to_srcdir MAKEARGS += O=$(if $(patsubst /%,,$(makedir)),$(CURDIR)/)$(patsubst %/,%,$(makedir)) MAKEFLAGS += --no-print-directory .PHONY: all $(MAKECMDGOALS) all := $(filter-out all Makefile,$(MAKECMDGOALS)) all: $(MAKE) $(MAKEARGS) $(all) Makefile:; $(all): all @: %/: all @: