如果makefile中有多個相同的目標,它是怎麼執行的?
target1: dep1
target1: dep2
cmd2
這種情況下,這兩個相同的target1會被合併成
target1: dep1 dep2
cmd2
sample01:
#測試多個相同目標,是如何執行的
all: test
test: a.c a.h
test: a.c
echo "02 target" #flag the second target
echo $^ #print the second target depend
執行結果:
echo a.c a.h
a.c a.h
但如果第一條規則本身也帶乙個命令的話, makefile就無法合併, 給出警告,並用後面的規則替代前面的規則
target1: dep1
cmd1
target1: dep2
cmd2
最後生成的是, 其實就是後一條替代了前一條,然後給出警告
Makefile的特殊目標
makefile的特殊目標 在makefile中,有一些名字,當它們作為規則的目標時,具有特殊含義。它們是一些特殊的目標,gnu make所支援的特殊的目標有 phony 目標 phony 的所有的依賴被作為偽目標。偽目標時這樣乙個目標 當使用make命令列指定此目標時,這個目標所在規則定義的命令 ...
makefile之偽目標
偽目標的目的不是根據依賴關係生成某個目標,而是為了執行某種任務 clean rm o 通過 make clean來使用目標小結 1.因為我們並不是生成clean這個檔案,因此 偽目標 並不是乙個檔案,只是乙個標籤。2.由於 偽目標 不是檔案,所以 make 無法生成它的依賴關係和決定它是否要執行,因...
c 處理同名函式
ypedef void pf goto hell void typedef struct ibm func ibm func typedef struct sun func sun func ibm func fibm sun func fsun fibm.goto hell fsun.goto h...