Clark Grubb'un Makefile stil rehberi şunları önerir:
- Tüm sahte hedefler .PHONY'nin önkoşulları haline getirilerek açıklanmalıdır.
- her sahte hedefi, tüm sahte hedefleri tek bir yerde listelemek yerine, hedef bildirimden hemen önce .PHONY önkoşulu olarak ekleyin.
- Hiçbir dosya hedefi .PHONY için önkoşul olmamalıdır.
- sahte hedefler, dosya hedeflerinin önkoşulu olmamalıdır.
Örneğin, bu şu anlama gelir:
.PHONY: all
all:
echo "Executing all ..."
.PHONY: of
of:
echo "Executing of ..."
.PHONY: my
my:
echo "Executing my ..."
.PHONY: rules
rules:
echo "Executing rules ..."
Birden çok PHONY
hedefe izin verilir; ayrıca şu Yığın Taşması sorusuna da bakın: "Bir gnu makefile içinde birden çok .PHONY hedefi olabilir mi?"
Ayrıca, bu doğrudan sorunuzda belirtilmemiş olsa PHONY
da, projenizde gerçek bir girdi veya ara dosyaların adıyla aynı hedefe sahip olmamasına dikkat edilmelidir . Örneğin, projeniz varsayımsal olarak rules
(sonek olmadan) adlı bir kaynak kodu dosyasına sahipse , bu dizenin bir PHONY
hedefe dahil edilmesi beklenen make
davranışı bozabilir .