Makefile学习积累
SRC = $(wildcard *.c)
获取目录下所有.c文件保存在SRC中
OBJ = $(patsubst %.c, %.o, $(SRC))
将SRC中所有.c替换为.o保存在OBJ中
%.o:%.cpp
$(CC) $(STD) $(CFLAGS) -c $< -o $@
$@:目标变量
$<:第一个依赖
$^所有依赖
$(MAKEFILE_LIST) //当前mikefile文件的名字,一般就是Makefile
$(lastword 1.txt 2.txt) //求最后一个元素,就是2.txt
$(subst from, to, text)//将text中的from替换为to
$(patsubst from, to, text)//正则替换
$(findstring find, in) //再in中查找find string如果找到返回find字符串否则为空
$(filter pattern,text) //保留text中符合pattern的字符
$(filter %.c %.s, 1.s 2.c 3.h)//结果是1.s 2.c
打印
$(info info text)、$(warning warning text)或者$(error error text)
if使用:
ifeq(必须有空格)XXXX(var1,(不能有空格)var2)
else
#endif
ifneq(必须有空格)XXXX(var1,(不能有空格)var2)
else
#endif

浙公网安备 33010602011771号