makefilec++
make命令:負責c/c++程序編譯與連接shell
makefile 文件格式函數
makefile 語法測試
--基本語法,變量,條件判斷,循環,函數ui
makefile 文件的基本格式spa
target...:prerequisites...對象
[tab鍵] commands繼承
makefile文件的規則進程
target:目標get
prerequisites:先決條件
prerequisites:先決條件
若目標先決條件自己須要重建,則匹配該先決條件的目標,執行其對應的命令
commands:命令
由一行或者多行shell命令組成,命令前有Tab鍵
指示如何建構目標,通常爲生成目標文件
每行命令都在單獨的進程中執行,彼此沒有繼承關係,不能簡單傳遞數據;解決辦法是:用分號將多條命令書寫在單行(此時可用「\」折行),或者爲該條規則添加指示「.ONESHELL:」
僞目標:操做名稱,而不是文件名
clean:
rm -f *.o
執行命令時需指定僞目標:$make clean
若當前目錄下有clean文件,則此規則不會被執行;此時可用「.PHONY:clean」明確指示clean爲僞目標;
make將跳過文件檢查,執行其對應的命令
執行清除任務的僞目標通常放在腳本的最後
僞目標慣例
例子:假設程序主文件爲:main.c,使用library庫
#註釋行
prog:main.o library.o
cc -o prog main.o library.o
main.o: main.c library.h
cc -c main.c
library.o:library.c library.h
cc -c library.c
.PHONY:clean
clean:
rm main.o library.o
接下里:make(生成prog)
make clean