Next: , Previous: Program and Library Variables, Up: Programs   [Contents][Index]


7.5 ¥Ç¥Õ¥©¥ë¥È¤Î_SOURCES

_SOURCESÊÑ¿ô¤Ï¡¤¥×¥í¥°¥é¥à(see A Program)¡¤¥é¥¤¥Ö¥é¥ê (see A Library)¡¤¤½¤·¤ÆLibtool¥é¥¤¥Ö¥é¥ê(see A Shared Library) ¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤ·¤Þ¤¹¡¥

¤½¤Î¤è¤¦¤ÊÊÑ¿ô¤¬¥¿¡¼¥²¥Ã¥È¤ËÂФ·¤Æ»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¤Automake¤ÏÆÈ¼« ¤ËÄêµÁ¤·¤Þ¤¹¡¥¥Ç¥Õ¥©¥ë¥È¤Ï¡¤¥³¥ó¥Ñ¥¤¥ë¤¹¤ëñ°ì¤ÎC¥Õ¥¡¥¤¥ë¤Ç¡¤¤½¤Î̾Á° ¤Ï¥¿¡¼¥²¥Ã¥È¼«¿È¤Î̾Á°¤ò¸µ¤Ë¤·¤Æ¤¤¤Æ¡¤³ÈÄ¥»Ò¤ò.c¤ËÃÖ´¹¤·¤¿¤â¤Î ¤Ç¤¹¡¥(C¤Î¥Ç¥Õ¥©¥ë¥È¤Ï´í¸±¤Ç¤¹¤¬¡¤²æ¡¹¤ÏÎò»ËŪ¤ÊÍýͳ¤Ç¿Èư¤­¤¬¤È¤ì¤Ê¤¯ ¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡¥)

Î㤨¤Ð¡¤°Ê²¼¤Î¤è¤¦¤ÊMakefile.am¤¬¤¢¤Ã¤Æ¡¤Âбþ¤¹¤ë ‘libfoo_a_SOURCES’¤¬Ìµ¤¤¾ì¹ç¤ò¹Í¤¨¤Þ¤¹¡¥

lib_LIBRARIES = libfoo.a sub/libc++.a

libfoo.a¤Ï¥Ç¥Õ¥©¥ë¥È¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾libfoo.c¤ò»ÈÍѤ·¤Æ ¥Ó¥ë¥É¤µ¤ì¡¤sub/libc++.a¤Ïsub/libc++.c¤«¤é¥Ó¥ë¥É¤µ¤ì¤Þ¤¹¡¥ (¤è¤ê¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¤sub/libc++.a¤Ïsub_libc___a.c¤« ¤é¡¤¤¹¤Ê¤ï¤Á¥Ç¥Õ¥©¥ë¥È¤Î¥½¡¼¥¹¤Ï¥¿¡¼¥²¥Ã¥È¤Îɸ½àŪ¤Ê̾Á°¤Ë.c¤ò Äɲä·¤¿¤â¤Î¤Ç¤·¤¿¡¥²æ¡¹¤Ï¡¤¿·¤·¤¤Æ°ºî¤Ï¤è¤ê¸­ÌÀ¤À¤È¿®¤¸¤Æ¤¤¤Þ¤¹¤¬¡¤¸å Êý¸ß´¹À­¤È¤·¤Æ¡¤¤½¤Î̾Á°¤Î¥Õ¥¡¥¤¥ë¤ä¥ë¡¼¥ë¤¬Â¸ºß¤¹¤ë¾ì¹ç¡¤automake¤Ï¸Å ¤¤Ì¾Á°¤ò»ÈÍѤ·¤Þ¤¹¡¥)

¥Ç¥Õ¥©¥ë¥È¤Î¥½¡¼¥¹¤Ï¡¤¤¿¤¯¤µ¤ó¤Î¥Æ¥¹¥È¥×¥í¥°¥é¥à¤ò¤½¤ì¤¾¤ìñ°ì¤Î¥½¡¼¥¹ ¤«¤é¥Ó¥ë¥É¤¹¤ë¡¤¥Æ¥¹¥È¥¹¥¤¡¼¥È¤Ç¼ç¤ËÌò¤ËΩ¤Á¤Þ¤¹¡¥Î㤨¤Ð°Ê²¼¤Î¤è¤¦¤Ë¤· ¤Þ¤¹¡¥

check_PROGRAMS = test1 test2 test3

test1¡¤test2¡¤¤½¤·¤Ætest3¤Ï¡¤¤½¤ì¤¾¤ì test1.c¡¤test2.c¡¤¤½¤·¤Ætest3.c¤«¤é¥Ó¥ë¥É¤µ¤ì¤Þ¤¹¡¥

¤³¤ì¤¬ÊØÍø¤Ë¤Ê¤ë¤â¤¦°ì¤Ä¤Î¾õ¶·¤Ï¡¤ÆÈ¼«¤Î¥Õ¥¡¥¤¥ë(moduleN.c)¤ÇÄê µÁ¤µ¤ì¤Æ¤¤¤ë¿¤¯¤ÎLibtool¥â¥¸¥å¡¼¥ë(moduleN.la)¤ò¥Ó¥ë¥É¤¹¤ë¤È¤­ ¤Ç¤¹¡¥

AM_LDFLAGS = -module
lib_LTLIBRARIES = module1.la module2.la module3.la

¤ª¤·¤Þ¤¤¤Ë¡¤¤³¤Î¥Ç¥Õ¥©¥ë¥È¤Î¥½¡¼¥¹¤òµá¤á¤ë¤³¤È¤òÈò¤±¤ëɬÍפ¬¤¢¤ë¾õ¶·¤¬ °ì¤Ä¤¢¤ê¤Þ¤¹¡¥¥¿¡¼¥²¥Ã¥È¤¬¥½¡¼¥¹¤«¤é¥Ó¥ë¥É¤µ¤ì¤Ê¤¤¤È¤­¤Ç¤¹¡¥²æ¡¹¤Ï true¤Ç¤½¤Î¤è¤¦¤ÊÎã¤ò¸«¤Æ¤­¤Þ¤·¤¿¡¥¤³¤ì¤Ï¡¤¥¿¡¼¥²¥Ã¥È¤Î¤¹¤Ù¤Æ¤Î¹½ À®Í×ÁǤ¬´û¤Ë¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Æ¤¤¤Æ¡¤Ã±¤Ë_LDADDÊÑ¿ô¤ò»ÈÍѤ·¤Æ·ë¹ç ¤¹¤ëɬÍפ¬¤¢¤ë¤È¤­¤ËÀ¸¤¸¤Þ¤¹¡¥¤½¤·¤Æ¡¤automake¤¬¥Ç¥Õ¥©¥ë¥È¤òµá¤á¤Ê¤¤¤è ¤¦¤Ë¶õ¤Î_SOURCESÊÑ¿ô¤òÄêµÁ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡¥

bin_PROGRAMS = target
target_SOURCES =
target_LDADD = libmain.a libmisc.a