linux makefile如何执行shell命令,从makefile执行复杂的shell命令

我有以下命令行在Linux命令提示符下工作:

vi /tmp/test.txt -s

它创建一个包含以下vim命令的临时文件(使用Process Substitution):

:1 s/^\/\/ VERSION: .*$/\/\/ VERSION: $(date)/g

它打开文件/tmp/test.txt进行编辑,并从先前创建的临时文件中执行命令.它找到第1行并用当前时间戳替换该行.看起来有点像这样:

// VERSION: Fri Apr 12 21:20:03 CEST 2013

...

...

接下来我可以进行任何所需的编辑,只有当我决定保存文件时,所有更改都将提交到磁盘.首先更改磁盘上的文件,然后启动编辑器不是一个选项,因为文件将具有不同的时间戳,而内容本身不会更改.

到目前为止,它按设计/预期工作.

现在我正在尝试将此vi命令行移动到make文件中,这就是我失败的地方.我尝试了一个$(shell .....)结构,但是make会给我带来错误.

edit:

$(shell vi $(src).cpp -s

我正在试图弄清楚Makefile中的行应如何阅读摆弄额外的引号和括号,但我还没有解决它.

我正在运行Ubuntu Linux 12.10和GNU Make 3.81

vi project.cpp -s

Make似乎不喜欢"过程替代"结构

€ make edit

vi project.cpp -s

/bin/sh: 1: Syntax error: "(" unexpected

make: *** [edit] Error 2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值