Linux下的Makefile是一個用于自動化編譯和鏈接C/C++等程序的工具
規則(Rule):Makefile中的規則定義了如何生成一個或多個目標文件。每個規則包含三個部分:目標(Target)、依賴(Dependencies)和命令(Commands)。
格式:
目標: 依賴
命令
變量(Variable):Makefile中可以使用變量來存儲一些常用的值,例如編譯器、編譯選項等。變量的定義和引用如下:
定義變量:
變量名 = 值
引用變量:
$(變量名)
模式規則(Pattern Rule):模式規則是一種簡化規則書寫的方法,它可以將相同的命令應用于多個目標。模式規則的格式如下:
%目標類型: %依賴類型
命令
自動變量(Automatic Variable):Makefile提供了一些自動變量,它們在規則中可以被自動替換為相應的值。常用的自動變量有:
注釋(Comment):Makefile中的注釋以井號(#)開頭,直到行尾。
包含其他Makefile(Include):可以使用include
指令將其他Makefile文件包含到當前Makefile中。
include 文件名
條件語句(Conditional Statement):Makefile支持條件語句,可以根據不同的條件執行不同的操作。常用的條件語句有:
條件語句的格式如下:
ifeq (條件1, 條件2)
操作1
else
操作2
endif
這些是Makefile的基本語法,更多高級功能可以參考GNU Make的官方文檔。