Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

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