Previous: Data, Up: Other objects   [Contents][Index]


8.4 ¥Ó¥ë¥É¤µ¤ì¤Æ¤¤¤ë¥½¡¼¥¹

Automake¤Î¼«Æ°Åª¤Ê°Í¸À­ÄÉÀפϡ¤¥³¥ó¥Ñ¥¤¥ë¤ÎÉûºîÍѤȤ·¤ÆÆ¯¤¯¤Î¤Ç (see Dependencies)¡¤¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¤ÇÌäÂ꤬¤¢¤ê¤Þ¤¹¡¥¥¿¡¼¥²¥Ã¥È¤Ï¡¤ °Í¸À­¤¬ºîÀ®¤µ¤ì¤ë¤Þ¤Ç¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤ë¤Ù¤­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¤¤³¤ì¤é¤Î°Í ¸À­¤ÏºÇ½é¤Ë¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤ë¤Þ¤ÇÃΤ뤳¤È¤¬¤Ç¤­¤Þ¤»¤ó¡¥

Ä̾°Í¸À­¤ÏÇÛÉÛ¤µ¤ì¤Æ¤¤¤ë¥½¡¼¥¹¤Ë¤¢¤ë¤Î¤Ç¡¤¤³¤ì¤ÏÌäÂê¤Ë¤Ê¤ê¤Þ¤»¤ó¡¥ ¤½¤ì¤é¤Ï´û¤Ë¸ºß¤·¡¤¥Ó¥ë¥É¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡¥foo.c¤¬ foo.h¤ò¥¤¥ó¥¯¥ë¡¼¥É¤·¤Æ¤¤¤ë¤È²¾Äꤷ¤Þ¤¹¡¥ºÇ½é¤Ëfoo.o¤Ë¥³ ¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¤­¡¤make¤Ïfoo.o¤¬foo.c¤Ë°Í¸¤¹¤ë ¤³¤È¤òÃΤäƤ¤¤Þ¤¹¡¥¤³¤Î¥³¥ó¥Ñ¥¤¥ë¤ÎÉûºîÍѤȤ·¤Æ¡¤¤½¤ì°Ê¹ß¤Î make¤Î¸Æ¤Ó½Ð¤·¤Çº½Å¤µ¤ì¤ë¤è¤¦¤Ë¡¤depcomp¤¬ foo.h¤Î°Í¸À­¤òµ­Ï¿¤·¤Þ¤¹¡¥¤³¤Î¾ò·ï¤Ç¤Ï¡¤ÌäÂ꤬¤Ê¤¤¤³¤È¤¬ÌÀ¤é¤« ¤Ç¤¹¡¥¤Ä¤Þ¤ê¡¤foo.o¤¬Â¸ºß¤»¤º¥Ó¥ë¥É¤µ¤ì¤Æ¤¤¤Ê¤¤(°Í¸À­¤Ë¤Ï±Æ¶Á ¤µ¤ì¤Ê¤¤)¡¤¤Þ¤¿¤Ï¡¤Àµ³Î¤Ê°Í¸À­¤¬Â¸ºß¤·foo.o¤ò¥ê¥Ó¥ë¥É¤¹¤Ù¤­¤« ¤É¤¦¤«¤ò·èÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¢¤ë¤È¤¤¤¦¡¤¤¤¤º¤ì¤«¤Î¾õÂÖ¤Ë ¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡¥

ºÇ½é¤Ëmake¤ò¼Â¹Ô¤¹¤ë¤È¤­foo.h¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¡¤Ê̤ΠÏäˤʤê¤Þ¤¹¡¥Î㤨¤Ð¡¤foo.h¤ò¥Ó¥ë¥É¤¹¤ë¥ë¡¼¥ë¤¬¤¢¤ë¤È²¾Äꤷ¤Þ¤¹¡¥ ¤³¤Î¤È¤­¡¤¥³¥ó¥Ñ¥¤¥é¤¬foo.h¤ò¸«¤Ä¤±¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¤Î¤Ç¡¤ file.o¤Î¥Ó¥ë¥É¤Ï¼ºÇÔ¤·¤Þ¤¹¡¥make¤Ï¡¤°Í¸À­¤Î¾ðÊó¤¬Â­ ¤ê¤Ê¤¤¤¿¤á¡¤ºÇ½é¤Ëfoo.h¤ò¥Ó¥ë¥É¤¹¤ë¥ë¡¼¥ë¤ò³«»Ï¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ ¤»¤ó¡¥

