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

名前

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

書式

       make [OPTION]... [TARGET]...

説明

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

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

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

              make

       という簡単なシェルコマンドを実行するだけで、  必要な再コンパイルはすべて行われます。  make
       プログラムは、 makefile 記述とファイルの最終更新時刻を用いて、  更新する必要があるファイル
       を見つけます。  そのファイルに対して、  make  は makefile に書かれているコマンドを実行しま
       す。

       makemakefile 内のコマンドを実行して、 1 つ以上のターゲット  name  を更新します。  この
       name  は普通はプログラムです。  -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 時にデバッグ情報を出力します。 n
            はそれまでのデバッグフラグをすべて無効化します。

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

       -E string, --eval string
            eval 関数を用いて string を解釈します。これはどの  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  が変更されて
            も、  他のファイルの再構築を一切行ないません。 実質的にそのファイルは非常に古いファイ
            ルとして扱われ、 規則が無視されます。

       -O[type], --output-sync[=type]
            -j を使って複数ジョブを並行で実行する場合、それぞれのジョブからの出力をばらばらに行う
            のではなく、個々のジョブ出力を取りまとめるようにします。type が未指定か target に指定
            されている場合、各ターゲットごとにレシピ全体の出力結果がまとめられます。typeline
            の場合、レシピ内の各コマンドラインの出力結果がまとめられます。typerecurse である
            場合、再帰呼び出しされた make 全体の出力結果がまとめられます。typenone の場合、同
            期をとった出力は無効化されます。

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

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

       -r, --no-builtin-rules
            組み込みの暗黙的ルールを使用しません。 また、接尾辞規則で使うデフォルトの接尾辞のリス
            トもすべて消去する。

       -R, --no-builtin-variables
            組み込みの変数を一切定義しません。

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

       --no-silent
            -s オプションの機能をキャンセルします。

       -S, --no-keep-going, --stop
            -k オプションの機能をキャンセルします。

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

       --trace
            各ターゲットの処理に関する情報が出力されます (ターゲット再ビルドの理由や、 再ビルドに
            あたって実行したコマンドが示されます)。

       -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
       が返されます。

関連項目

       make の完全なドキュメントは Texinfo マニュアルとしてメンテナンスされています。infomake
       の両プログラムが適切にインストールされていれば、以下のコマンド

              info make

       を実行して完全なマニュアルを参照できます。

バグ

       The GNU Make Manual の「問題点とバグ (Problems and Bugs)」の章を参照してください。

著者

       このオンラインマニュアルはスタンフォード大学の  Dennis Morse 氏が寄付したものです。 さらな
       る改訂が Mike Frysinger から提供されました。 その後 Roland McGrath が改訂しました。 現在は
       Paul Smith が保守を行っています。

著作権

       Copyright  © 1992-1993, 1996-2020 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/.