Thursday, February 11, 2021

Makefile -. 顯式規則

 最重要的是 Makefile 規則,其基本結構如下:

  • 目標 (Target) : 一個目標檔,可以是 Object 檔,也可以是執行檔,還可以是一個標籤。
  • 依賴 (Dependency, Prerequisites) : 要產生目標檔 (target) 所依賴哪些檔。
  • 命令 (Command) : 建立專案時需要執行的 shell 命令。命令部分的每行的縮進必須要使用 Tab 鍵而不能使用多個空格。

#用「井」號表明注釋。
target(要生成的文件): dependencies(被依賴的文件)
#命令前面用的是「tab」而非空格。誤用空格是初學者容易犯的錯誤。
        命令1
        命令2
        命令3
          .
          .
          .
        命令n
#可以使用「\」表示續行。注意,「\」之後不能有空格。

像 clean 這種沒有被第一個目標文件直接或間接關聯,那麼它後面所定義的命令將不會被自動執行,不過我們可以顯式要求 make 執行。即 make clean。

.PHONY 會將目標設成假目標,使 make 目錄下沒有目標檔案或目標檔案為最新時,仍可執行 make <target>。.PHONY 寫法也可以讓程式設計師知道哪些工作目標不是針對檔案,增加可讀性。

Make 預設的假工作目標有 all, install, clean, distclean, TAGS, info 和 check。

一個常用的情況是 make clean,因為 clean 標籤下的 rm 命令並不產生 clean 文件:

.PHONY: clean
clean:
 rm *.o

No comments:

Post a Comment

n8n index

 【n8n免費本地端部署】Windows版|程式安裝x指令大補帖  【一鍵安裝 n8n】圖文教學,獲得無限額度自動化工具&限時免費升級企業版功能