在目标的配方中,我想生成一个处理命令行参数的bash脚本...但是,转义的Makefile使我逃脱了

目标:部门
echo“./a.out\” $ @\“”> wrapper.a.out

但是,$ @在GNU Makefile中有特殊含义,它会使事情变得困惑。

尝试了$ @,$$ @ ...似乎没有任何作用。

那么,什么是正确的方法呢?

最佳答案

echo './a.out "$$@"' >wrapper.a.out

您需要将$加倍以使其超过make。然后在echo命令中使用单引号,以使生成的 shell 程序运行echo不会扩展$@本身。

关于gnu-make - GNU Makefile和bash-转义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6755438/

10-13 07:21