4 假想目標 PHONY

2021-10-08 09:06:38 字數 751 閱讀 4614

此文編寫主要參考韋東山老師教程和《跟我一起寫makefile》

1.我們想清除檔案,我們在makefile的結尾新增如下**就可以了:

clean:

rm *.o test

1).執行make:生成第乙個可執行檔案。

2).執行make clean: 清除所有檔案,即執行:rm *.o test。

make後面可以帶上目標名,也可以不帶,如果不帶目標名的話它就想生成第乙個規則裡面的第乙個目標。

2.使用makefile

執行:make [目標]

也可以不跟目標名,若無目標預設第乙個目標。我們直接執行make的時候,會在makefile裡面找到第乙個目標然後執行下面的指令生成第乙個目標。當我們執行make clean的時候,就會在makefile裡面找到clean這個目標,然後執行裡面的命令,這個寫法有些問題,原因是我們的目錄裡面沒有clean這個檔案,這個規則執行的條件成立,他就會執行下面的命令來刪除檔案。

但是如果該目錄下面有名為clean檔案怎麼辦呢?

.phony:clean

clean:

-rm *.o test

分析:.phony 意思表示 clean 是乙個「偽目標」,。而在 rm 命令前面加了乙個小減號的意思就是,也許某些檔案出現問題,但不要管,繼續做後面的事。當然,clean 的規則不要放在檔案的開頭,不然,這就會變成 make 的預設目標。

PHONY與偽目標

make all 編譯所有目標 make j8 使用8個核心編譯目標 make install 安裝已編譯的程式 make uninstall 解除安裝已編譯的程式 make clean 刪除由make命令產生的檔案,通常刪除目標檔案.o make check 測試剛編譯的軟體 make dist ...

makefile中phony目標的作用

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

4 系統資訊 學習目標

本節學習的終端命令基本是查詢命令,通過這些命令對系統資源的使用情況有個了解 磁碟和目錄空間 程序資訊 序號命令 作用01 cal檢視日曆,y選項可以檢視一年的日曆 02date 檢視系統時間 例子 序號命令 作用01 df h disk free顯示磁碟剩餘空間 02du h 目錄名 disk us...