0
請建議的makefile食譜線執行順序,同時調用函數
all:
@echo "Line 1"
$(info Line 2)
執行使
Line 2
Line 1
印什麼規則定義。下一個問題是如何克服這種行爲,除了分裂成兩個目標?
請建議的makefile食譜線執行順序,同時調用函數
all:
@echo "Line 1"
$(info Line 2)
執行使
Line 2
Line 1
印什麼規則定義。下一個問題是如何克服這種行爲,除了分裂成兩個目標?
在調用任何配方行之前,GNU make將始終擴展整個配方(所有行)中的所有變量和函數。由於$(info ...)
是make函數,因此它首先被擴展,並且擴展打印出您首先看到的「Line 2」。在擴展之後,配方只包含一行傳遞給shell執行並顯示「第2行」的行。
你應該只使用shell命令,如果你關心的事物的秩序:
all:
@echo "Line 1"
@echo "Line 2"