0

我在 Makefile 中使用具有静态模式规则的自动变量,但我对带括号的文件名有疑问。括号没有为 shell 正确转义,我从 shell 收到语法错误:

/bin/sh: -c: line 0: syntax error near unexpected token `('

有没有办法make自动转义文件名中的“坏”字符?我尝试过使用括号,例如$(<)and $(@),但似乎没有什么区别。

4

1 回答 1

1

当你将它们传递给shell时,你可以在自动变量周围加上一些单引号吗?所以,而不是$<,尝试'$<'。如果您必须使用等同于多个文件名的东西来执行此操作,例如,$+那么您可以使用$(patsubst %,'%',$+)

于 2016-05-10T23:46:44.847 回答