2017-02-10 29 views

回答

2

在調用任何配方行之前,GNU make將始終擴展整個配方(所有行)中的所有變量和函數。由於$(info ...)是make函數,因此它首先被擴展,並且擴展打印出您首先看到的「Line 2」。在擴展之後,配方只包含一行傳遞給shell執行並顯示「第2行」的行。

你應該只使用shell命令,如果你關心的事物的秩序:

all: 
     @echo "Line 1" 
     @echo "Line 2"