疑似ターゲット

makeコマンドの後ろに、実際のファイル名ではなく、独自のキーワードを指定することで、makeコマンドの動作を切り替えることが出来る。
これを疑似ターゲット(Phonyターゲット, ".PHONY")という。

- 自動化のためのGNU Make入門講座 - Makefileの基本:ルール
いまさら人に聞けないmake入門 - UUUM攻殻機動隊(エンジニアブログ)

Makefileで、

.PHONY: ファイルとしては存在しないターゲット
ファイルとしては存在しないターゲット:
	何らかの処理

つまり、

こう。
1番上のmain.shは通常のターゲットとなるファイル。
addとcleanはもちろんファイルとしては存在しないが、addでmain.shにコマンドを追記しているし、cleanはmain.shを削除している。
このようにいくつかの処理の切り替えを疑似ターゲットを指定することで実現している。

$ ls
Makefile
$ make
echo "echo 123" > main.sh
$ ls
Makefile  main.sh
$ cat main.sh
echo 123
$

何も指定していないので、main.shをターゲットとした処理。

$ make add
echo "echo 456" >> main.sh
$ ls
Makefile  main.sh
$ cat main.sh
echo 123
echo 456
$

addを指定すると、main.shに追記される。

$ make clean
rm main.sh
$ ls
Makefile
$

cleanを指定すると、main.shが削除される。

Sample/make/target/phony_target/src/target at master · bg1bgst333/Sample · GitHub