makefile的好處:一次編寫,終身受益
makefile的命名規則 makefile 或者 Makefile
makefile的三要素:
1.目標
2.依賴
3.規則命令
MAKE 這個項目
編寫makefile文件
第一版makefile
寫法:
目標:依賴
tal鍵:規則命令
app:main.c add.c sub.c div.c mul.c
gcc -o app -I ./include main.c add.c sub.c div.c mul.c
保存之後執行make命令
如果更改其中一個文件,那麼所有的源碼都得重新編譯, 可以考慮過程分解.
第二版makefile
makefile裏面還可以定義變量
makefile的隱含規則:默認處理第一個目標
第三版makefile
函數:
wildcard 可以進行文件匹配
patsubst 內容的替換
變量 $@ $< 這樣的變量,只能在規則中出現
$@ 代表目標
$^ 代表全部依賴
$< 第一個依賴
$? 第一個變化的依賴
測試一下效果
第四版
增加清理能力
最好加上參數防止報錯 ==== 強制刪除
如果不想看到命令 那麼前面加上 @, 如果讓指定報錯了繼續執行,可以加 -
如果當前目錄下也有一個clean
那麼再執行make clean 就會有問題 – 會出現歧義
解決措施
缺陷: app 生成了兩遍