2017-02-10 67 views

回答

2

在调用任何配方行之前,GNU make将始终扩展整个配方(所有行)中的所有变量和函数。由于$(info ...)是make函数,因此它首先被扩展,并且扩展打印出您首先看到的“Line 2”。在扩展之后,配方只包含一行传递给shell执行并显示“第2行”的行。

你应该只使用shell命令,如果你关心的事物的秩序:

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