Automakeには,パッケージで使用可能な多くのAutoconfマクロがあります
(see Macros).状況によってはAutomakeが実際に必要とするものもありま
す.これらのマクロはaclocal.m4で定義する必要があります.さもな
ければ,それらはautoconf
では見つからないでしょう.
aclocal
プログラムは,configure.acの内容に基づいて自動的
にaclocal.m4ファイルを生成します.これは,Automakeが提供するマ
クロを入手する便利な方法を提供し,それらを探し回る必要がないようになっ
ています.aclocal
のメカニズムで,他のパッケージに対して独自のマ
クロを提供することも可能です(see Extending aclocal).また,カスタ
ムマクロの独自セットを管理するためにそれを使用することも可能です
(see Local Macros).
はじめに,aclocal
はマクロ定義を探しながら見つかったすべての
.m4ファイルをスキャンします(see Macro search path).それか
らconfigure.acをスキャンします.最初のステップで見つかったマク
ロの記述によって,マクロとマクロが要求するファイルをaclocal.m4
に書き込みます.
マクロ定義を含むファイルをaclocal.m4に書くことは,通常こ
のファイルのテキスト全体を,‘#’と‘dnl’コメントを含め,未使用
のマクロまで含めてコピーすることで実行されます.aclocal
がコメン
トを完全に無視するようにしたい場合は,コメントの最初に‘##’を使用
して下さい.
aclocalが選択しているファイルがaclocalの-I
オプションで相対的なサーチパスで指定されているパッケージのサブディレク
トリに存在するとき,aclocalはそのファイルがパッケージに属し
ていると仮定し,aclocal.m4にコピーする代わりにm4_include
を使用します.これで,パッケージはより小さくなり,依存性の追跡がより容
易になり,ファイルを自動的に配布物に含めるようになります.(例は,
see Local Macros.) システム全体で,または絶対パスで検索され見つかっ
たマクロはコピーされます.そのため,外部パッケージとして考慮する必要が
ある相対的なディレクトリがあるときは,-I reldir
の代わりに
-I `pwd`/reldir
を使用して下さい.
acinclude.m4の内容も,このファイルが存在する場合は自動的に aclocal.m4に含められます.我々は,新しいパッケージでの acinclude.m4の使用に反対します(see Local Macros).
aclocal.m4を調べている間,実際に利用されているマクロを追跡し,
記述されているが要望されていないすべてのマクロをaclocal.m4から
削除するため,aclocal
はautom4te
を実行します(see Using Autom4te
).
autom4te
はautoconf
と同じPATH
にあることを期待され
ています.その場所は,AUTOM4TE
環境変数を使用して優先させること
が可能です.