前言
c源文件想要最終生成成可執行文件首需要用gcc生成中間目標文件,再由目標文件生成可執行文件。make可以執行gcc的這些命令來生成所需目標,而makefile就是告訴make按照什麼樣的規則來生成這些目標。
makefile基本語法
makefile文件設計時一般採用從上而下的結構,所以默認將最上面的目標作爲最終目標。
- target稱作目標,可以出現一個或者多個
- prerequisite稱作依賴,可以出現零個或者多個
- command稱作命令,必須以[Tab]鍵開頭,make通過這個識別這是一個shell命令送給shell執行。
- #是註釋字符,表示後面的都是註釋
執行make 目標後,當依賴比目標時間戳新時就會執行command來更新目標,當目標沒有依賴時則command每次都會執行。
來個簡單的makefile
在目錄下新建個名字爲makefile
的文件,寫入如下代碼
在同級目錄下執行make
,也可以執行make all
,結果如下
- all就是目標,這裏其實也是最終目標
- 依賴這裏沒有
- 命令是丟給shell執行,這裏echo前面有個@符號,表示執行這條命令的時候不會打印,去掉的話就會打印這條shell命令