インストールされないlibtoolライブラリをビルドしたいときもあります.こ れらは,libtoolコンビニエンスライブラリ(libtool convenience libraries)と呼ばれ,通常多くのサブライブラリをカプセル化し,後でイン ストールされる大きな一つのライブラリにまとめるときに使用されます.
libtoolコンビニエンスライブラリは,noinst_LTLIBRARIES,
check_LTLIBRARIES,またはEXTRA_LTLIBRARIESでも宣言されま
す.インストールされるlibtoolライブラリと異なり,それらはリンク時に
-rpathフラグが不要です(実際,これが違うだけです).
noinst_LTLIBRARIESでリストアップされているコンビニエンスライブ
ラリは,常にビルドされます.check_LTLIBRARIESにリストアップされ
ているものは,make checkのときだけビルドされます.最後に,
EXTRA_LTLIBRARIESでリストアップされているライブラリは,明示的に
はビルドされません.Automakeはそれらのビルドルールを出力しますが,ライ
ブラリがMakefileの依存性に表れない場合はビルドされません(これは,
EXTRA_LTLIBRARIESが条件付きコンパイルで使用されるためです).
サブディレクトリのlibtoolコンビニエンスライブラリを,一つの中心となる libtop.laライブラリにまとめる設定例は以下のようになります.
# -- Top-level Makefile.am --
SUBDIRS = sub1 sub2 ...
lib_LTLIBRARIES = libtop.la
libtop_la_SOURCES =
libtop_la_LIBADD = \
sub1/libsub1.la \
sub2/libsub2.la \
...
# -- sub1/Makefile.am --
noinst_LTLIBRARIES = libsub1.la
libsub1_la_SOURCES = ...
# -- sub2/Makefile.am --
# showing nested convenience libraries
SUBDIRS = sub2.1 sub2.2 ...
noinst_LTLIBRARIES = libsub2.la
libsub2_la_SOURCES =
libsub2_la_LIBADD = \
sub21/libsub21.la \
sub22/libsub22.la \
...