У меня есть строка в моей Makefile, что о чем-то вроде этого:Makefile не расширяется glob из-за zsh?
prog /something/f.{one,two,three}
, но запустив файл грим, я получаю от прог что
/something/f.{one,two,three}
не существует. Что заставляет меня поверить, что make не расширяет шар. Обычно это работало бы для меня в Bash, но теперь я запускаю zshell, поэтому я думаю, что это проблема. Кто-нибудь знает, как указать этот шаблон портативно?
Помимо приведенных ниже ответов, отмечают, что делают _always_ работает/bin/sh, когда он вызывает оболочку. Он не запускает какую-либо оболочку, которую пользователь предпочитает (представьте, какой будет переносимость катастрофы!) Расширение Curly-brace не является частью стандарта POSIX для sh, поэтому/bin/sh часто не поддерживает его. – MadScientist
Вы можете установить 'SHELL''/bin/zsh' в свой файл Makefile, но это приводит к катастрофе переноса, упомянутой @MadScientist (если у кого-то, использующего ваш Makefile, нет '/ bin/zsh', Makefile выиграл ' t работа для них). – chepner