Provided by: manpages-ja_0.5.0.0.20210215+dfsg-1_all bug

名前

       make - プログラム群を管理するための GNU make ユーティリティ

書式

       make  [ -f makefile ] [ options ] ... [ targets ] ...

警告

       このオンラインマニュアルは、 GNU make のドキュメントの一部を抜粋したものである。このファイ
       ルはあまり頻繁には 更新されない。というのも、GNU プロジェクトでは  nroff  が使われていない
       からである。完全かつ最新の内容のドキュメントを見るには、info ファイル make.info を参照する
       こと。これは texinfo のソースファイル make.texi から生成される。

説明

       make  ユーティリティの目的は、大きなプログラムの中の再コンパイルする必要がある部分を自動的
       に決定し、再コンパイルのためのコマンドを実行することである。このマニュアルでは、GNU が実装
       した make の説明を行っている。これは Richard Stallman と Roland McGrath が書いたもので、現
       在は  Paul Smith により維持されている。例としては C 言語のプログラムを用いているが、これは
       C 言語が最も一般的だからである。 make は、シェルコマンドからコンパイラを起動できるどんなプ
       ログラミング言語とでも組み合わせて使用できる。実際、 make の利用対象はプログラムだけに限ら
       れない。 make は、あるファイルを書き換えたら、その書き換えたファイルを元にして別のファイル
       も自動的に更新しなければならないような任意の作業で利用できる。

       make  を使う準備をするためには、まず makefile と呼ばれるファイルを書かなければならない。こ
       のファイルは、プログラムを  構成するファイル間の関係と各ファイルを更新するためのプログラム
       を記述し たものである。プログラムの場合は普通、実行ファイルはオブジェクトファイ ルによって
       更新され、このオブジェクトファイルもまたソースファイルのコン パイルによって生成される。

       適切な makefile さえあれば、ソースファイルを一部変更する度に

              make

       という簡単なシェルコマンドを実行するだけで、必要な再コンパイルが全て行 われる。 make  プロ
       グラムは、makefile データベースとファイルの最終更新時刻を用いて、 更新する必要があるファイ
       ルを見つける。このようなファイルに対して、 make はデータベースに記録されているコマンドを実
       行する。

       makemakefile 中のコマンドを実行して、1 つ以上のターゲット 名称 を更新する。この 名称
       は普通はプログラムである。  -f  が無い場合、  make  は  makefile   として、   GNUmakefile,
       makefile, Makefile をこの順に参照する。

       通常、ユーザが  makefile  として使うべきなのは、 makefile または Makefile である。 (筆者は
       Makefile  を推奨する。なぜなら、この名前であれば常にディレクトリ表示の先頭近くに  現われる
       し、  README のような他の重要ファイルのすぐ近くに来るからである。)  最初にチェックされる名
       前である GNUmakefile は、大抵の場合は好ましくない。 この名前を使うべきなのは、GNU make  に
       特化しており、他のバージョンの  make では処理できない makefile を使う場合である。 makefile
       が `-' ならば、標準入力が読み込まれる。

       make がターゲットを更新するのは、ターゲットが依存している必要ファイルがター ゲットより後に
       変更された場合と、ターゲットが存在しない場合である。

オプション

       -b, -m
            これらのオプションは無視される。これらは他のバージョンの  make との互換性のためのもの
            である。

       -B, --always-make
            無条件に全てのターゲットを make する。

       -C dir, --directory=dir
            makefile を読み込むなどの動作の前に、ディレクトリ dir に移動する。複数の -C  オプショ
            ンが指定されている場合、それぞれは前の指定に対する相対パスと解  釈される。例えば、 -C
            / -C etc は -C /etc と同じ意味である。このオプションは通常、 make  を再帰的に呼び出す
            時に使われる。

       -d   通常の処理情報に加えて、デバッグ情報を出力する。デバッグ情報に含まれる のは、再構築の
            対象となっているファイル、比較されるファイル時間とその結 果、実際に再構築する必要があ
            るファイル、候補になっていたり実際に適用さ れる暗黙のルールなど、 make が動作を決める
            ために必要なもの全てである。

       --debug[=FLAGS]
            通常の処理内容に加えてデバッグ情報を表示する。 FLAGS が省略された場合、 -d が指定され
            た場合と同じ動作となる。  FLAGS には次の値を指定することができる。 a は全てのデバッグ
            情報を出力する (-d と同じ)。 b は基本的なデバッグ情報を出力する。 v  は基本的なデバッ
            グ情報をより詳細に出力する。  i は暗黙のルールを表示する。 j はコマンドの起動の詳細を
            出力する。 m は makefile の再 make 時にデバッグ情報を出力する。

       -e, --environment-overrides
            環境変数から与える変数を指定する。これは makefile の変数よりも優先され る。

       -f file, --file=file, --makefile=FILE
            file を makefile として使用する。

       -i, --ignore-errors
            ファイルの再構築時に実行したコマンドで起きたエラーを全て無視する。

       -I dir, --include-dir=dir
            インクルードする makefile を検索するディレクトリ dir を指定する。 複数の -I  オプショ
            ンを使って複数のディレクトリを指定した場合、ディレクトリの検索   は指定した順で行われ
            る。 make の他のフラグに対する引き数と異なり、 -I  に与える引き数は、フラグの直後に記
            述できる。  つまり、 -Idir という記述も -I dir と共に許される。 この記法を許すのは、C
            プリプロセッサの -I フラグとの互換性のためである。

       -j [jobs], --jobs[=jobs]
            同時に実行できる jobs (コマンド) の数を指定する。 -j オプションが複数個指定された場合
            は、最後の指定が有効になる。引き数無しで  -j オプションが与えられた場合、 make は同時
            に実行できるジョブの数を制限しない。

       -k, --keep-going
            エラーが起きてもできる限り実行を継続しようとする。 失敗したターゲットとそのターゲット
            に依存しているファイルは再生成されな いものの、そのターゲットに関する他の依存関係は処
            理することができる。

       -l [load], --load-average[=load]
            他のジョブが動作しており、ロードアベレージが少なくとも load  (浮動小数)ならば、新しい
            ジョブ(コマンド)を実行しないことを指定する。 引き数無しの場合には、以前に指定した負荷
            の制限が取り除かれる。

       -L, --check-symlink-times
            シンボリックリンクとターゲットのうち最新の mtime を使用する。

       -n, --just-print, --dry-run, --recon
            実行するコマンドの表示だけを行い、 (特定の状況を除いては) 実際の実行を行わない。

       -o file, --old-file=file, --assume-old=file
            file が依存先のファイルより古い場合であっても再構築を行わなず、 file が変更されても他
            のファイルの再構築を一切行わない。本質的には、そのファ イルは非常に古いものとして扱わ
            れ、規則が無視される。

       -p, --print-data-base
            makefile を読み込んで得られたデータベース(規則と変数の値)を出力する。  特に指定しない
            限り、その後の動作は通常通りである。また、  -v オプションで得られるバージョン情報も出
            力する。 ファイルを全く再構築することなく、データベースの表示だけを行うには  make  -p
            -f/dev/nul を用いること。

       -q, --question
            「問い合わせモード」で動作する。 コマンドを全く実行せず、何も表示しない。ただ、指定さ
            れたターゲットが既 に最新ならば終了ステータス 0 を返し、そうでなければ 0 でないステー
            タス を返す。

       -r, --no-builtin-rules
            組み込みの暗黙的ルールを使用しない。 また、添字規則で使うデフォルトの添字のリストも全
            て消去する。

       -R, --no-builtin-variables
            組み込みの変数を一切定義しない。

       -s, --silent, --quiet
            静かに動作する。コマンドを実行する際に、コマンドの表示を行わない。

       -S, --no-keep-going, --stop
            -k オプションの影響を打ち消す。 このオプションが必要になるのは、 make  を再帰的に用い
            ているために -k オプションがトップレベルの make から MAKEFLAGS を通じて継承される場合
            や、環境変数 MAKEFLAGS で -k を設定している場合だけである。

       -t, --touch
            コマンドを実行せずにファイルにタッチする(実際にはファイルを変更せず、  最新の印を付け
            る)。このオプションを使うと見かけ上コマンドが実行された ことになり、後で起動する make
            をだますことができる。

       -v, --version
            make プログラムのバージョンおよび著作権表示、作者のリスト、無保証であること  の宣言を
            出力する。

       -w, --print-directory
            他の処理を行う前後に、作業ディレクトリを表示する。 再帰的な make コマンドが複雑な入れ
            子になっている状況でエラーを追跡する際に便利である。

       --no-print-directory
            -w をオフにする。 -w が暗黙で指定される場合でもオフになる。

       -W file, --what-if=file, --new-file=file, --assume-new=file
            ターゲット file  が変更されたばかりのものとして動作する。  -n  フラグを指定している場
            合、そのファイルを変更するとどうなるかが表示され る。 -n が指定されていない場合の動作
            は、 make の実行前に、指定されたファイルに対して touch を行った時とほぼ同じである。た
            だし、修正時刻が変更されるのは make の内部だけである点が異なる。

       --warn-undefined-variables
            未定義の変数が参照された際に警告を出す。

終了ステータス

       全ての  makefile  が正常に読み込まれ、ビルド対象のどのターゲットも失敗 しなかった場合、GNU
       make はステータス 0 で終了する。 -q フラグが使用され、 make がターゲットの再ビルドが必要と
       判断 した場合には、ステータス 1 が返される。 何かエラーが発生した場合はステータス 2 が返さ
       れる。

関連項目

       The GNU Make Manual

バグ

       The GNU Make Manual の「問題点とバグ(Problems and Bugs)」の章を参照すること。

著者

       このオンラインマニュアルはスタンフォード大学の Dennis Morse 氏が寄付し  たものである。その
       後 Roland McGrath が改訂した。さらなる改訂が Mike Frysinger から提供された。

著作権

       Copyright  (C)  1992,  1993, 1996, 1999, 2007 Free Software Foundation, Inc.  This file is
       part of GNU make.

       GNU Make is free software; you can redistribute it and/or modify it under the terms of the
       GNU  General Public License as published by the Free Software Foundation; either version 3
       of the License, or (at your option) any later version.

       GNU Make is distributed in the hope that it will be  useful,  but  WITHOUT  ANY  WARRANTY;
       without  even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
       See the GNU General Public License for more details.

       You should have received a copy of the GNU General Public License along with this program.
       If not, see http://www.gnu.org/licenses/.