Makefile无法正确运行命令

时间:2018-02-09 17:33:47

标签: makefile sh

当我在sh中执行以下命令时,它按预期工作:

    sed -i "s/^\\(const SIZE int = \\).*\$/\\1`du -bs myfile.exe | sed 's/[[:blank:]].*//'`"/g myfile.go

但是当我在Makefile中运行它时,我得到了这个:

sed -i "s/^\\(const SIZE int = \\).*\\\1`du -bs myfile.exe | sed 's/[[:blank:]].*//'`"/g myfile.go
sed: -e expression #1, char 38: unterminated `s' command

看起来make正在改变Makefile中的命令。关于如何正确运行命令的想法如何?

1 个答案:

答案 0 :(得分:1)

找到解决方案here:显然让 需要转义一些内容。 $之后的const SIZE int = \\).*\需要转义才能生成不想进行自己的变量替换。

使用\$$转义它。