Makefile

一、常用基本符號

符號 含義
$@ 目標文件
$^ 所有依賴文件
$< 第一個依賴文件
  $? 更新過的依賴文件
$() 獲取Makefile中定義的變量的值
% 通配符,當前Makefile中的所有xxx,如:%.c表示所有.c文件
.phony
clean 僞目標:可以使用make clean執行該目標後面的語句
=
:=
+= 追加賦值
?=

1.1 實例1:$@ 和 $^

test.o : test.c test.h head.h
    gcc -o $@ $^
其中:
$@:表示test.o
$^:表示test.c test.h head.h這三個文件

1.2 實例2:$<

test.o : test.c
    gcc -o $@ $<
其中
$@:同上
$<:表示test.c

1.3 實例3:%

all: test1.o test2.o

%.o : %.c
    gcc -o $@ $<
其中:
注意1、Makefile規則是找第一個沒有通配符的規則,也就是會找到all,發現有兩個依賴,
注意2、那麼看到這個%,就會在all那個規則中查找依賴文件,並逐次匹配,一次匹配一個,如:
(1)第一次匹配到test1.o,則%就表示test1,那麼對應%.c就是test1.c
(2)第二次匹配到test2.o,則%就表示test2,那麼對應%.c就是test2.c
(3)逐次匹配,直到匹配完最後一個依賴文件爲止
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章