Я пытаюсь получить необязательную зависимость в GNU make. Я пытался использовать $ (подстановочные), но я получаю не-ожидаемый результат:Дополнительная зависимость в make-файле
test.mk:
a:
@echo "a"
b: $(wildcard a)
@echo "b"
@touch a
ожидается выход:
$ make -f ./test.mk b
b
$ make -f ./test.mk b
a
b
фактический выход:
$ make -f ./test.mk b
b
$ make -f ./test.mk b
b
Что мне не хватает в $ (wildcard)?
является 'a' файлом? Подстановочный знак используется для шаблонов, таких как '* .c' правильно? –
Да, «a» - это файл, а $ (подстановочный знак) - это функция GNU make. – mathieu
http://stackoverflow.com/questions/8175653/marking-a-makefile-dependency-as-optional-or-otherwise-unimportant –