1.wildcard : 扩展通配符 notdir : 去除路径 patsubst :替换通配符
举例:有文件 /a.c /b.c /home/a.c /home/b.c /home/k.o
src=$(wildcard *.c ./home/*.c)
file=$(notdir $(src))
obj=$(patsubst %.c,%.o,$(src) )
src= a.c b.c /home/a.c /home/b.c
file= a.c b.c a.c b.c
obj= a.o b.o /home/a.o /home/b.o
2.find 目录 -name 文件 查找目录下 文件具体位置 绝对位置
3.dirname 获取对应的目录 basename 去掉文件名的目录和后缀(好像是linux的不是Makefile)
举例: dirname /etc/init.d/rcS => /etc/init.d
dirname /etc/init.d =>/etc
basename /home/abc.k/a.c => a
basename /home/abc.k/ =>abc.k
$(dir /etc/init.d/rcS ) => /etc/init.d
$(dirname /etc/init.d/rcS ) => ""
4. lastword firstword 如字面意思 分别为取最后一个单词和第一个单词
5.make -C $(aaa) M=$(bbb)
-C表示跳转到aaa下的读取下面的Makefile
M= 表明执行后跳转到bbb目录下