Linux下Makefile檔案常用知識總結
阿新 • • 發佈:2018-12-16
1.Makefile檔案命令的使用
一般有兩種用法
#1
make
#2
make command
第一種用法會自動執行Makefile中的所有指令,第二種用法會執行Makefile中的指定指令。
2.Makefile檔案命令的一般寫法
目標: 依賴項1 依賴項2
(tab)命令1
(tab)命令2
(tab)......
例如:
helloworld: main.cpp
g++ -c main.cpp -o main.o
g++ main.o -o helloworld
clean:
rm -rf main.o
3.Makefile中的變數
OBJS = programA.o programB.o OBJS-ADD = $(OBJS) programC.o OBJS-ADD += programD.o
其中OBJS,OBJS-ADD都表示字串變數,可用'='賦值。
$(變數)表示取得該變數的值。
+=表示對字串變數追加字串操作。
4.Makefile中的自動變數
[email protected] #1指代目標集合
$< #2指代第一個依賴項
$? #3指代比目標新的依賴目標的集合
$^ #4指代所有依賴目標的集合, 會去除重複的依賴目標
$+ #5指代所有依賴目標的集合, 不會去除重複的依賴目標
5.Makefile中常用的函式
一般的函式呼叫語法
$(<function> <arguments>) # 或者 ${<function> <arguments>}
function是函式名,arguments是函式引數。
# Makefile 內容
all:
@echo $(subst t,e,maktfilt) <-- 將t替換為e
# bash 中執行 make
$ make
makefile