请问一下makefile 中的sed怎么用

weixin_38112544 weixin_38112544 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

我在makefile中用了这样几句
${DEPS} : %.d : %.c
               rm -f  $@
               ${CC} -MM $^ >; $@.temp
               sed 's,\($*\)\.o[ :],\1\.o $@ :,g' $@.temp >;$@
               rm -f $@.temp

原句的意思就是将%.d中的内容例如
main.o : main.c
替换成 main.o main.d : main.c 然后保存进%.d 文件中
但我想在这句后面在加一个
          ${CC} ${CCFLAGS} $^
但怎么加都出错了
我这样加的 在sed一句后边加了一句
          sed '2a \              ${CC}${CCFLAGS} $^' >; $@
然后make  ,虽然不抱错但一直让我输入内容
〉
〉
我测试了一下sed的用法在第一个sed后边直接加了一句
          sed 's,o,g,g' $@.temp
然后就出现这样的错误
sed .-e ... #1... 5.unterminated 's' command
这是怎么回事,
而且 在sed中用来表示最后一行的‘$’也被makefile的自动变量干扰了
到底怎么在makefile 中使用sed 啊, 麻烦各位帮我看看
...全文
评论 1
收藏 已收藏
分享
返回顶部