Посібник зі стилю Makefile Кларка Грубба рекомендує:
- Усі фальшиві цілі повинні бути оголошені, зробивши їх передумовами .PHONY.
- додайте кожну брехливу ціль як умову.
- Жодні цільові файли не повинні бути передумовами .PHONY.
- фальшиві цілі не повинні бути передумовами файлових цілей.
Для вашого прикладу це означатиме:
.PHONY: all
all:
echo "Executing all ..."
.PHONY: of
of:
echo "Executing of ..."
.PHONY: my
my:
echo "Executing my ..."
.PHONY: rules
rules:
echo "Executing rules ..."
PHONYДозволено декілька цілей; див. також запитання щодо переповнення стека: "Чи можливо мати кілька цілей .PHONY у файлі gnu makefile?"
Крім того, хоча це не вказано безпосередньо у вашому запитанні, слід бути обережним, щоб PHONYу вашому проекті не було цілі з тим самим іменем фактичних вхідних або проміжних файлів. Наприклад, якщо ваш проект гіпотетично мав файл вихідного коду з назвою rules(без суфіксу), включення цього рядка в PHONYціль може порушити очікувану makeповедінку.