轉一篇博文
makefile**段1:
var=3
target: prerequsite1 prerequsite2
echo $var#(1)
var=4#(2)
echo $var#(3)
echo $$var#(4)
(1):在**段1中,(1)的結果是3,顯然makefile利用自己的變數將$var擴充套件成3之後傳遞給這個echo這個shell命令,shell執行的命令是echo 3
(4):makefile將$$var先執行一次擴充套件得到如下shell命令:
echo $var
然後交給shell去解釋執行,可是對於這個shell命令來說var是乙個未定義的變數,因此輸出的結果就是個空行,也就是說var是在訪問乙個shell命令內定義的變數,而非makefile的變數
Makefile中變數的使用
表示所有的目標檔案。表示規則中的目標成員名。例如,如果乙個目標是 foo.a bar.o 那麼,就是 foo.a 如果目標不是函式庫檔案 unix下是 a windows下是 lib 其值為空。依賴目標 中的第一 個目標名 字。如果 依賴目標 是以模式 即 將是符合模式的一系列的檔案集。注意,其是乙...
Linux中Makefile的使用
我也是初學linux,對linux中的編譯產生的一定的厭煩,正巧遇到了makefile。一 makefile的引入 我們現在已有main.c,mymath.c,mymath.h三個檔案,想要此程式能正常執行就需要輸入以下命令進行編譯連線。但是當檔案多了之後就可能需要多個檔名,會產生極大的麻煩。有了m...
linux中的makefile使用
在 linux unix 環境下使用gnu 的make工具能夠比較容易的構建乙個屬於你自己的工程,整個工程的編譯只需要乙個命令就可以完成編譯 連線以至於最後的執行。不過這需要我們投入一些時間去完成乙個或者多個稱之為makefile 檔案的編寫。所寫的makefile 檔案描述了整個工程的編譯 連線等...