makefile语法

通配符:%.o
上节课示例
test:a.o b.o
gcc -o test a.o b.o
a.o:a.c
gcc -c -o a.o a.c
b.o:b.c
gcc -c -o b.o b.c
使用通配符后
test:a.o b.o
gcc -o test a.o b.o
%.o:%.c
gcc -c -o $@ $<
$@ 表示目标
$< 表示第一个依赖文件
$^ 表示所有依赖文件
----------------------------------------------------------
假想目标:.PHONY
test:a.o b.o
gcc -o test a.o b.o
%.o:%.c
gcc -c -o $@ $<
clean:
rm *.o test
.PHONY: clean
make [目标]
若无目标,默认第一个目标
----------------------------------------------------------
即时变量、延时变量,export
简单变量(即时变量)
A := 1 := 表示A的值在定义时即确定
B = C = 表示B在使用到时才确定,在使用变量时才确定,不论C变量在在B前还是在B后;假如C被多次赋值,以最后一次为准
?= 延时变量,第一次定义时才起效,如果前面该变量已定义则忽略这句
+= 表示附加,它是即时变量还是延时变量取决于前面的定义
----------------------------------------------------------

 

上一篇:makefile示例


下一篇:[转】Makefile教程:Makefile文件编写1天入门