如何将整个命令行(包括目标,链接行,制作选项等)从顶级make传递到递归make:
targets : prerequisites
$(MAKE) $(this should expand to top level command line) additional_args
感谢。
答案 0 :(得分:7)
我认为最接近的是使用$(MAKE)
的组合,其中包含调用make的确切文件名,$(MAKECMDGOALS)
,其中包含您在命令行中指定的目标,以及{ {1}},包含命令行中指定的任何变量定义和(子集)。
答案 1 :(得分:3)
$(MAKE)
宏是特殊的,并展开以包含一些相关选项。有关详细信息,请参阅Make文档中的How the MAKE variable works部分。但是,这不包括完整的行,包括目标等,我不确定是否可行。
通常我会尽量避免使用Make递归,这里有一篇很好的文章:Recursive Make Considered Harmful。