2013-12-11 24 views
0

假設我的Makefile具有名爲「all」的第一個目標,所以這是默認目標。那麼假設我也有一個「乾淨」的目標。 如果我想發出一個「重建」命令我可以這樣寫:如何在調用make時顯式調用默認目標?

make clean all 

,他們將按順序調用。但是假設我不想明確命名「都」的目標,並讓使用默認的,就像平時你做:

make 

現在,如何實現使用默認的「重建」的命令?它應該是這樣的:

make clean .DEFAULT_GOAL 

但該特殊變量不起作用從命令行。因爲人們可以在Makefile中定義一個「重建」目標並使用該變量(或鍵入「make clean & & make」),但它有可能以某種方式嗎?

非常感謝。

+0

在問題開始時出現了一個「嗨」,但該網站一直在切斷它,如果看起來有點不禮貌,對不起。 –

回答

1

沒有辦法將通用目標名稱放在命令行上,意思是「默認目標」,而不知道默認目標的名稱並使用它。

如果這就是你要求的。

+0

是的,對我來說,一個相當複雜的程序缺乏這個功能似乎很奇怪。 –

+0

我從來沒有聽說過任何人曾經要求過它,而且我一直在使用make很長一段時間。運行諸如「make clean all」這樣的命令(或者它的等效命令,如果存在的話)實際上並不是非常有用,至少不支持支持並行構建的現代構建系統。我認爲大多數人更喜歡運行兩個不同的命令,或者如果這是人們經常想要做的事情,那麼在makefile中創建一個特定的規則來執行它(可以從並行構建角度正確地完成)。 – MadScientist