(Translated by https://www.hiragana.jp/)
make (UNIX) - Wikipedia

make (UNIX)

ソフトウェア開発かいはつツール
Makefileから転送てんそう

makeメイクは、プログラムビルド作業さぎょう自動じどうするツール。コンパイルリンクインストールひとしのルールを記述きじゅつしたテキストファイル (makefile) にしたがって、これらの作業さぎょう自動的じどうてきおこなう。

make
作者さくしゃ スチュアート・フェルドマン英語えいごばん
開発元かいはつもと ベル研究所けんきゅうじょ
初版しょはん 1977ねん
プログラミング
言語げんご
C言語げんご
対応たいおうOS UNIXけい
種別しゅべつ ビルド・ツール
テンプレートを表示ひょうじ

複雑ふくざつ関連かんれんったファイルの依存いぞん関係かんけい解決かいけつするのがmakeの長所ちょうしょである。たとえば、A というファイルを処理しょりして B というファイルを生成せいせいするとき、makeはそれぞれのファイルの更新こうしん時刻じこくタイムスタンプ)を参照さんしょうし、A が B よりもあたらしいときには作業さぎょうおこなうが、B が A よりあたらしければ作業さぎょう不要ふようなしてなにもしない。ファイルすうえ、依存いぞん関係かんけい複雑ふくざつになっても、makeはmakefileの記述きじゅつたよりに必要ひつよう最低限さいていげん作業さぎょうだけを自動じどうおこなう。Autotoolsというべつのツールを使つかことでmakefileの自動じどう生成せいせい可能かのうである。

UNIXけいソフトウェアは、ソースコードのかたち配布はいふされることがある。そのビルド作業さぎょうにはほぼ必須ひっすのツールといえる(ごくまれにmakeを使つかわないソフトウェアも存在そんざいする)。

なお、makeはプログラムコードのビルド以外いがい用途ようとにも使用しよう可能かのうである。たとえば、LaTeXのソースファイルからDVI形式けいしきのファイルを生成せいせいする作業さぎょうなどにも使用しようすることができる。バッチ処理しょり簡略かんりゃくにも使つかうこともできる。

元々もともとは1976ねん4がつベル研究所けんきゅうじょスチュアート・フェルドマン英語えいごばんによって作成さくせいされた。フェルドマンは、変更へんこうされたが実行じっこうファイルがあやまって更新こうしんされていないプログラムを無駄むだにデバッグしている同僚どうりょう経験けいけんから、makeをくことをひらめいた。

互換ごかんせい

編集へんしゅう

Linux Standard Baseでも指定していコマンドになっている[※ 1]最近さいきんではCMake使つか場合ばあいがある。

makeには互換ごかんせいのない亜種あしゅ存在そんざいする。同様どうようのツールとしてrakeRubyよう)、setup(Pythonよう)がある。

makeの実装じっそう

編集へんしゅう
  • GNU make - GNUプロジェクトによる実装じっそう。コマンドめい gmake
  • Schily make - ポータブルで拡張かくちょう可能かのうなmake。
  • BSD make - BSD実装じっそう
  • Microsoft Program Maintenance Utility (make, nmake) - マイクロソフト実装じっそう。makeはきわめて初期しょき処理しょりけいにのみ付属ふぞく
  • PMake - FreeBSD実装じっそう。コマンドめい pmake[※ 2]

注釈ちゅうしゃく

編集へんしゅう
  1. ^ LSB Specifications "Linux Standard Base"
  2. ^ PMake -- A Tutorial”. freebsd.org. December 11, 2020閲覧えつらん

関連かんれん項目こうもく

編集へんしゅう
  • Apache Maven - Javaようのプロジェクト管理かんりツール
  • Apache Ant - Javaようのmake
  • SCons - makeの代替だいたいユーティリティ
  • Ninja - makeの代替だいたいユーティリティ
  • CMake - クロスプラットフォームでオープンソースなビルドシステム
  • Meson - クロスプラットフォームでオープンソースなビルドシステム
  • NAnt - .NET Frameworkで使用しようできるオープンソースのビルドシステム
  • MSBuild - .NET Frameworkで構築こうちくされたマイクロソフト標準ひょうじゅんのビルドシステム

外部がいぶリンク

編集へんしゅう