首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

Makefile 入門指南:自動化建構流程的核心規則

     編輯:關於C語言
 

當執行 make 指令時,它會尋找專案目錄下的 Makefile 檔案,根據其中定義的規則決定如何編譯與連結原始碼。一份撰寫良好的 Makefile 能讓建構過程自動化、智能化:僅重新編譯異動過的檔案,大幅節省開發時間。

Makefile 核心規則語法

Makefile 的基本規則結構如下:

target ... : prerequisites ...
    command
    ...
  • target(目標):欲產出的檔案(如 .o 目的檔、執行檔),或是一個標籤(Label,後文將介紹「偽目標」)。
  • prerequisites(依賴):產生 target 所需的檔案或目標。
  • command(命令):make 實際執行的 Shell 指令(需以 Tab 縮排)。

這建立了一種檔案依賴關係:若 prerequisites 中任一檔案比 target 新,command 就會被觸發執行。這正是 Makefile 最核心的運作邏輯。

實務範例:8 個 C 檔與 3 個標頭檔的專案

假設專案包含 8 個 .c 檔與 3 個 .h 檔,我們期望達成:

  1. 首次建構:編譯所有 .c 檔並連結成執行檔。
  2. 修改部分 .c 檔:僅重新編譯異動的 .c 檔,再重新連結。
  3. 修改 .h 檔:重新編譯所有引用該標頭檔的 .c 檔,再重新連結。

只要 Makefile 寫得正確,開發者只需輸入 make,工具即可自動判斷哪些檔案需重編譯,完成增量建構。

進階觀念預告

後續章節將深入探變數、模式規則、偽目標(如 clean、install)、自動變數($@、$<、$^)等進階技巧,助你撰寫更彈性、可維護的建構腳本。

 
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved