当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 6 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 写makefile遇到的问题
帖子发表于 : 2018-05-06 11:27 

注册: 2018-05-06 11:14
帖子: 2
送出感谢: 1
接收感谢: 0 次
代码:
all : main.o func.o                                                                                 
        gcc main.o func.o                                                                           
main.o : main.c                                                                                     
        gcc -c main.c                                                                               
func.o : func.c                                                                                     
        gcc -c func.c                                                                               
clean :                                                                                             
        rm `ls | grep -v ^main.c$ | grep -v ^func.c$ | grep -v ^makefile$ | grep -v ^jack.h$ `                                                                                                         

写clean 为了删除 除了 main.c func.c jack.h makefile这四个文件之外的文件
在执行 make clean时 为啥无法删除 像 main.c~ func.c~ 这样的文件???
难道 $ 没有匹配行尾? 而是当作对变量的引用了?


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 写makefile遇到的问题
帖子发表于 : 2018-05-06 14:45 
头像

注册: 2014-05-03 22:44
帖子: 47
系统: Ubuntu 16.04
送出感谢: 4
接收感谢: 0 次
我怀疑是管道的用法用错了。
您clean目标下面执行的动作是
ls | grep |grep | grep
就相当与是把ls的结果,过滤掉main.c,再过滤了func.c,再过滤了makefile,再过滤jack.h

上面只是我的一面之辞,您可以执行一下脚本里用反引号包含的部分看看是不是您想删除的内容。


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 写makefile遇到的问题
帖子发表于 : 2018-05-06 15:15 

注册: 2018-05-06 11:14
帖子: 2
送出感谢: 1
接收感谢: 0 次
imxys 写道:
我怀疑是管道的用法用错了。
您clean目标下面执行的动作是
ls | grep |grep | grep
就相当与是把ls的结果,过滤掉main.c,再过滤了func.c,再过滤了makefile,再过滤jack.h

上面只是我的一面之辞,您可以执行一下脚本里用反引号包含的部分看看是不是您想删除的内容。



感谢回复。。没太听懂。。我就是要过滤掉那几个文件呀。。。main.c那几个。。。。除了那几个,删除其他的所有文件


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 写makefile遇到的问题
帖子发表于 : 2018-05-06 23:51 
头像

注册: 2011-02-16 1:17
帖子: 372
送出感谢: 0 次
接收感谢: 6
grep加上-E?


_________________
My blog : OOXX


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 写makefile遇到的问题
帖子发表于 : 2018-05-07 11:07 
头像

注册: 2008-09-18 13:11
帖子: 2951
送出感谢: 1
接收感谢: 495
把$换成$$。
另外别这么写clean规则。明确指定你要删除的文件名,而不是排除部分后全删。比如 rm -f *.o *~



_________________
评价: 3.7% dede666
 
页首
 用户资料  
 
6 楼 
 文章标题 : Re: 写makefile遇到的问题
帖子发表于 : 2018-05-08 15:19 
头像

注册: 2016-09-15 9:30
帖子: 20
地址: 浙江省杭州市
送出感谢: 1
接收感谢: 0 次
解决了吗?
感觉没问题啊,imxys 指的是先输出看看对不对,对的就得在别的方面找问题了。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 6 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译