BUILT_SOURCESÊÑ¿ô¤Ç¤³¤ÎÌäÂê¤ò²óÈò¤·¤Þ¤¹¡¥BUILT_SOURCES¤Ç ¥ê¥¹¥È¥¢¥Ã¥×¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤Ï¡¤Â¾¤Î¥¿¡¼¥²¥Ã¥È¤ò½èÍý¤¹¤ëÁ°¤Ë¡¤ make all¤ämake check(¤Þ¤¿¤Ï¡¤make install¤Ç¤â)ºî À®¤µ¤ì¤Þ¤¹¡¥¤·¤«¤·¡¤¤½¤Î¤è¤¦¤Ê¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï¡¤ÌÀ¼¨Åª¤Ë¾¤Î ‘_SOURCES’¤Çµ­½Ò¤·¡¤Í׵ᤷ¤Æ¤¤¤Ê¤¤¸Â¤ê¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Þ¤»¤ó¡¥

¤³¤Î¤¿¤á¡¤Æ³Æþ¤¹¤ëÎã¤ò·èÄꤹ¤ë¤¿¤á¡¤make all¤ämake check ¤Ç(foo.o¤ò´Þ¤à)¾¤Î¥¿¡¼¥²¥Ã¥È¤ò¥Ó¥ë¥É¤¹¤ëÁ°¤Ëfoo.h¤ò³Î¼Â ¤ËÆþ¼ê¤Ç¤­¤ë¤è¤¦¡¤BUILT_SOURCES = foo.h¤ò»ÈÍѤ·¤Þ¤¹¡¥

¥Ó¥ë¥É¥×¥í¥»¥¹¤Î½é´ü¤ËºîÀ®¤¹¤ëɬÍפ¬¤¢¤ë¥Õ¥¡¥¤¥ë¤Ï¡¤¤³¤ÎÊÑ¿ô¤Ç¥ê¥¹¥È¥¢¥Ã ¥×¤¹¤ë¤³¤È¤¬²Äǽ¤Ê¤Î¤Ç¡¤BUILT_SOURCES¤Ï¼ÂºÝ¤Ë¤Ï¤Á¤ç¤Ã¤È¸í¤Ã¤¿Ì¾ ¾Î¤Ç¤¹¡¥¤µ¤é¤Ë¡¤¥Ó¥ë¥É¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥½¡¼¥¹¤ò¡¤BUILT_SOURCES¤Ë¥ê ¥¹¥È¥¢¥Ã¥×¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡¥Î㤨¤Ð¡¤À¸À®¤µ¤ì¤ë.c¥Õ¥¡¥¤¥ë¤Ï¡¤ ´ØÏ¢¤¹¤ë¥ª¥Ö¥¸¥§¥¯¥È¤Ø¤Î°Í¸À­¤òÃΤäƤ¤¤ë¤Î¤Ç¡¤(¾¤Î¥½¡¼¥¹¤«¤é¥¤¥ó¥¯ ¥ë¡¼¥É¤µ¤ì¤Ê¤¤¸Â¤ê)BUILT_SOURCES¤Ë½ñ¤¯É¬ÍפϤ¢¤ê¤Þ¤»¤ó¡¥

BUILT_SOURCES¤Ïmake all¡¤make check¡¤¤½¤·¤Æ make install¤À¤±¤òº½Å¤¹¤ë¤È¤¤¤¦¤³¤È¤ò¶¯Ä´¤·¤Æ¤ª¤¯¤Î¤¬½ÅÍפ«¤â ¤·¤ì¤Þ¤»¤ó¡¥¤³¤ì¤Ï¡¤»ØÄꤷ¤¿¥¿¡¼¥²¥Ã¥È(Î㤨¤Ð¡¤make foo)¤¬¡¤¥Ó ¥ë¥É¥½¡¼¥¹¤Ç°Í¸¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¤¥¯¥ê¡¼¥ó¤Ê¥Ä¥ê¡¼¤Ç¤Ï¥Ó¥ë¥É¤Ç¤­¤Ê¤¤¤³ ¤È¤ò°ÕÌ£¤·¤Þ¤¹¡¥¤·¤«¤·¡¤¤½¤ÎÁ°¤Ëmake all¤ò¼Â¹Ô¤·¤Æ¤¤¤ë¾ì¹ç¡¤°Í ¸À­¤¬´û¤ËÍøÍѲÄǽ¤Ê¤è¤¦¤Ëµá¤Þ¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¤À®¸ù¤·¤Þ¤¹¡¥

¼¡¤Î¥»¥¯¥·¥ç¥ó¤Ç¤Ï¡¤¥Ó¥ë¥É¤µ¤ì¤Æ¤¤¤ë¥½¡¼¥¹¤ò½èÍý¤¹¤ë´Êñ¤ÊÎã¤òÀâÌÀ¤·¡¤ µÄÏÀ¤·¤Æ¤¤¤­¤Þ¤¹¡¥