a.out: test.c
**(ここは必ずTAB)**gcc -O test.c -o a.out
作りたいファイル → a.out
ソースファイル →test.c
実行したいshell →gcc -O test.c -o a.out
「作りたいファイル」と「ソースファイル群」のファイルの日付を比べて「ソースファイル群」の方が新しければ、「実行したいshell実行したいshell」に書かれた内容が実行される。
clean:
rm -f main.o sub.o
コマンド名 →clean
実行したいshell →rm -f main.o sub.o
make cleanと打つとrm -f main.o sub.oが実行される。
re: fclean all
make reと打つとfcleanとallが実行されます。make all と入力することで全ターゲットを生成するように作るように記述するのが一般的で、一番最初のターゲット名(ここでいうre)にすることでmakeのみで実行されるようにしておくと便利です。