Next: , Previous: Examples, Up: 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を実行する必要があることに注意し てください.これは,automakeconfigure.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.acAC_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.indirに配置します.通常,それぞれの 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のような他のツール でも使用されます.このため,未知のカテゴリは無視されます.