フォニイ 星街すいせい
とても格好いい。phonyという単語は「偽の、インチキの」という意味を持っている。
ところでフォニイといえばMakefileのPHONYを思い出したのでMakefileのPHONYとは何かを書いてみる。
Makefileにはtargetという概念があり、これは暗黙的にtarget名と同じ名前のファイルを生成することを指す。例えば以下のようにtarget cleanをMakefileで定義したとする。
clean: echo 'hello'
これはmake clean
で実行可能であるが、もしすでにclean.oなどの名前がcleanのファイルが存在すると、targetはすでにcleanのファイルは作成されているとして実行されない。ここで使用するのが.PHONY
である。以下のように.PHONY: clean
と記述することで、target cleanがファイルの生成をしないことを明示する事が可能でありこの場合はmake clean
でtarget cleanが実行される。
.PHONY: clean clean: echo 'hello'