2011-05-03 146 views
4

變量如何傳遞整個命令行(包括目標,連接線,使期權等),從頂層作出遞歸化妝:GNU做:命令行參數

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

感謝。

回答

6

我認爲你可以使用的$(MAKE)組合,其中包含了確切的文件名湊合着被調用,$(MAKECMDGOALS),其中包含您在命令行上指定的目標,$(MAKEFLAGS),其中包含任何變量的定義,並得到最接近(的子集)在命令行中指定的開關。

3

$(MAKE)宏是特殊的,並擴大到包括一些相關的選項。有關更多詳細信息,請參閱Make文檔中的部分How the MAKE variable works。但是,這並不包括包括目標等在內的完整產品線,我不確定這是可能的。

通常我會盡量避免使用Make遞歸,這裏有一篇很好的文章:Recursive Make Considered Harmful

+0

感謝您的鏈接! – pic11 2011-05-03 19:30:22