GNU Makefile和bash - 转义

Joe*_*Joe 5 gnu-make

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

target:deps echo"./a.out \"$ @ \""> wrapper.a.out

但是,$ @在GNU Makefile中具有特殊含义,这会让事情变得混乱.

试过$ @,$$ @ ......似乎没什么可行的.

那么,这样做的正确方法是什么?

gee*_*aur 5

echo './a.out "$$@"' >wrapper.a.out
Run Code Online (Sandbox Code Playgroud)

你需要加倍$才能让它过去make.然后在echo命令中使用单引号,以便生成的shell运行echo不会扩展$@自身.