Makefile GNU make:用于命令行参数的变量

Makefile GNU make:用于命令行参数的变量,makefile,gnu-make,Makefile,Gnu Make,如何将整个命令行(包括目标、链接行、生成选项等)从顶级生成传递到递归生成: targets : prerequisites $(MAKE) $(this should expand to top level command line) additional_args 谢谢。宏$(MAKE)非常特殊,可以扩展以包含一些相关选项。有关更多详细信息,请参阅Make文档中的部分。然而,这还不包括包括目标等在内的完整路线,我不确定这是否可行 通常我会尽量避免递归使用Make,这里有一篇很好的文

如何将整个命令行(包括目标、链接行、生成选项等)从顶级生成传递到递归生成:

targets : prerequisites
    $(MAKE) $(this should  expand to top level command line) additional_args
谢谢。

$(MAKE)
非常特殊,可以扩展以包含一些相关选项。有关更多详细信息,请参阅Make文档中的部分。然而,这还不包括包括目标等在内的完整路线,我不确定这是否可行


通常我会尽量避免递归使用Make,这里有一篇很好的文章:。

我认为最接近的方法是使用
$(Make)
,它包含调用Make时使用的确切文件名,
$(MAKECMDGOALS)
,其中包含您在命令行上指定的目标,以及
$(MAKEFLAGS)
,其中包含命令行上指定的任何变量定义和(开关的子集)