1)自動生成target資料夾存放可執行檔案
2)自動生成objs資料夾存放編譯生成的目標檔案(* .o)
3)支援除錯版本的編譯選項
4)考慮**的擴充套件性
$(wildcard_parrern):獲取當前工作目錄中滿足_pattern的檔案或目錄列表
$(addprefix _prefix, _names):給名字列表_names中的每乙個名字增加字首_prefix
自動獲取當前目錄下的原始檔列表(函式呼叫):srcs := $(wildcard *.c)根據原始檔列表生成目標檔案列表(變數的值替換):objs := $(srcs:.c=.o)對每乙個目標檔案列表加上路徑字首(函式呼叫):objs := $(addprefix path/, $(objs))
### 5. 編譯規則的依賴
makefile專題 變數的高階主題(上)
cc gcc target hello.out objs func.o main.o const.o target objs cc o objs o c cc o c phony clean rebuild all rebuild clean all all target clean rm o ta...
makefile 變數與 函式的綜合示例
srcs wildcard c objs srcs c o objs addprefix path objs 本質 匹配當前目錄下的檔案,然後根據模式將當前目錄下的檔案進行特定替換前提 工作目錄中存在func.c main.c 說明 o c gcc o c 與變數的值替換的區別 變數值替換是從給定的...
makefile 變數與函式的綜合示例
srcs wildcard c 複製 objs srcs c o 複製 objs addprefix path objs 複製 本質 匹配當前目錄下的檔案,然後根據模式將當前目錄下的檔案進行特定替換前提 工作目錄中存在func.c main.c 說明 o c gcc o c 複製 與變數的值替換的區...