Построение разделяемой библиотеки является относительно сложной задачей. Для помощи в платформонезависимом построении разделяемых библиотек была создана программа GNU Libtool (see section `Введение' in Руководство Libtool).
Automake использует Libtool для построения библиотек, указанных в переменной `LTLIBRARIES'. Каждая переменная `_LTLIBRARIES' является списком разделяемых библиотек, которые нужно построить. Например, для создания библиотеки с именем `libgettext.a' и соответствующей ей разделяемой библиотеки, а также их установки в `libdir', вы должны написать:
lib_LTLIBRARIES = libgettext.la
Заметьте, что разделяемые библиотеки должны быть установлены, так
что использование check_LTLIBRARIES не разрешено. Однако же,
разрешено использование переменной noinst_LTLIBRARIES. Эта
возможность должна быть использована для "готовых библиотек" libtool.
Для каждой библиотеки переменная `library_LIBADD' содержит имена дополнительных объектов libtool (файлы `.lo'), которые будет добавляться в разделяемую библиотеку. Переменная `library_LDFLAGS' содержит любые дополнительные флаги libtool, такие как `-version-info' или `-static'.
В то время как обычные библиотеки могут включать @LIBOBJS@,
библиотеки, использующие libtool, должны использовать
@LTLIBOBJS@. Это требуется, поскольку имена объектных файлов,
над которыми работает libtool, не обязательно оканчиваются на
`.o'. Руководство по libtool содержит более детальное описание этой
темы.
Для библиотек, устанавливаемых в некоторый каталог, Automake будет
автоматически снабжать их соответствующим ключом `-rpath'. Однако
для библиотек, определенных во время конфигурации (и таким образом
перечисленных в переменной EXTRA_LTLIBRARIES), Automake не знает
возможных каталогов установки; для таких библиотек вы должны сами
добавить ключ `-rpath' в соответствующую переменную
`_LDFLAGS'.
Для подробного описания смотрите See section `Руководство Libtool' in Руководство Libtool.
Go to the first, previous, next, last section, table of contents.