次: Configuring, 前: Makefile rules, 上: Integrating libtool
libtoolライブラリのサポートは,`LTLIBRARIES'プライマリの下で実装 されています.
libtool配布物のdemoサブディレクトリの,Automake Makefile.amからの例は,以下のようになっています.
最初に,プログラムをlibtoolライブラリとリンクするため, `program_LDADD'変数のみを使用してください.
bin_PROGRAMS = hell hell.debug # Build hell from main.c and libhello.la hell_SOURCES = main.c hell_LDADD = libhello.la # Create an easier-to-debug version of hell. hell_debug_SOURCES = main.c hell_debug_LDADD = libhello.la hell_debug_LDFLAGS = -static
フラグ`-dlopen'と`-dlpreopen'(see Link mode)は, program_LDADD変数で,より適切になります.残念ながら,リリース1.4 までのGNU automakeは,program_LDADD変数でこれらのフラグを受け入 れないため,以下で代用します.
program_LDADD = "-dlopen" libfoo.la program_DEPENDENCIES = libfoo.la
(インストールされていない共有libtoolライブラリとのリンクを避けるため `-static'を使用するような)`program'をリンクしている間, libtool に渡したいあらゆるフラグを詰め込むため,`program_LDFLAGS' 変数を使用することも可能です.
libtoolライブラリをビルドすることは,ほとんど冒険です... `-version-info'(see Versioning)オプションをlibtoolに渡すため, `libhello_la_LDFLAGS'を使用することに注意してください.
# Build a libtool library, libhello.la for installation in libdir. lib_LTLIBRARIES = libhello.la libhello_la_SOURCES = hello.c foo.c libhello_la_LDFLAGS = -version-info 3:12:1
`-rpath'オプションは,(noinst_LTLIBRARIES
としてリストアッ
プされるライブラリ以外)Automakeにより自動的に渡されるので,指定する必
要はありません.
詳細は,See Building a Shared Library.