单独运行每个命令,但将它们分发到多个生成文件中

时间:2017-05-29 08:52:11

标签: makefile

  • 我希望每个Env都有自己的Makefile(本地,开发,制作)。

  • 所以我为每个目录创建了3个目录和Makefile

  • 然后创建一个公共MakeFile,其中包含所有其他子Makefiles

makefile

  • 我能够将我的子命令包含在父文件中,但问题是
    • 如果我运行make local,它会执行Makefile.local
    • 中的所有命令
    • 但我希望每个命令都必须单独运行
    • 当提及make local local_commandmake local_command时,local_command必须仅执行。

1 个答案:

答案 0 :(得分:0)

你可能想要这样的东西:

TOP_LEVEL_TARGS := dev local prod

$(TOP_LEVEL_TARGS):
    make -f config/local/Makefile.$@ $(filter-out $(TOP_LEVEL_TARGS), $(MAKECMDGOALS))

这将使用原始make命令的所有命令目标(减去顶级目标)调用sub-make。