Укажите все цели Makefile как .PHONY с подстановочными знаками - PullRequest
0 голосов
/ 03 мая 2018

Все цели в моем Makefile не являются реальными файлами, допустимо указывать только .PHONY: %. Или я должен перечислить все цели?

1 Ответ

0 голосов
/ 03 мая 2018

Вы должны перечислить все цели, которые должны быть поддельными, в качестве предпосылок для цели .PHONY вместо того, чтобы просто писать .PHONY: %.


.PHONY: % не делает то, что вы думаете (т.е. превращает каждую цель в фальшивую цель ).

В качестве примера рассмотрим следующий make-файл:

.PHONY: %

foo:
    @echo creating $@
    @touch $@

Для этого make-файла выше:

$ make
creating foo
$ make
make: 'foo' is up to date.

Следовательно, цель foo не превращается в фальшивую цель, если в вашем make-файле есть .PHONY: %. В противном случае рецепт foo был бы выполнен, поскольку фальшивые цели всегда устарели.

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