Chinaunix首页 | 论坛 | 博客
  • 博客访问: 167427
  • 博文数量: 66
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 20
  • 用 户 组: 普通用户
  • 注册时间: 2016-06-23 15:21
文章分类

全部博文(66)

文章存档

2016年(66)

我的朋友

分类: LINUX

2016-05-12 19:10:22

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) 。 在第二个参数里, % 被解读成用第一参数所匹配的那个柄。

阅读(1795) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~