1:[liuwx@linux-81 rec]$ ls
1 1.c 2.c core.9015 makefile profile
2:[XX@linux-81 rec]$ cat makefile
clear:
ls $(patsubst %.c,%.o,$(wildcard *.c))
3:[liuwx@linux-81 rec]$ make
ls
ls 1.o 2.o ------(这里就是将.c转换成.o了)
ls: 无法访问1.o: 没有那个文件或目录
ls: 无法访问2.o: 没有那个文件或目录
make: *** [clear] 错误 2 ----(报错是因为根本没有这个文件)
结论:
这行将处理所有在 $(wildcard *.c) 字列中的字(一列文件名),如果它的 结尾是 '.c' ,就用 '.o' 把 '.c' 取代。注意这里的 % 符号将匹 配一个或多个字符,而它每次所匹配的字串叫做一个‘柄’(stem) 。 在第二个参数里, % 被解读成用第一参数所匹配的那个柄。
阅读(1804) | 评论(0) | 转发(0) |