Make
機能
複雑に関連し合ったファイルの依存関係を解決するのがmakeの長所である。例えば、A というファイルを処理して B というファイルを生成するとき、makeはそれぞれのファイルの更新時刻（タイムスタンプ）を参照し、A が B よりも新しいときには作業を行うが、B が A より新しければ作業は不要と見なして何もしない。ファイル数が増え、依存関係が複雑になっても、makeはmakefileの記述を頼りに必要最低限の作業だけを自動で行う。Autotoolsという別のツールを使う事でmakefileの自動生成が可能である。
UNIX系ソフトウェアは、ソースコードの形で配布されることがある。そのビルド作業にはほぼ必須のツールといえる（ごくまれにmakeを使わないソフトウェアも存在する）。
なお、makeはプログラムコードのビルド以外の用途にも使用可能である。例えば、LaTeXのソースファイルからDVI形式のファイルを生成する作業などにも使用することができる。バッチ処理の簡略化にも使うこともできる。
歴史
最初のmakeは1977年にベル研究所のスチュアート・フェルドマンが作った。
互換性
Linux Standard Baseでも指定コマンドになっている。最近ではCMakeを使う場合がある。
makeには互換性のない亜種が存在する。同様のツールとしてrake（Ruby用）、setup（Python用）がある。