Общее (не файловое) сопоставление с образцом в Makefile - PullRequest
1 голос
/ 09 июля 2010

Возможно ли иметь подстановочные знаки для имен без имен, например:

build-%: pull-% build-%.stamp
pull-%:
  cd $* ; git log HEAD..origin/master | grep -q . && ( git pull ; $(RM) ../build-$*.stamp ) || true
build-%.stamp:
  cd $* ; ant
  touch $@

Идея состоит в том, чтобы вызвать make build-foo, который будет вызывать сборку только при появлении новых изменений в восходящем потоке (которые извлекаются).

Однако сопоставление %-паттерна применимо только к именам файлов, даже при определении расширенной формы ("build-foo") в .PHONY.

Нужно ли использовать шаблоны, как в Правило общего шаблона Makefile - xyzzy-en_US.ext2 из xyzzy.ext0 ?

1 Ответ

2 голосов
/ 10 июля 2010

Ах! Поставьте точку с запятой после правила build-%.

(я не заметил этой проблемы, потому что я ввел команду в правило: @echo $@.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...