[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

4. `Makefile.in'の生成

パッケージに対するすべての`Makefile.in'を作成するため, automakeプログラムを最上位のディレクトリで,引数無しで実行して ください.automakeは,(`configure.ac'をスキャンしながら see section 5. `configure.ac'のスキャン),自動的にそれぞれ適切な`Makefile.am'を見つけ, 対応する`Makefile.in'を生成します.automakeでは,パッケー ジを構成するものへの視野がかなり単純になっていることに注意してください. それは,一つのパッケージにはトップディレクトリにただ一つ `configure.ac'があることを想定しています.パッケージに複数の `configure.ac'がある場合,`configure.ac'があるそれぞれのディ レクトリでautomakeを実行する必要があります.(代わりの方法として, パッケージツリーを巡回して,適切な場所でautomakeを実行すること が可能な,Autoconfのautoreconfをあてにしてもかまいません.)

オプションとしてautomakeに引数を与えることが可能です. `.am'が引数に後置され,その結果が入力ファイルの名前として使用され ます.この機能は,一般的に,時代遅れの`Makefile.in'を自動的にリビ ルドするためだけに使用します.いくつかのサブディレクトリで `Makefile.in'を再生成するために使用している場合でも,プロジェクト のトップディレクトリでautomakeを実行する必要があることに注意し てください.これは,automakeは`configure.ac'をスキャンする 必要があるため,そして,automakeが状況によってその動作を変更す るため,`Makefile.in'がサブディレクトリに存在するという知識を使用 するためです.

Automakeは,`configure.ac'をスキャンするためと,その依存性 (`aclocal.m4')のため,autoconfを実行するので, autoconfPATHに存在する必要があります.AUTOCONF 変数が環境変数にある場合,autoconfの代わりにそれを使用し,これ で特定のバージョンのAutoconfを選択することが可能になります.ところで, この段落を誤解しないでください.Automakeは`configure.ac'を スキャンするためにautoconfを実行するのであって, `configure'をビルドするわけではありません.この目的に対しては autoconfを自分で実行する必要があります.

automakeは以下のオプションを受け入れます.

`-a'
`--add-missing'
Automakeには,ある共通ファイルが存在することを要求する状況もあります. 例えば,`configure.ac'でAC_CANONICAL_HOSTを実行する場合, `config.guess'が必要です.Automakeはこれらのファイルのいくつかと 一緒に配布されています(see section 2.6 automakeが必要とする可能性があるプログラム).このオプションは, 可能であれば,足りないものを自動的にパッケージに加えます.一般的に, Automakeが足りないファイルがあることを告げる場合,このオプションを使用 してみてください.デフォルトでAutomakeは,足りないファイルを指し示すシ ンボリックリンクの作成を試みます.これは--copyで変更可能です.

足りない可能性のあるファイルの多くは共通スクリプトで,それは AC_CONFIG_AUX_DIRマクロで指定した場所に配置してもかまいません. このため,AC_CONFIG_AUX_DIRの設定は,ファイルが足りないかどうか を考慮したり,足りないファイルを追加する場所(see section 5.2 その他のAutomakeが理解すること)に影響し ます.

`--libdir=dir'
Automakeのデータファイルを,インストールされたディレクトリではなく dirで探します.これは通常,デバッグで使用されます.

`-c'
`--copy'
--add-missingと一緒に使用するとき,インストールされるファイルを コピーします.デフォルトではシンボリックリンクを作成します.

`--cygnus'
GNUやGnitsの規則の代わりに,Cygnusの規則に従う`Makefile.in'を生成 します.詳細は,22. --cygnusの効果を参照してください.

`-f'
`--force-missing'
--add-missingとともに使用するとき,標準のファイルがソースツリー に存在する場合でもそれらを再インストールします.これで,新しいシンボリッ クリンクを作成する前に,ソースツリーからファイルを削除します(または, --copyとともに使用すると,新しいファイルをコピーします).

`--foreign'
グローバルな厳密さを`foreign'に設定します.詳細は, 2.2 厳密さを参照してください.

`--gnits'
グローバルな厳密さを`gnits'に設定します.詳細は,21. --gnu--gnitsの効果を参 照してください.

`--gnu'
グローバルな厳密さを`gnu'に設定します.詳細は,21. --gnu--gnitsの効果を参照 してください.これはデフォルトの厳密さです.

`--help'
コマンドラインオプションの概要を出力して終了します.

`-i'
`--ignore-deps'
これは,生成される`Makefile'での依存性追跡の機能を使用不可能にし ます.8.15 自動的な依存性追跡を参照してください.

`--include-deps'
依存性追跡の機能を使用可能にします.この機能は,デフォルトで使用可能で す.このオプションは歴史的な理由でのみ提供されていて,おそらく使用すべ きではありません.

`--no-force'
通常automakeは,`configure.ac'で記述されているすべての `Makefile.in'を作成します.このオプションは,依存性の一つの側面を 用いて,時代遅れになっている`Makefile.in'だけを更新します.

`-o dir'
`--output-dir=dir'
生成された`Makefile.in'をdirに配置します.通常,それぞれの `Makefile.in'は,`Makefile.am'に対応するディレクトリに作成さ れます.このオプションの使用は反対で,将来のリリースでは削除されるでしょ う.

`-v'
`--verbose'
読み込まれたり作成されたりしているファイルの情報をAutomakeに出力させま す.

`--version'
Automakeのバージョンナンバーを出力して終了します.

`-W CATEGORY'
`--warnings=category'
categoryに当てはまる警告を出力します.categoryは以下の一つ です.
`gnu'
GNU Coding Standards(see section `Top' in The GNU Coding Standards)に関連する警告です.
`obsolete'
時代遅れの機能と構成物です.
`override'
Automakeのルールと変数のユーザによる再定義.
`portability'
移植性の問題です(例えば,移植性が無いことが知られているMakeの機能).
`syntax'
怪しい構文,未使用の変数,入力ミスです.
`unsupported'
サポートされていない,または不完全な機能です.
`all'
すべての警告です.
`none'
すべての警告をオフにします.
`error'
警告をエラーとして処理します.

カテゴリは,その名前に`no-'を前置することでオフにすることが可能で す.例えば,`-Wno-syntax'は未使用の変数に関する警告を隠します.

デフォルトで出力されるカテゴリは,`syntax'と`unsupported'で す.さらに,`gnu'は`--gnu'と`--gnits'の厳密さで有効にな ります.

`portability'の警告は,現在デフォルトでは無効になっていますが,将 来のリリースでは,`--gnu'と`--gnits'の厳密さで有効になるでしょ う.

環境変数`WARNINGS'に,カンマで分けた有効にするカテゴリのリストを 含めることが可能です.それは,コマンドラインスイッチの前に累積され,こ の方法で`-Wnone'することで,`WARNINGS'で有効にしたすべての警 告カテゴリを無視します.この変数はautoconfのような他のツール でも使用されます.このため,未知のカテゴリは無視されます.


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated by Akihiro Sagawa on February, 25 2004 using texi2html