次: , 前: Examples, 上: Top


4 Makefile.inの生成

パッケージに対するすべてのMakefile.inを作成するため, automakeプログラムを最上位のディレクトリで,引数無しで実行して ください.automakeは,(configure.acをスキャンしながら see configure),自動的にそれぞれ適切な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を実行するので, autoconfはPATHに存在する必要があります.AUTOCONF 変数が環境変数にある場合,autoconfの代わりにそれを使用し,これ で特定のバージョンのAutoconfを選択することが可能になります.ところで, この段落を誤解しないでください.Automakeはconfigure.acを スキャンするためにautoconfを実行するのであって, configureをビルドするわけではありません.この目的に対しては autoconfを自分で実行する必要があります.

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

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

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

`--libdir=dir'
Automakeのデータファイルを,インストールされたディレクトリではなく dirで探します.これは通常,デバッグで使用されます.
`-c'
`--copy'
--add-missingと一緒に使用するとき,インストールされるファイルを コピーします.デフォルトではシンボリックリンクを作成します.
`--cygnus'
GNUやGnitsの規則の代わりに,Cygnusの規則に従うMakefile.inを生成 します.詳細は,Cygnusを参照してください.
`-f'
`--force-missing'
--add-missingとともに使用するとき,標準のファイルがソースツリー に存在する場合でもそれらを再インストールします.これで,新しいシンボリッ クリンクを作成する前に,ソースツリーからファイルを削除します(または, --copyとともに使用すると,新しいファイルをコピーします).
`--foreign'
グローバルな厳密さを`foreign'に設定します.詳細は, Strictnessを参照してください.
`--gnits'
グローバルな厳密さを`gnits'に設定します.詳細は,Gnitsを参 照してください.
`--gnu'
グローバルな厳密さを`gnu'に設定します.詳細は,Gnitsを参照 してください.これはデフォルトの厳密さです.
`--help'
コマンドラインオプションの概要を出力して終了します.
`-i'
`--ignore-deps'
これは,生成されるMakefileでの依存性追跡の機能を使用不可能にし ます.Dependenciesを参照してください.
`--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 Top)に関連する警告です.
`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のような他のツール でも使用されます.このため,未知のカテゴリは無視されます.