跳至主要内容

1 篇文章 含有標籤「Makefile」

檢視所有標籤

Shell 的指揮官:Makefile

· 閱讀時間約 4 分鐘
誠星工作室
Honest Star Studio

在軟體開發與 DevOps 領域,Makefile 是一個被低估但強大的工具。它不僅能自動化編譯流程,還能用於各種 Shell 任務,如測試、部署、甚至系統管理。當你需要組織並執行一連串 Shell 指令時,Makefile 就像一名指揮官,確保任務有條不紊地執行。

Makefile 是什麼?

Makefile 最早由 Unix 系統的 make 指令驅動,主要用途是管理程式碼的編譯。但隨著 DevOps 的興起,Makefile 早已超越原始用途,成為自動化腳本的優秀選擇。

為什麼使用 Makefile?

  1. 簡潔的指令組織:透過 Makefile,我們可以定義一系列可重用的 Shell 指令,避免手動輸入的麻煩。
  2. 增量執行make 具有依賴關係管理的能力,只執行必要的部分,提升效能。
  3. 環境無關性:無論是 macOS、Linux 還是 Windows(透過 WSL 或 MinGW),Makefile 都能運行。
  4. 提升團隊協作:讓團隊成員透過統一的 Makefile 輕鬆執行開發、測試與部署流程。

Makefile 基本語法

Makefile 由「目標(target)」、「依賴(dependencies)」與「指令(commands)」組成,基本格式如下:

目標: 依賴
指令

例如:

build:
echo "開始編譯..."
gcc main.c -o main

執行 make build 會觸發 echogcc 指令。

進階語法