GNU make: 命令行参数的变量

5
如何将整个命令行(包括目标、链接行、make选项等)从顶层make传递到递归make:
targets : prerequisites
    $(MAKE) $(this should  expand to top level command line) additional_args

感谢您的选择。
2个回答

7
我认为最接近的方法是结合使用$(MAKE),其中包含make所调用的确切文件名,$(MAKECMDGOALS),其中包含您在命令行上指定的目标,以及$(MAKEFLAGS),其中包含任何变量定义和(一部分)在命令行上指定的开关。

3
$(MAKE)宏是特殊的,会扩展为包括一些相关选项。有关详细信息,请参阅Make文档中的MAKE变量工作原理部分。但是,这不包括完整的包括目标等的行,我不确定是否可能。
通常,我尽量避免递归使用Make,在这里有一篇很好的文章:递归Make被认为是有害的

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接