Я только начинаю по-настоящему впадать во внутреннюю работу make.Тем не менее, я не понимаю, почему следующее не работает:
test%: test%.foo
@echo $@
@echo $<
all: test1 test2
.PHONY: all test1 test2
Ожидаемое поведение:
$ make
test1
test1.foo
test2
test2.foo
# 1,2 Order not important
Однако я получаю:
$ make
make: Nothing to be done for `all'.
("make all "," make test1 "и т. д. без разницы).
Может кто-нибудь объяснить, почему не выполняются правила теста PHONY?