Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

Makefileの".PHONY"という記法について

実際のところ

makeコマンドを使って、不要なtxtファイルを一掃するコマンド"clean"を作りたいとします

clean:
	rm -r *.txt

ところが、このシステムにはとある事情でcleanという同名のファイルがありました

$ ls
Makefile	clean		hoge.txt

これでは、コマンドを実行しても意図した挙動になりません

$ make clean
make: `clean' is up to date.

この場合、".PHONY"(まがい物)という特殊変数を使ってあげます。

.PHONY: clean
clean:
	rm -r *.txt

これを導入した後だと、意図通りちゃんと動きます

$ ls
Makefile	clean		hoge.txt
$ make clean
rm -r *.txt
$ ls
Makefile	clean