makefile 學習的點滴總結 4

2022-09-10 13:03:20 字數 1089 閱讀 4922

目錄:

1、偽目標

2、rm命令的細節問題,rm

1、偽目標

(1)為了執行規則所建立的命令,而不是去生成目標。如:

clean:

rm *.o temp

規則中的rm不是去建立clean這個目標的命令,而是為了刪除.o和temp檔案。

但是如果該目錄下已存在的乙個clean檔案,則「make clean」不會執行任何動作。

所以,將乙個目標生成偽目標的方法是將它作為乙個特殊目標  .phony 如:

.phony:clean

clean:

rm *.o temp

(2)all:

使用乙個稱為「all 」的偽目標來作為終極目標,它的依賴檔案就是那些需要創

建的程式。下邊就是乙個例子:

#sample makefile

all : prog1 prog2 prog3

.phony : all

prog1 : prog1.o utils.o

cc -o prog1 prog1.o utils.o

prog2 : prog2.o

cc -o prog2 prog2.o

prog3 : prog3.o sort.o utils.o

cc -o prog3 prog3.o sort.o utils.o

執行make時,目標「all 」被作為終極目標,我們可以通過make的命令列選項來明確指定需要重建的

程式。例如:「make prog1」

2、rm命令的細節問題,rm

通常在清除檔案的偽目標所定義的命令中「rm」使用選項「–f 」( --force )來防止在缺少刪除檔案時出錯並退出,使「make clean」過程失敗。也可以在「rm」之前加上「- 」來防止「rm」錯誤退出,這種方式時make會提示錯誤資訊但不會退出。為了不看到這些討厭的資訊,需要使用上述的第一種方式。

另外make存在乙個內嵌隱含變數「rm」,它被定義為:「 rm = rm –f 」。因此在書寫「clean」規則的命令行時可以使用變數「$(rm) 」來代替「rm」,這樣可以免出現一些不必要的麻煩!這是我們推薦的用法。

arm學習 makefile學習總結

makefile不僅僅是乙個命令的集合體,其中有一些規則是需要理解掌握的。首先,了解makefile的規則 格式 目標 依賴1,依賴2 tap鍵 命令 1 目標,就是我們想生成的檔案。2 依賴往往是我們已經有的檔案,是生成目標的必要條件。3 命令就是利用依賴來產生目標。命令不是任何情況都可以執行的,...

Makefile學習總結之規則的命令

通常系統中可能存在多個不同的shell。但在make處理makefile過程中,如果沒有明確指定,那麼對所有規則中命令列的解析使用 bin sh 來完成 命令回顯 make在執行命令列之前會把執行的命令列輸出到標準輸出裝置。如果規則的命令列以字元 開始,則make在執行這個命令時就不會回顯這個將要被...

jquery 點滴 總結

站在巨人的肩膀上,來自部落格 本文內容 jquery 與 prototype 共存 方法一 方法二 方法三 jquery中eq和get的區別 eq返回的是乙個jquery物件,get返回的是乙個html 物件陣列。舉個例子 style color yellow 緋雨 使用eq來獲得第乙個p標籤的co...