企业级Makefile编写:
1,总控Makefile:进入各个功能子目录执行make命令,并将所有.o文件生成可执行文件
2,功能目录Makefile:将功能目录下的所有.c文件编译成.o文件
3,脚本目录Makefile:定义其他Makefile文件所用到的变量
$(addsuffix .c,x y)
result :=$(addsuffix .c x y)
result = x.c y.c
阅读Makefile顺序:3, 1,2
1,(wildcard+空格 模式参数)
eg:result: =$(wildcard *.c)
result当前目录下所有.c文件(就是列出)
$(patsubst 模式参数,参数1,参数2)
eg:result:$(patsubst %.c,%.o, x.c,y.c)
$(patsubst 模式参数,参数1,参数2)
eg:result:$(patsubst %.c,%.o x.c , y.c)
result: x.o y.o
3,:=
a1:a.o
a2:=$(a1)b.o
a1 = a.o a2 =a.o b.o
a1:=$(a2) b.o
a2:=a.o
a1 =b.o a2 = a.o
4, +=
a1 =a.o
a1 +=b.o
a1 =a.o b.o
a1 =a.o
a1 :=$(a1) b.o
a1 =a.o b.o