Makefile文件和shell腳本
Makefile文件和shell腳本
1、在Makefile中只能在target中調用Shell腳本,其他地方是不能輸出的。比如如下代碼就是沒有任何輸出。VAR=";Hello"。echo";$VAR"。 。all。 ; ;....。以上代碼任何時候都不會輸出,沒有在target內,如果上述代碼改為如下:VAR=";Hello"。 。all。 ; ;echo";$VAR"。 ; ;....。以上代碼,在makeall的時候將會執(zhí)行echo命令。
導讀1、在Makefile中只能在target中調用Shell腳本,其他地方是不能輸出的。比如如下代碼就是沒有任何輸出。VAR=";Hello"。echo";$VAR"。 。all。 ; ;....。以上代碼任何時候都不會輸出,沒有在target內,如果上述代碼改為如下:VAR=";Hello"。 。all。 ; ;echo";$VAR"。 ; ;....。以上代碼,在makeall的時候將會執(zhí)行echo命令。
![](https://img.51dongshi.com/20250105/wz/18528823452.jpg)
系統(tǒng)大全為您提供1、在Makefile中只能在target中調用Shell腳本,其他地方是不能輸出的。比如如下代碼就是沒有任何輸出:VAR="Hello"echo"$VAR"?all:??.....以上代碼任何時候都不會輸出,沒有在target內,如果上述代碼改為如下:VAR="Hello"?all:??echo"$VAR"??.....以上代碼,在makeall的時候將會執(zhí)行echo命令。2、在Makefile中執(zhí)行shell命令,一行創(chuàng)建一個進程來執(zhí)行。這也是為什么很多Makefile中有很多行的末尾都是“;?”,以此來保證代碼是一行而不是多行,這樣Makefile可以在一個進程中執(zhí)行,例如:SUBDIR=all:??@forsubdirin$(SUBDIR);??do????echo"building";??done上述可以看出for循環(huán)中每行都是以”;”結尾的。3、Makefile中所有以$打頭的單詞都會被解釋成Makefile中的變量。如果你需要調用shell中的變量(或者正則表達式中錨定句位$),都需要加兩個$符號($$)。實例如下:PATH="/data/"?all:??echo${PATH}??echo$$PATH例子中的第一個${PATH}引用的是Makefile中的變量,而不是shell中的PATH環(huán)境變量,后者引用的事Shell中的PATH環(huán)境變量。???以上三點的是Makefile調用shell應該注意的地方,寫Makefile一定要注意。以上就是系統(tǒng)大全給大家介紹的如何使的方法都有一定的了解了吧,好了,如果大家還想了解更多的資訊,那就趕緊點擊系統(tǒng)大全官網吧。?本文來自系統(tǒng)大全http:///如需轉載請注明!推薦:win7純凈版
Makefile文件和shell腳本
1、在Makefile中只能在target中調用Shell腳本,其他地方是不能輸出的。比如如下代碼就是沒有任何輸出。VAR=";Hello"。echo";$VAR"。 。all。 ; ;....。以上代碼任何時候都不會輸出,沒有在target內,如果上述代碼改為如下:VAR=";Hello"。 。all。 ; ;echo";$VAR"。 ; ;....。以上代碼,在makeall的時候將會執(zhí)行echo命令。
為你推薦