[原文] .TH MAKE 1 "28 February 2016" "GNU" "User Commands" [訳文] .TH MAKE 1 2016/02/28 GNU ユーザーコマンド ---------------------------------------- [原文] .SH NAME make - GNU make utility to maintain groups of programs [訳文] .SH 名前 make - プログラム群を管理するための GNU make ユーティリティ ---------------------------------------- [原文] .SH SYNOPSIS .B make [OPTION]... [TARGET]... [訳文] .SH 書式 make [OPTION]... [TARGET]... ---------------------------------------- [原文] .SH DESCRIPTION [訳文] .SH 説明 ---------------------------------------- [原文] .LP The .I make utility will determine automatically which pieces of a large program need to be recompiled, and issue the commands to recompile them. The manual describes the GNU implementation of .BR make , which was written by Richard Stallman and Roland McGrath, and is currently maintained by Paul Smith. Our examples show C programs, since they are very common, but you can use .B make with any programming language whose compiler can be run with a shell command. In fact, .B make is not limited to programs. You can use it to describe any task where some files must be updated automatically from others whenever the others change. [訳文] .LP make ユーティリティの目的は、大きなプログラムの中の再コンパイルす る必要がある部分を自動的に決定し、再コンパイルのためのコマン ドを実行することである。 このマニュアルでは、GNU が実装した make の説明を行っている。 これは Richard Stallman と Roland McGrath が書いたもので、 現在は Paul Smith により維持されている。 例として C 言語のプログラムを用いているが、これは C 言語が最も一般的だからである。 make は、シェルコマンドからコンパイラーを起動できるどんなプログラ ミング言語とでも組み合わせて使用できる。 実際、 make の利用対象はプログラムだけに限らない。 make は、 あるファイルを書き換えたら、 その書き換えたファイルを元にして、 別のファイルも自動的に更新しなければならないような任意の作業 で利用できる。 ---------------------------------------- [原文] .LP To prepare to use .BR make , you must write a file called the .I makefile that describes the relationships among files in your program, and the states the commands for updating each file. In a program, typically the executable file is updated from object files, which are in turn made by compiling source files. [訳文] .LP make を使う準備として、 まず makefile と呼ばれるファイルを書かなければならない。 このファイルは、 プログラムを構成するファイル間の関係と、 各ファイルを更新するためのプログラムを記述したものである。 プログラムに関して言えば、 普通、 実行ファイルはオブジェクトファイルから更新され、 このオブジェクトファイルは、 ソースファイルのコンパイルによって生成される。 ---------------------------------------- [原文] .LP Once a suitable makefile exists, each time you change some source files, this simple shell command: .sp 1 [訳文] .LP 適切な makefile さえあれば、 ソースファイルを一部変更するたびに .sp 1 ---------------------------------------- [原文] .RS .B make [訳文] .RS make ---------------------------------------- [原文] .RE .sp 1 suffices to perform all necessary recompilations. The .B make program uses the makefile description and the last-modification times of the files to decide which of the files need to be updated. For each of those files, it issues the commands recorded in the makefile. [訳文] .RE .sp 1 という簡単なシェルコマンドを実行するだけで、 必要な再コンパイルはすべて行われる。 make プログラムは、 makefile 記述とファイルの最終更新時刻を用いて、 更新する必要があるファイルを見つける。 そのファイルに対して、 make は makefile に書かれているコマンドを実行する。 ---------------------------------------- [原文] .LP .B make executes commands in the .I makefile to update one or more target .IR names , where .I name is typically a program. If no .B -f option is present, .B make will look for the makefiles .IR GNUmakefile , .IR makefile , and .IR Makefile , in that order. [訳文] .LP make は makefile 内のコマンドを実行して、 1 つ以上のターゲット name を更新する。 この name は普通はプログラムである。 -f が無い場合、 make は makefile として、 GNUmakefile, makefile, Makefile をこの順に参照する。 ---------------------------------------- [原文] .LP Normally you should call your makefile either .I makefile or .IR Makefile . (We recommend .I Makefile because it appears prominently near the beginning of a directory listing, right near other important files such as .IR README .) The first name checked, .IR GNUmakefile , is not recommended for most makefiles. You should use this name if you have a makefile that is specific to GNU .BR make , and will not be understood by other versions of .BR make . If .I makefile is '-', the standard input is read. [訳文] .LP 通常、ユーザーが makefile として使うべきなのは、 makefile または Makefile である。 (推奨するのは Makefile である。 なぜなら、 この名前であれば、 常にディレクトリ表示の先頭近くに現われ、 README のような他の重要ファイルのすぐ近くに来るからである。) 最初にチェックされる名前である GNUmakefile は、たいていの場合は好ましくない。 この名前を使うのは、GNU make に特化していて、他のバージョンの make では処理できない makefile を使う場合である。 makefile が `-' ならば、標準入力が読み込まれる。 ---------------------------------------- [原文] .LP .B make updates a target if it depends on prerequisite files that have been modified since the target was last modified, or if the target does not exist. [訳文] .LP make がターゲットを更新するのは、ターゲットが依存している必要ファ イルがターゲットより後に変更された場合と、ターゲットが存在し ない場合である。 ---------------------------------------- [原文] .SH OPTIONS .sp 1 [訳文] .SH オプション .sp 1 ---------------------------------------- [原文] .TP 0.5i -b, -m These options are ignored for compatibility with other versions of .BR make . [訳文] .TP 0.5i -b, -m このオプションは無視される。 これは他のバージョンの make との互換性のためのものである。 ---------------------------------------- [原文] .TP 0.5i -B, --always-make Unconditionally make all targets. [訳文] .TP 0.5i -B, --always-make 無条件にすべてのターゲットを make する。 ---------------------------------------- [原文] .TP 0.5i -C dir, --directory=dir Change to directory .I dir before reading the makefiles or doing anything else. If multiple .B -C options are specified, each is interpreted relative to the previous one: .BR "-C " / .BR "-C " etc is equivalent to .BR "-C " /etc. This is typically used with recursive invocations of .BR make . [訳文] .TP 0.5i -C dir, --directory=dir makefile を読み込むなどの動作の前に、ディレクトリ dir に移動する。 複数の -C オプションが指定されている場合、それぞれは、 前の指定に対する相対パスとして解釈される。 たとえば、 -C / -C etc は -C /etc と同じ意味である。 このオプションは通常 make を再帰的に呼び出す時に使われる。 ---------------------------------------- [原文] .TP 0.5i .B -d Print debugging information in addition to normal processing. The debugging information says which files are being considered for remaking, which file-times are being compared and with what results, which files actually need to be remade, which implicit rules are considered and which are applied---everything interesting about how .B make decides what to do. [訳文] .TP 0.5i -d 通常の処理情報に加えて、 デバッグ情報を出力する。 デバッグ情報に含まれるのは、再構築の対象となっているファイル 、 比較されるファイル時間とその結果、 実際に再構築する必要があるファイル、 候補になっていたり、 実際に適用される暗黙のルールなど、 make が動作を決めるために必要なものすべてである。 ---------------------------------------- [原文] .TP 0.5i .BI --debug "[=FLAGS]" Print debugging information in addition to normal processing. If the .I FLAGS are omitted, then the behavior is the same as if .B -d was specified. .I FLAGS may be .I a for all debugging output (same as using .BR -d ), .I b for basic debugging, .I v for more verbose basic debugging, .I i for showing implicit rules, .I j for details on invocation of commands, and .I m for debugging while remaking makefiles. Use .I n to disable all previous debugging flags. [訳文] .TP 0.5i --debug[=FLAGS] 通常の処理内容に加えてデバッグ情報を表示する。 FLAGS が省略された場合、 -d が指定された場合と同じ動作となる。 FLAGS には次の値を指定することができる。 a は全てのデバッグ情報を出力する (-d と同じ)。 b は基本的なデバッグ情報を出力する。 v は基本的なデバッグ情報をより詳細に出力する。 i は暗黙のルールを表示する。 j はコマンドの起動の詳細を出力する。 m は makefile の再 make 時にデバッグ情報を出力する。n はそれまでのデバッグフラグをすべて無効化する。 ---------------------------------------- [原文] .TP 0.5i -e, --environment-overrides Give variables taken from the environment precedence over variables from makefiles. [訳文] .TP 0.5i -e, --environment-overrides 環境変数から与える変数を指定する。 これは makefile の変数よりも優先される。 ---------------------------------------- [原文] .TP 0.5i -E string, --eval string Interpret string using the eval function, before parsing any makefiles. [訳文] .TP 0.5i -E string, --eval string eval 関数を用いて string を解釈する。これはどの makefile の解析よりも先に行われる。 ---------------------------------------- [原文] .TP 0.5i -f file, --file=file, --makefile=FILE Use .I file as a makefile. [訳文] .TP 0.5i -f file, --file=file, --makefile=FILE file を makefile として使用する。 ---------------------------------------- [原文] .TP 0.5i -i, --ignore-errors Ignore all errors in commands executed to remake files. [訳文] .TP 0.5i -i, --ignore-errors ファイルの再構築時に、 実行したコマンドで起きたエラーをすべて無視する。 ---------------------------------------- [原文] .TP 0.5i -I dir, --include-dir=dir Specifies a directory .I dir to search for included makefiles. If several .B -I options are used to specify several directories, the directories are searched in the order specified. Unlike the arguments to other flags of .BR make , directories given with .B -I flags may come directly after the flag: .BI -I dir is allowed, as well as .B -I .IR dir . This syntax is allowed for compatibility with the C preprocessor's .B -I flag. [訳文] .TP 0.5i -I dir, --include-dir=dir インクルードする makefile を検索するディレクトリ dir を指定する。 複数の -I オプションを使って複数のディレクトリを指定した場合、 ディレクトリの検索 は指定した順で行われる。 make の他のフラグに対する引数と異なり、 -I に与える引数は、フラグの直後に記述できる。 つまり、 -Idir という記述も -I dir と共に許される。 この記法を許すのは、C プリプロセッサの -I フラグとの互換性のためである。 ---------------------------------------- [原文] .TP 0.5i -j [jobs], --jobs[=jobs] Specifies the number of .I jobs (commands) to run simultaneously. If there is more than one .B -j option, the last one is effective. If the .B -j option is given without an argument, .BR make will not limit the number of jobs that can run simultaneously. [訳文] .TP 0.5i -j [jobs], --jobs[=jobs] 同時に実行できる jobs (コマンド) の数を指定する。 -j オプションが複数指定された場合は、 最後の指定が有効になる。 引数無しで -j オプションが与えられた場合、 make は同時に実行できるジョブの数を制限しない。 ---------------------------------------- [原文] .TP 0.5i -k, --keep-going Continue as much as possible after an error. While the target that failed, and those that depend on it, cannot be remade, the other dependencies of these targets can be processed all the same. [訳文] .TP 0.5i -k, --keep-going エラーが起きても、 できる限り実行を継続しようとする。 失敗したターゲットとそのターゲットに依存しているファイルは、 再生成されないものの、そのターゲットに関する他の依存関係は処 理することができる。 ---------------------------------------- [原文] .TP 0.5i -l [load], --load-average[=load] Specifies that no new jobs (commands) should be started if there are others jobs running and the load average is at least .I load (a floating-point number). With no argument, removes a previous load limit. [訳文] .TP 0.5i -l [load], --load-average[=load] 他のジョブが動作していて、 ロードアベレージが少なくとも load (浮動小数)なら、 新しいジョブ (コマンド) を実行しないことを指定する。 引数無しの場合には、以前に指定した負荷の制限が取り除かれる。 ---------------------------------------- [原文] .TP 0.5i -L, --check-symlink-times Use the latest mtime between symlinks and target. [訳文] .TP 0.5i -L, --check-symlink-times シンボリックリンクとターゲットのうち、 最新の mtime を使用する。 ---------------------------------------- [原文] .TP 0.5i -n, --just-print, --dry-run, --recon Print the commands that would be executed, but do not execute them (except in certain circumstances). [訳文] .TP 0.5i -n, --just-print, --dry-run, --recon 実行するコマンドの表示だけを行い、 (特定の状況を除いては) 実際の実行を行わない。 ---------------------------------------- [原文] .TP 0.5i -o file, --old-file=file, --assume-old=file Do not remake the file .I file even if it is older than its dependencies, and do not remake anything on account of changes in .IR file . Essentially the file is treated as very old and its rules are ignored. [訳文] .TP 0.5i -o file, --old-file=file, --assume-old=file file が依存先のファイルより古い場合であっても、 再構築を行わなず、 file が変更されても、 他のファイルの再構築を一切行わない。 実質的にそのファイルは非常に古いファイルとして扱われ、 規則が無視される。 ---------------------------------------- [原文] .TP 0.5i -O[type], --output-sync[=type] When running multiple jobs in parallel with -j, ensure the output of each job is collected together rather than interspersed with output from other jobs. If .I type is not specified or is .B target the output from the entire recipe for each target is grouped together. If .I type is .B line the output from each command line within a recipe is grouped together. If .I type is .B recurse output from an entire recursive make is grouped together. If .I type is .B none output synchronization is disabled. [訳文] .TP 0.5i -O[type], --output-sync[=type] -j を使って複数ジョブを並行で実行する場合、それぞれのジョブから の出力をばらばらに行うのではなく、個々のジョブ出力を取りまと めるようにする。type が未指定か target に指定されている場合、各ターゲットごとにレシピ全体の出力結果 がまとめらる。type が line の場合、レシピ内の各コマンドラインの出力結果がまとめられる。 type が recurse である場合、再帰呼び出しされた make 全体の出力結果がまとめられる。type が none の場合、同期をとった出力は無効化される。 ---------------------------------------- [原文] .TP 0.5i -p, --print-data-base Print the data base (rules and variable values) that results from reading the makefiles; then execute as usual or as otherwise specified. This also prints the version information given by the .B -v switch (see below). To print the data base without trying to remake any files, use .IR "make -p -f/dev/null" . [訳文] .TP 0.5i -p, --print-data-base makefile を読み込んで得られたデータベース (規則と変数の値) を出力する。 特に指定しない限り、 その後の動作は通常通りである。 また、 -v オプションで得られるバージョン情報も出力する。 ファイルを全く再構築することなく、データベースの表示だけを行 うには make -p -f/dev/null を用いること。 ---------------------------------------- [原文] .TP 0.5i -q, --question ``Question mode''. Do not run any commands, or print anything; just return an exit status that is zero if the specified targets are already up to date, nonzero otherwise. [訳文] .TP 0.5i -q, --question 「問い合わせモード」で動作する。 コマンドを全く実行せず、何も表示しない。 ただ、指定されたターゲットが既に最新ならば終了ステータス 0 を返し、 そうでなければ 0 でないステータスを返す。 ---------------------------------------- [原文] .TP 0.5i -r, --no-builtin-rules Eliminate use of the built-in implicit rules. Also clear out the default list of suffixes for suffix rules. [訳文] .TP 0.5i -r, --no-builtin-rules 組み込みの暗黙的ルールを使用しない。 また、添字規則で使うデフォルトの添字のリストもすべて消去する 。 ---------------------------------------- [原文] .TP 0.5i -R, --no-builtin-variables Don't define any built-in variables. [訳文] .TP 0.5i -R, --no-builtin-variables 組み込みの変数を一切定義しない。 ---------------------------------------- [原文] .TP 0.5i -s, --silent, --quiet Silent operation; do not print the commands as they are executed. [訳文] .TP 0.5i -s, --silent, --quiet 静かに動作する。 コマンドを実行する際に、コマンドの表示を行わない。 ---------------------------------------- [原文] .TP 0.5i .B --no-silent Cancel the effect of the -s option. [訳文] .TP 0.5i --no-silent -s オプションの機能をキャンセルする。 ---------------------------------------- [原文] .TP 0.5i -S, --no-keep-going, --stop Cancel the effect of the .B -k option. [訳文] .TP 0.5i -S, --no-keep-going, --stop -k オプションの機能をキャンセルする。 ---------------------------------------- [原文] .TP 0.5i -t, --touch Touch files (mark them up to date without really changing them) instead of running their commands. This is used to pretend that the commands were done, in order to fool future invocations of .BR make . [訳文] .TP 0.5i -t, --touch コマンドを実行せずにファイルにタッチする (実際にはファイルを変更せず、 最新の印を付ける)。 このオプションを使うと見かけ上、 コマンドが実行されたことになり、 後で起動する make をだますことができる。 ---------------------------------------- [原文] .TP 0.5i .B --trace Information about the disposition of each target is printed (why the target is being rebuilt and what commands are run to rebuild it). [訳文] .TP 0.5i --trace 各ターゲットの処理に関する情報が出力される (ターゲット再ビルドの理由や、 再ビルドにあたって実行したコマンドが示される)。 ---------------------------------------- [原文] .TP 0.5i -v, --version Print the version of the .B make program plus a copyright, a list of authors and a notice that there is no warranty. [訳文] .TP 0.5i -v, --version make プログラムのバージョンおよび著作権表示、作者のリスト、無保証 であることの宣言を出力する。 ---------------------------------------- [原文] .TP 0.5i -w, --print-directory Print a message containing the working directory before and after other processing. This may be useful for tracking down errors from complicated nests of recursive .B make commands. [訳文] .TP 0.5i -w, --print-directory 他の処理を行う前後に、作業ディレクトリを表示する。 再帰的な make コマンドが複雑な入れ子になっている状況で、 エラーを追跡する際に便利である。 ---------------------------------------- [原文] .TP 0.5i .B --no-print-directory Turn off .BR -w , even if it was turned on implicitly. [訳文] .TP 0.5i --no-print-directory -w をオフにする。 -w が暗黙で指定される場合でもオフになる。 ---------------------------------------- [原文] .TP 0.5i -W file, --what-if=file, --new-file=file, --assume-new=file Pretend that the target .I file has just been modified. When used with the .B -n flag, this shows you what would happen if you were to modify that file. Without .BR -n , it is almost the same as running a .I touch command on the given file before running .BR make , except that the modification time is changed only in the imagination of .BR make . [訳文] .TP 0.5i -W file, --what-if=file, --new-file=file, --assume-new=file ターゲット file が変更されたばかりのものとして動作する。 -n フラグを指定している場合、 そのファイルを変更するとどうなるかが表示される。 -n が指定されていない場合の動作は、 make の実行前に、 指定されたファイルに対して touch を行った時とほぼ同じである。 ただし、修正時刻が変更されるのは make の内部だけである点が異なる。 ---------------------------------------- [原文] .TP 0.5i .B --warn-undefined-variables Warn when an undefined variable is referenced. [訳文] .TP 0.5i --warn-undefined-variables 未定義の変数が参照された際に警告を出す。 ---------------------------------------- [原文] .SH "EXIT STATUS" GNU .B make exits with a status of zero if all makefiles were successfully parsed and no targets that were built failed. A status of one will be returned if the .B -q flag was used and .B make determines that a target needs to be rebuilt. A status of two will be returned if any errors were encountered. [訳文] .SH 終了ステータス すべての makefile が正常に読み込まれ、ビルド対象のどのターゲットも失敗しなかっ た場合、 GNU make はステータス 0 で終了する。 -q フラグが使用され、 make がターゲットの再ビルドが必要と判断した場合には、 ステータス 1 が返される。 何かエラーが発生した場合は、 ステータス 2 が返される。 ---------------------------------------- [原文] .SH "SEE ALSO" The full documentation for .B make is maintained as a Texinfo manual. If the .B info and .B make programs are properly installed at your site, the command [訳文] .SH 関連項目 make の完全なドキュメントは Texinfo マニュアルとしてメンテナンスされている。info と make の両プログラムが適切にインストールされていれば、以下のコマン ド ---------------------------------------- [原文] .IP .B info make [訳文] .IP info make ---------------------------------------- [原文] .PP should give you access to the complete manual. [訳文] .PP を実行して完全なマニュアルを参照できる。 ---------------------------------------- [原文] .SH BUGS See the chapter ``Problems and Bugs'' in .IR "The GNU Make Manual" . [訳文] .SH バグ The GNU Make Manual の「問題点とバグ (Problems and Bugs)」の章を参照すること。 ---------------------------------------- [原文] .SH AUTHOR This manual page contributed by Dennis Morse of Stanford University. Further updates contributed by Mike Frysinger. It has been reworked by Roland McGrath. Maintained by Paul Smith. [訳文] .SH 著者 このオンラインマニュアルはスタンフォード大学の Dennis Morse 氏が寄付したものである。 さらなる改訂が Mike Frysinger から提供された。 その後 Roland McGrath が改訂した。 現在は Paul Smith が保守を行っている。 ---------------------------------------- [原文] .SH "COPYRIGHT" Copyright © 1992-1993, 1996-2020 Free Software Foundation, Inc. This file is part of .IR "GNU make" . [訳文] .SH 著作権 Copyright © 1992-1993, 1996-2020 Free Software Foundation, Inc. This file is part of GNU make. ---------------------------------------- [原文] .LP 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. [訳文] .LP 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. ---------------------------------------- [原文] .LP 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. [訳文] .LP 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. ---------------------------------------- [原文] .LP You should have received a copy of the GNU General Public License along with this program. If not, see .IR http://www.gnu.org/licenses/ . [訳文] .LP You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/. ----------------------------------------