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