在目标的配方中,我想生成一个处理命令行参数的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/