Makefile三要素:
目标、依赖、命令
详解可见makefile 编写_周北-CSDN博客_makefile 编写
Makefile中常用函数和自动化变量:
wildcard-扩展通配符
例:OBJECTS=$(wildcard *.o)
该找到目标文件下的所有后缀为.c的文件名并将它们全都赋给OBJECT(即,OBJECT是.o文件的集合,并且这个函数中的OBJECTS是个任意命名的变量,但是$(wildcard .o)是这个实现找出.o文件的Makefile函数),要注意的是在wildcard和.o之间是是通过空格隔开的)。
patsubst-替换通配符
obj=$(patsubst %, $(LIBPATH)/%/$(LIB_TYPE), $(LINKDIRS))
该函数的功能是在LINKDIRS(第三个参数的集合)中取出各个单元(库所在目录名), 将所有包含第一个参数的部分替换成第二个参数的部分。要注意的是在这个函数中patsubst 和%之间是没有逗号将它们两个隔开的,它们两个之间只有空格,%, $(LIBPATH)/%/$(LIB_TYPE), $(LINKDIRS)之间则使用逗号隔开。
foreach-循环函数
也可使用类似于Shell的for循环语句:
for name in $(FILES); do \
echo "$$name"; \
done
注意, 在makefile中的shell变量要用2个$