我在Makefile中使用带有静态模式规则的自动变量,但是我遇到了带括号的文件名的问题。对于shell,括号没有正确转义,我从shell中得到语法错误:
/bin/sh: -c: line 0: syntax error near unexpected token `('
有没有办法让make
自动转义文件名中的“坏”字符?我尝试使用括号,例如$(<)
和$(@)
,但似乎没有任何区别。
答案 0 :(得分:1)
当你将它们传递给shell时,你能在自动变量周围放一些单引号吗?因此,请尝试$<
,而不是'$<'
。如果你必须用相当于一个文件名的东西来做这件事,例如$+
然后您可以使用$(patsubst %,'%',$+)