1. 程式人生 > >Linux下Makefile檔案常用知識總結

Linux下Makefile檔案常用知識總結

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