Next: , Previous: Requirements, Up: configure


5.2 その他のAutomakeが理解すること

Automakeは実行されるたびに,configure.acを追跡するために Autoconfを呼び出します.この方法で,特定のマクロの使用を認識し,生成さ れるMakefile.inを適切に調整します.現在認識されるマクロとそれら の効果は,以下のようになっています.

AC_CONFIG_HEADERS
Automakeはこれらのヘッダをリビルドするルールを生成します.古いバージョ ンのAutomakeはAM_CONFIG_HEADERの使用を要求していました (see Macros).これは今日では既に事実ではありません.
AC_CONFIG_LINKS
configureが生成したリンクをAutomakeはmake distcleanで削 除し,make distの部分で生成される指名されたソースファイルを配布 するためのルールを生成します.
AC_CONFIG_AUX_DIR
Automakeは,install-shのような様々なヘルパースクリプトを,この マクロの呼び出しで指定されたディレクトリで探します.

(スクリプトの完全なリストは以下のとおりです.config.guessconfig.subdepcompelisp-compcompileinstall-shltmain.shmdate-shmissingmkinstalldirspy-compiletexinfo.tex,そしてylwrap)すべてのスクリプトが常に探され るわけではありません.Makefile.inの要求で生成された場合だけ探さ れるスクリプトもあります. AC_CONFIG_AUX_DIRが与えられていない場合,スクリプトは ‘standard’な場所で探されます.mdate-shtexinfo.tex, そしてylwrapの標準的な場所は,現在のMakefile.amに対応す るソースディレクトリです.それ以外のものの標準的な場所は,最初は ...,または../..(トップソースディレクトリに関連) で,それは経る羽ースクリプトの一つを提供しています.See Finding `configure' Input.

AC_CONFIG_AUX_DIRで要求されるファイルは,このディレクトリに Makefile.amが無い場合でも自動的に配布されます.

AC_CANONICAL_HOST
Automakeは,config.guessconfig.subが確実に存在するよう にします.また,Makefile変数の‘host_alias’と ‘host_triplet’も導入します.Getting the Canonical System Typeを参照してくださ い.
AC_CANONICAL_SYSTEM
これはAC_CANONICAL_HOSTに似ていますが,Makefile変数の ‘build_alias’と‘target_alias’も定義します. See Getting the Canonical System Type.
AC_LIBSOURCE
AC_LIBSOURCES
AC_LIBOBJ
Automakeは,AC_LIBSOURCEAC_LIBSOURCESでリストアップさ れているすべてのファイルを自動的に配布します.

AC_LIBOBJSマクロがAC_LIBSOURCEを呼び出すことに注意してく ださい.そのため,AutoconfマクロがAC_LIBOBJ([file])を呼び出すと 説明されている場合,file.cはAutomakeで自動的に配布されます.こ れには,AC_FUNC_ALLOCAAC_FUNC_MEMCMPAC_REPLACE_FUNCS等の多くのマクロが含まれます. ところで,直接LIBOBJSに代入することは,既にサポートされていませ ん.この目的では常にAC_LIBOBJを使用すべきです.See AC_LIBOBJ vs. LIBOBJS.

AC_PROG_RANLIB
これは,ライブラリをビルドするパッケージの場合に必要になります. See Particular Program Checks.
AC_PROG_CXX
これは,C++ソースが含まれる場合に必要になります.See Particular Program Checks.
AC_PROG_F77
これは,Fortran77ソースが含まれる場合に必要になります.このマクロは Autoconfのバージョン2.13以降で配布されます.See Particular Program Checks.
AC_F77_LIBRARY_LDFLAGS
これはFortran77を含む言語が混在しているプログラムと共有ライブラリに対 して必要になります(see Mixing Fortran 77 With C and C++). See Autoconf macros supplied with Automake.
AC_PROG_FC
Fortran 90/95ソースが含まれる場合に必要になります.このマクロは Autoconfのバージョン2.58以降で配布されます.See Particular Program Checks.
AC_PROG_LIBTOOL
Automakeはlibtoolに対する処理を開始します(see Introduction).
AC_PROG_YACC
Yaccソースファイルがある場合,このマクロを使用するか, configure.acで変数‘YACC’を定義する必要があります.前者が好 まれます(see Particular Program Checks).
AC_PROG_LEX
Lexソースファイルがある場合,このマクロを使用する必要があります. See Particular Program Checks.
AC_SUBST
最初の引数は,それぞれの生成されるMakefile.inで,変数として自動 的に定義されます.See Setting Output Variables.

Autoconfマニュアルで,マクロがvarに対してAC_SUBSTを呼び出 すとか,出力変数varを定義するといった説明がある場合,varは それぞれのAutomakeが生成するMakefile.inで定義されます.例えば, AC_PATH_XTRAX_CFLAGSX_LIBSを定義するので, AC_PATH_XTRAが呼び出されている場合,Makefile.amでこれら 変数と使用することが可能です.

AM_C_PROTOTYPES
これは,de-ANSI-ficationを自動的に使用するときに必要です.ANSIを 参照してください.
AM_GNU_GETTEXT
このマクロはGNU gettextを使うパッケージに対して必要になります (see gettext).それはgettextとともに配布されます.Automakeがこのマ クロを見つけた場合,このマクロはパッケージがgettextの必要条件のいくつ かを確実に満たすようにします.
AM_MAINTAINER_MODE
このマクロはconfigureに‘--enable-maintainer-mode’オプショ ンを加えます.これが使用されている場合,automakeは生成された Makefile.in内の‘maintainer-only’ルールをデフォルトで停止し ます.このマクロは‘MAINTAINER_MODE’条件を定義し,自分の Makefile.amで使用することが可能です.
m4_include
configure.acでインクルードされるこのマクロを使用しているファイ ルはAutomakeで検索され,自動的に配布されます.それらはMakefile のルールで依存性として表現されます.

m4_includeconfigure.acの著者によって使用されることは滅 多にありませんが,aclocalがパッケージローカルのファイルにあ るマクロを要求していることを検出したとき,aclocal.m4に現れるは ずです(システム全域のディレクトリにインストールされているマクロとは異 なります.Invoking aclocalを参照して下さい).