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)逐次匹配,直到匹配完最后一个依赖文件为止
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章