Make
テンプレート:See Wiktionary テンプレート:小文字 テンプレート:Infobox make(メイク) は、プログラムのビルド作業を自動化するツール。コンパイル、リンク、インストール等のルールを記述したテキストファイル (Makefile) に従って、これらの作業を自動的に行う。
複雑に関連し合ったファイルの依存関係を解決するのが make の長所である。例えば、A というファイルを処理して B というファイルを生成するとき、make はそれぞれのファイルの更新時刻(タイムスタンプ)を参照し、A が B よりも新しいときには作業を行うが、B が A より新しければ作業は不要と見なして何もしない。ファイル数が増え、依存関係が複雑になっても、make は Makefile の記述を頼りに必要最低限の作業だけを自動で行う。Autotools を使う事で Makefile の自動生成が可能となる。
UNIX系ソフトウェアは、ソースコードの形で配布されることが多いが、そのビルド作業にはほぼ必須のツールといえる(ごくまれに make を使わないソフトウェアも存在する)。
なお、make はプログラムのビルド以外の用途にも使用可能である。例えば、LaTeX のソースファイルから DVI 形式のファイルを生成する作業などにも使用することができる。やり方しだいではバッチ処理の簡略化にも使うこともできる。
最初のmakeは1977年にベル研究所のテンプレート:仮リンクによって作られた。
他言語における同様のツールとしてRuby には rake 、Pythonではsetupというスクリプトがある。
ソフトウェア開発工程
ソフトウェア開発工程における製造 (実装、コーディング) を指して、Make (またはM) と呼ぶこともある。
make の実装
- GNU make - GNU プロジェクトによる実装。
- Schily make - ポータブルで拡張可能な make。
- BSD make - BSD の実装。
- Microsoft Program Maintenance Utility (NMAKE) - マイクロソフト の実装。
関連項目
- Apache Maven
- Apache Ant
- SCons
- CMake - クロスプラットフォームでオープンソースなビルドシステム
- NAnt - .NET Frameworkで使用できるオープンソースのビルドシステム
- MSBuild - .NET Frameworkで構築されたマイクロソフト標準のビルドシステム
- OMake