【问题标题】:Pass make's used Makefile to submake将 make 使用的 Makefile 传递给 submake
【发布时间】:2015-02-10 16:12:42
【问题描述】:

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

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

但这不起作用,当将自定义生成文件名传递给 make - 像

make -f MyMakefile

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

make $(MAKEUSEDMAKEFILE)

【问题讨论】:

    标签: makefile


    【解决方案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,否则它的值将是错误的。

    【讨论】:

      猜你喜欢
      • 2016-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多