2015-02-10 29 views
0

在我的Makefile中,我有一些目標的,該呼叫直接進行:通行證化妝用Makefile來submake

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

但是,這並不工作,將自定義生成文件名時,讓 - 像

make -f MyMakefile 

-f選項不會傳遞給子作品。我怎麼能告訴主要製造商把它傳遞給子製造商? 對於我們有$(MAKECMDGOALS)的目標,它包含目標,傳遞給主makefile 是否有類似的東西,包含Makefile的名稱,使用,用-f傳遞?像

make $(MAKEUSEDMAKEFILE) 

回答

1

您可以使用MAKEFILE_LIST值:

THIS_MAKEFILE := $(lastword $(MAKEFILE_LIST)) 

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

請注意,您必須設置THIS_MAKEFILE之前包括任何其他的makefile,否則其價值將是錯誤的。