将make的Makefile用于submake

时间:2015-02-10 16:12:43

标签: makefile

在我的Makefile中我有一些目标,直接调用:

all:                                                                                                                                   
        @$(MAKE) clean                                                                                       
        @$(MAKE) resources                                                                                                             
        @$(MAKE) 

但是,当将自定义makefile名称传递给make时,这不起作用,如

make -f MyMakefile

-f选项不会传递给子制作。如何判断主要品牌是否将其传递给子品牌? 对于我们有$(MAKECMDGOALS)的目标,它包含传递给主makefile的目标 是否有类似的东西,包含Makefile的名称,使用,与-f一起传递?喜欢

make $(MAKEUSEDMAKEFILE)

1 个答案:

答案 0 :(得分:1)

您可以使用MAKEFILE_LIST

的值
THIS_MAKEFILE := $(lastword $(MAKEFILE_LIST))

all:                                                                                                                                   
        @$(MAKE) -f $(THIS_MAKEFILE) clean                                                                                       
        @$(MAKE) -f $(THIS_MAKEFILE) resources                                                                                                             
        @$(MAKE) -f $(THIS_MAKEFILE)

请注意,在包含任何其他makefile之前,必须先设置THIS_MAKEFILE ,否则其值将是错误的。