Я просто не могу понять, как получить это желаемое поведение внутри Makefile:использование оболочки найти в Makefile для комков
1) использование находит расширить поиск Глоба в /path/match/1
, /path/match/2
и т.д ..
2) установить этот путь в переменную Make
Возможно, кто-то может прочитать мой разум и интерпретировать эту (неправильную) попытку в законную команду Make?
Makefile DIRS := $(shell find ./web/{$$(FEATS)}/tests -name "*-spec.js")
и выполнить/потреблять этот Makefile, я обеспечить FEATS
как экспорт.
export FEATS=feature-a,feature-b make run-some-target
справа. Расширение переменной make является либо '$ (VAR)', либо '$ {VAR}'. Расширение переменной оболочки внутри команды make recipe/'$ (shell)' '' $$ var' или '$$ {var}'. –
Ах да, я хотел иметь && между экспортом и сделать. Однако при этом удалении $ я получаю 'find: './web/{some-feature}/tests': нет такого файла или каталога' с' export FEATS = some-feature', и на самом деле есть ./web/some-feature/tests каталог? – Clev3r
@Clever В оболочке должно быть не менее 1 запятой, чтобы оболочка могла расширять фигурные скобки, поэтому '{a}' остается '{a}', тогда как '{a, b}' становится 'a' и' b'. – meuh