當執行 make 指令時,它會尋找專案目錄下的 Makefile 檔案,根據其中定義的規則決定如何編譯與連結原始碼。一份撰寫良好的 Makefile 能讓建構過程自動化、智能化:僅重新編譯異動過的檔案,大幅節省開發時間。
Makefile 的基本規則結構如下:
target ... : prerequisites ...
command
...
這建立了一種檔案依賴關係:若 prerequisites 中任一檔案比 target 新,command 就會被觸發執行。這正是 Makefile 最核心的運作邏輯。
假設專案包含 8 個 .c 檔與 3 個 .h 檔,我們期望達成:
只要 Makefile 寫得正確,開發者只需輸入 make,工具即可自動判斷哪些檔案需重編譯,完成增量建構。
後續章節將深入探變數、模式規則、偽目標(如 clean、install)、自動變數($@、$<、$^)等進階技巧,助你撰寫更彈性、可維護的建構腳本。