脚本 mkmakefile 在 builddir 中生成以下 Makefile。
如果调用,所有目标都将传递给 srcdir Makefile。
谁能解释为什么?魔法在哪里?
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:全部 $(MAKECMDGOALS) all := $(filter-out all Makefile,$(MAKECMDGOALS)) 全部: $(制作) $(制作) $(全部) 生成文件:; $(全部):全部 @: %/: 全部 @: