Panduan gaya Makefile Clark Grubb merekomendasikan bahwa:
- Semua target palsu harus dideklarasikan dengan menjadikannya prasyarat dari .PHONY.
- tambahkan setiap target palsu sebagai prasyarat. PHONY tepat sebelum deklarasi target, daripada mencantumkan semua target palsu di satu tempat.
- Tidak ada target file yang harus menjadi prasyarat dari .PHONY.
- target palsu tidak boleh menjadi prasyarat target file.
Sebagai contoh Anda, ini berarti:
.PHONY: all
all:
echo "Executing all ..."
.PHONY: of
of:
echo "Executing of ..."
.PHONY: my
my:
echo "Executing my ..."
.PHONY: rules
rules:
echo "Executing rules ..."
Beberapa PHONY
target diperbolehkan; lihat juga pertanyaan Stack Overflow ini: "Apakah mungkin memiliki beberapa target .PHONY dalam file make gnu?"
Selain itu, walaupun hal ini tidak disebutkan secara langsung dalam pertanyaan Anda, Anda harus berhati-hati untuk tidak memiliki PHONY
target dengan nama yang sama dari input aktual atau file perantara dalam proyek Anda. Misalnya, jika proyek Anda secara hipotetis memiliki file kode sumber bernama rules
(tanpa akhiran), dimasukkannya string itu dalam PHONY
target dapat mematahkan make
perilaku yang diharapkan .