2016-03-29 34 views
0

我在Makefile中使用靜態模式規則的自動變量,但是我有一個帶圓括號的文件名問題。括號是沒有正確轉義爲外殼,並且我從shell出現語法錯誤:Makefile自動變量不能轉義文件名中的字符

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

有沒有辦法讓make自動逃跑的文件名「壞」字?我曾嘗試使用圓括號,例如$(<)$(@),但它似乎沒有區別。

回答

1

當你將它們傳遞給shell時,你可以在自動變量的周圍添加一些單引號嗎?因此,而不是$<,請嘗試'$<'。如果您必須使用等於多個單一文件名的內容來完成此操作,例如$+然後你可以使用$(patsubst %,'%',$+)