目的のプログラムがひとつのソースファイルで完結している場合、実行ファイルを得るのは簡単で、コマンド一発で全てが終わる。しかし複数のソースやライブラリ・オブジェクトが存在し、それらに依存関係がある際には、コンパイルの順序など話がややこしい。makeは、その状況を解決する手助けとなる。Makefileなるファイルに記述されたルールに従って、複数のファイルがコンパイル・リンクされてゆく。任意のコマンドが実行できるので、不要ファイルの削除やらテストプログラムの実行・比較も盛り込めるあたりが便利。
$@ ターゲット $^ 依存するファイル