[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
flatでないパッケージでは、一番上の階層の`Makefile.am'はAutomakeにど
のサブディレクトリが構築される予定なのかを教えなければならない。これは
SUBDIRS
変数を使って行われる。
SUBDIRS
マクロはさまざまな種類の構築が起こるサブディレクトリのリス
トを保持する。生成された`Makefile'の多くのターゲット(例えば
all
)は局所的に、そして指定された全てのサブディレクトリとで走るだろう。
SUBDIRS
で列挙されるディレクトリは`Makefile.am'を含む必要はな
いことに注意せよ。(設定の後に)`Makefile'だけが必要だ。これで
(gettext
のような)Automakeを使わないパッケージからライブラリを含め
ることができる。SUBDIRS
で記述されるディレクトリは現在のディレクト
リの直接の子供でなければならない。例えば、`src/subdir'を
SUBDIRS
に入れることはできない。
deepパッケージでは、一番上層の`Makefile.am'はよく非常に短い。例えば、 GNU Hello配布物の`Makefile.am'はこうである。
EXTRA_DIST = BUGS ChangeLog.O README-alpha SUBDIRS = doc intl po src tests |
GNU Inetutils
の場合のように、パッケージ全体の一部だけを構築したい
なら、SUBDIRS
変数を上書きすることが可能だ。あなたの
`Makefile.am'では以下を含む。
SUBDIRS = @SUBDIRS@ |
そしてあなたの`configure.in'でこう指定できる。
SUBDIRS = "src doc lib po" AC_SUBST(SUBDIRS) |
これの要点は、Automakeはそのパッケージをそのサブディレクトリを持つように
構築するとだまされるが、実際にはconfigure
が走らされるまでこのリス
トは固定されないということだ。
SUBDIRS
マクロはconfigureの置き換え(例えば`@DIRS@')を含むことがで
きるが、Automake自身は実際にはこの変数の中身を調べない。
もしSUBDIRS
が定義されれば、あなたの`configure.in'は
AC_PROG_MAKE_SET
を含まなければならない。
SUBDIRS
の使用は一番上層の`Makefile.am'だけに制限されていない。
Automakeは任意の深さのパッケージを構成するように使用できる。
デフォルトでは、Automakeは深さ優先(訳注:depth-first)(`postfix')で作
業する`Makefile' を生成する。しかし、この順序を変更することは可能で
ある。あなたはSUBDIRS
に`.'を置くことによってこれを行うこと
ができる。例えば、最初に`.'を置くことは、ディレクトリの
`prefix'順序を引き起こすだろう。
[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated by Akihiro Sagawa on June, 15 2005 using texi2html 1.70.