Next: Conditional Libtool Sources, Previous: Libtool Libraries, Up: A Shared Library [Contents][Index]
¥×¥í¥°¥é¥à¤Î¾ò·ï¼°¤Î¤è¤¦¤Ë(see Conditional Programs)¡¤¥é¥¤¥Ö¥é¥ê¤Î
¾ò·ïÉÕ¤¥Ó¥ë¥É¤Ë¤â¼ç¤ËÆó¤Ä¤ÎÊýË¡¤¬¤¢¤ê¤Þ¤¹¡¥Automake¤Î¾ò·ï¼°¤ò»ÈÍѤ¹¤ë
ÊýË¡¤È¡¤Autoconf¤ÎAC_SUBST
¤ò»ÈÍѤ¹¤ëÊýË¡¤Ç¤¹¡¥
µ¤¤òÉÕ¤±¤ë¤Ù¤½ÅÍפʼÂÁõ¤Î¾ÜºÙ¤Ï¡¤¥é¥¤¥Ö¥é¥ê¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë¾ì½ê¤¬
libtool¤Ë¤È¤Ã¤Æ½ÅÍפÀ¤È¤¤¤¦¤³¤È¤Ç¤¹¡¥¤½¤ì¤Ï¡¤-rpath
¥ª¥×¥·¥ç¥ó¤ò
»ÈÍѤ·¤Æ¥ê¥ó¥¯»þ¤Ë¼¨¤µ¤ì¤ë¤â¤Î¤¬É¬Íפˤʤê¤Þ¤¹¡¥
Automake¤Î¼Â¹Ô»þ¤Ë¥¤¥ó¥¹¥È¡¼¥ëÀè¤Î¥Ç¥£¥ì¥¯¥È¥ê¤¬Ê¬¤«¤Ã¤Æ¤¤¤ë¥é¥¤¥Ö¥é¥ê
¤ËÂФ·¡¤Automake¤Ï¼«Æ°Åª¤ËŬÀڤʑ-rpath’¥ª¥×¥·¥ç¥ó¤òlibtool¤Ë¶¡µë
¤·¤Þ¤¹¡¥¤³¤ì¤Ï¡¤lib_LTLIBRARIES
¤Î¤è¤¦¤Ë¡¤¥¤¥ó¥¹¥È¡¼¥ë²Äǽ¤Ê
_LTLIBRARIES
¤ËÌÀ¼¨Åª¤Ë¥ê¥¹¥È¥¢¥Ã¥×¤µ¤ì¤Æ¤¤¤ë¥é¥¤¥Ö¥é¥ê¤Î¾ì¹ç¤Ç
¤¹¡¥
¤·¤«¤·¡¤configure»þ¤Ë·èÄꤵ¤ì¤ë(EXTRA_LTLIBRARIES
¤Ëµ½Ò¤µ¤ì¤Æ¤¤
¤ë)¥é¥¤¥Ö¥é¥ê¤ËÂФ·¤Æ¡¤Automake¤ÏºÇ½ªÅª¤Ê¥¤¥ó¥¹¥È¡¼¥ë¥Ç¥£¥ì¥¯¥È¥ê¤¬Ê¬
¤«¤ê¤Þ¤»¤ó¡¥¤½¤Î¤è¤¦¤Ê¥é¥¤¥Ö¥é¥ê¤ËÂФ·¤Æ¡¤Å¬Àڤʑ_LDFLAGS’ÊÑ¿ô¤Ë
‘-rpath’¥ª¥×¥·¥ç¥ó¤ò¼êư¤ÇÄɲ乤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡¥
°Ê²¼¤ÎÎã¤Ç¡¤¤³¤ì¤éÆó¤Ä¤Î¼êË¡¤Î°ã¤¤¤òÀâÌÀ¤·¤Þ¤¹¡¥
¤³¤ÎÎã¤Ï¡¤$(WANTEDLIBS)
¤¬AC_SUBST
¤µ¤ì¤Æ¤¤¤ëÊÑ¿ô¤Ç¡¤
./configure»þ¤Ëlibfoo.la¡¤libbar.la¡¤¤½¤ÎξÊý¡¤¤Þ
¤¿¤Ï¶õ¤ÇÀßÄꤵ¤ì¤Þ¤¹¡¥$(WANTEDLIBS)
¤Ïlib_LTLIBRARIES
¤Ë½ñ
¤«¤ì¤Æ¤¤¤Þ¤¹¤¬¡¤Automake¤Ï¡¤¤½¤ì¤¬libfoo.la¤Þ¤¿¤Ï
libbar.la¤Ë´ØÏ¢ÉÕ¤±¤µ¤ì¤ë¤³¤È¤ò¡¤¤³¤ì¤éÆó¤Ä¤Î¥é¥¤¥Ö¥é¥ê¤ËÂФ¹¤ë
¥ê¥ó¥¯¥ë¡¼¥ë¤¬ºîÀ®¤µ¤ì¤ë¤È¤¤Þ¤Ç¿ä¬¤¹¤ë¤³¤È¤¬ÉÔ²Äǽ¤Ç¤¹¡¥¤³¤Î¤¿¤á¡¤ÆÃ
¤Ë-rpath
°ú¿ô¤òÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡¥
EXTRA_LTLIBRARIES = libfoo.la libbar.la lib_LTLIBRARIES = $(WANTEDLIBS) libfoo_la_SOURCES = foo.c … libfoo_la_LDFLAGS = -rpath '$(libdir)' libbar_la_SOURCES = bar.c … libbar_la_LDFLAGS = -rpath '$(libdir)'
¤³¤ì¤Ï¡¤Æ±¤¸Makefile.am¤Ç¡¤WANT_LIBFOO
¤È
WANT_LIBBAR
¤È¤¤¤¦Ì¾Á°¤ÎAutomake¤Î¾ò·ï¼°¤ò»ÈÍѤ·¤Æ¤¤¤ë¤â¤Î¤¬¤¢¤ê
¤Þ¤¹¡¥Automake¤Ï¡¤Î¾Êý¤Î¥é¥¤¥Ö¥é¥ê¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¾ì¹ç¡¤·ë¶É
$(libdir)
¤Ë¤Ê¤ë¤³¤È¤¬ÌÀ¤é¤«¤Ê¤Î¤Ç¡¤-rpath
¤ÎÀßÄê¤ò¼«Ê¬¤Ç
·×»»¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡¥
lib_LTLIBRARIES = if WANT_LIBFOO lib_LTLIBRARIES += libfoo.la endif if WANT_LIBBAR lib_LTLIBRARIES += libbar.la endif libfoo_la_SOURCES = foo.c … libbar_la_SOURCES = bar.c …