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

 

posted @ 2020-01-21 09:44  vkang  阅读(65)  评论(0)    收藏  举报