1、wildcard:扩展通配符函数
经常可以看到这样的用法src=$(wildcard *.c),匹配所有.c文件,列表赋值给src
2、patsubst:替换通配符函数
经常可以看到这样用obj=$(patsubst %.c,%.o,$(wildcard *.c)),目的是将.c文件替换.o
接下来我们来演示一下:
在当前目录下新建两个.c文件:a.c和b.c
创建sub目录:
在子目录中再创建c.c和d.c:
然后返回测试目录,vim打开Makefile:
以下为make和make tobj的结果:
makefile中 @echo 和echo的区别是:前者会隐藏命令,后者不会隐藏命令,在上例中也可以看出来