2011-06-27 71 views
15

在此生成的文件的Makefile:顯示和執行

dirs = $(shell ls) 
clean: 
    $(foreach dir,$(dirs),echo $(dir);) 

輸出是

$ make clean 
echo bin; echo install.sh; echo Makefile; echo README.md; echo utils; 
bin 
install.sh 
Makefile 
README.md 
utils 

爲什麼它首先顯示的命令,然後執行它? 如何省略第一行?

回答

30

用@字符加上命令。例如:

dirs = $(shell ls) 
clean: 
    @$(foreach dir,$(dirs),echo $(dir);) 
+5

請您補充說明! – DarthSpeedious

+2

@DarthSpeedious:解釋是隱含的。問題是「如何顯示和執行」?答案是「前綴@字符」 – Flimzy