搜索
bottom↓
回复: 6

makefile生成.d文件的指令问题

[复制链接]

出0入0汤圆

发表于 2013-2-27 19:14:07 | 显示全部楼层 |阅读模式
%.d: %.c
        set -e; $(CC) -M $(CPPFLAGS) $< \
                          | sed -e 's/\($*\)\.o[ :]*/\1.o $@ : /g' > $@; \
                        [ -s $@ ] || rm -f $@
这个指令怎么解读啊。d文件我想应该是当.h文件改变时,重新编译对应的.c文件吧,可这指令一直没看懂

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

 楼主| 发表于 2013-2-27 20:33:54 | 显示全部楼层
使用set命令可以设置各种shell选项或者列出shell变量,-e:如果命令带非零值返回,立即退出.
sed可删除(delete)、改变(change)、添加(append)、插入(insert)、合、交换文件中的资料行.
可我还是无法完整的解读这条指令啊,makefile可真是千般万化

出0入0汤圆

 楼主| 发表于 2013-2-27 21:16:10 | 显示全部楼层
这个指令已经困扰我很久了,谁能解答一下啊

出0入0汤圆

 楼主| 发表于 2013-2-28 09:20:10 | 显示全部楼层
难道无人知晓吗,makefile用的太少

出0入0汤圆

 楼主| 发表于 2013-2-28 16:43:12 | 显示全部楼层
求解,makefile的指令太复杂,难道这堆乱七八糟的东西就无法解读,望高手解答。

出0入0汤圆

发表于 2016-5-5 14:10:58 | 显示全部楼层
楼主这么多年过去了,能不能解释一下呢,最近也学这个,把这段语句拷贝进makefile,然后修改h文件时,执行make并没有重新编译c文件,求教( ⊙ o ⊙ )!

出0入0汤圆

发表于 2016-5-5 14:14:21 | 显示全部楼层
xiaowenshao 发表于 2016-5-5 14:10
楼主这么多年过去了,能不能解释一下呢,最近也学这个,把这段语句拷贝进makefile,然后修改h文件时,执行m ...

用CMake吧,Makefile的语法实在是……
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-28 00:31

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表