プロジェクトで,インクルードファイルの依存性が変化するときはいつでも, 絶えずMakefile.inを更新することは開発者として辛いことも多いもの です.Automakeは自動的に依存性の変更を追跡する方法を提供しています.
Automakeは常に,システムヘッダを含むコンパイルに対する完全な依存性を使
用します.Automakeのモデルは,依存性の評価がビルドの副作用になるという
ものです.つまり依存性は,depcomp
と呼ばれる特別なラッパプログラ
ムを通じてすべてのコンパイルを実行することで求められます.
depcomp
は,多くの異なるCとC++コンパイラで,それが要求する書式で
依存情報の生成させるように上手に扱う方法を理解してます.automake
-a
で,depcomp
をソースツリーにインストールします.
depcomp
がコンパイラの正しい呼び出し方が分からない場合,依存性の
追跡はビルドで利用不可能になるだけです.
これまでのバージョンのAutomakeの経験上1,configureが非常に多くなるにつれ,管理者のシステムでのみ生 成される依存性が信頼できないことを我々に教えてくれました.そのため, Automake はビルド時に依存性を追跡することをその代わりに実装しました.
自動的な依存性の追跡で,変数AUTOMAKE_OPTIONS
に
no-dependencies
を書くことや,AM_INIT_AUTOMAKE
への引数と
してno-dependencies
を渡すこと(これは推奨されるべき方法です)が無
くなるはずです.そうしない場合は,automake
を-i
オプション
を用いて呼び出してください.依存性の追跡はデフォルトで利用可能です.
パッケージを構築している人々も,--disable-dependency-tracking
を
用いてconfigureすることで,依存性の追跡を利用不可能にすることを選択す
ることが可能です.
[1] Automakeでの自動的な依 存性の追跡に関する歴史と経験についての情報は, http://sources.redhat.com/automake/dependencies.htmlを参照して ください.