之前学过一些Makefile,但是长时间不看,里面的符号又不少,慢慢就忘记了,这次在看Makefile文件,就顺带整理一些常用的符号,以后查询起来也方便。
**$@**表示目标
**$^**表示所有的依赖
**$<**表示第一个依赖
:= 即时赋值
?= 延时赋值
+= 附加
例如:
CC = gcc #延时变量赋值,当用到CC的时候再给它赋gcc值
CUR = -O0 -g -Wall
main: main.c test.c
可表示为:$(CC) $(CUR) -o $@ $^
即:gcc -O0 -g -Wall main main.c test.c
%.o : %.c
gcc -c -o $@ $<
#只有一个依赖
A:=abc#即时定义变量,在定义时就确定了A=abc
B=ABCD
B?=1234#因为在上一行已经定义过B的值了,所以可以忽略此处B的定义,即B=ABCD;如果上边没有定义B的值,此处是第一次定义B的话,则B=1234