Makefile中 PHONY的作用

2021-07-30 20:56:15 字數 753 閱讀 9153

拿clean舉例,如果make完成後,自己另外定義乙個名叫clean的檔案,再執行make clean時,將不會執行rm命令。

為了避免出現這個問題,需要.phony: clean

圖示:

(1)不新增.phony:clean

在makefile所在的目錄下touch乙個clean檔案

執行make–>執行make clean

結果:由於目錄下clean檔案衝突,無法執行make clean

(2)新增.phony:clean

執行make–>執行make clean

結果:make clean正常執行

.phony是乙個偽目標,可以防止在makefile中定義的只執行命令的目標和工作目錄下的實際檔案出現名字衝突,另一種是提交執行makefile時的效率。

更多關於.phony的知識請看

MAKEFILE中 PHONY的作用

本文 main1.c include intmain void main2.c include intmain void 分析 這裡需要生成兩個可執行檔案main1和main2 兩個目標 由於makefile只能有乙個目標,所以可以構造乙個沒有規則的終極目標all,並以這兩個可執行檔案作為依賴。如下...

makefile中的all和 PHONY的作用

請編寫乙個makefile同時編譯 鏈結下面兩個程式 main1.c include int main void main2.c include int main void 分析 這裡需要生成兩個可執行檔案main1和main2 兩個目標 由於makefile只能有乙個目標,所以可以構造乙個沒有規則...

makefile中的 PHONY和all的作用

偽目標是這樣乙個目標 它不代表乙個真正的檔名,在執行make時可以指定這個目標來執行所在規則定義的命令,有時也可以將乙個偽目標稱為標籤。偽目標通過phony來指明。phony定義偽目標的命令一定會被執行,下面嘗試分析這種優點的妙處。1 如果我們指定的目標不是建立目標檔案,而是使用makefile執行...