2016-03-29 4 views
0

Я использую автоматические переменные со статическими правилами шаблона в Makefile, но у меня есть проблема с именами файлов с круглыми скобками. Скобки не экранированы для оболочки, и я получаю ошибку синтаксиса из оболочки:Автоматические переменные Makefile, не ускоряющие символы в именах файлов

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

Есть ли способ, чтобы получить make автоматически избежать «плохих» персонажей в именах файлов? Я попытался использовать круглые скобки, такие как $(<) и $(@), но, похоже, это не имеет значения.

ответ

1

Можете ли вы просто поместить некоторые отдельные кавычки вокруг автоматических переменных, когда вы передаете их в оболочку? Итак, вместо $< попробуйте '$<'. Если вам нужно сделать это с чем-то, что соответствует более чем одному имени файла, например. $+ затем вы можете использовать $(patsubst %,'%',$+)