¥Ñ¥Ã¥±¡¼¥¸¤ËÂФ¹¤ë¤¹¤Ù¤Æ¤ÎMakefile.in¤òºîÀ®¤¹¤ë¤¿¤á¡¤
automake
¥×¥í¥°¥é¥à¤òºÇ¾å°Ì¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç¡¤°ú¿ô̵¤·¤Ç¼Â¹Ô¤·¤Æ
¤¯¤À¤µ¤¤¡¥automake
¤Ï¡¤(configure.ac¤ò¥¹¥¥ã¥ó¤·¤Ê¤¬¤é
see configure)¡¤¼«Æ°Åª¤Ë¤½¤ì¤¾¤ìŬÀÚ¤ÊMakefile.am¤ò¸«¤Ä¤±¡¤
Âбþ¤¹¤ëMakefile.in¤òÀ¸À®¤·¤Þ¤¹¡¥automake
¤Ç¤Ï¡¤¥Ñ¥Ã¥±¡¼
¥¸¤ò¹½À®¤¹¤ë¤â¤Î¤Ø¤Î»ëÌ¤«¤Ê¤êñ½ã¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡¥
¤½¤ì¤Ï¡¤°ì¤Ä¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ë¤Ï¥È¥Ã¥×¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¿¤À°ì¤Ä
configure.ac¤¬¤¢¤ë¤³¤È¤òÁÛÄꤷ¤Æ¤¤¤Þ¤¹¡¥¥Ñ¥Ã¥±¡¼¥¸¤ËÊ£¿ô¤Î
configure.ac¤¬¤¢¤ë¾ì¹ç¡¤configure.ac¤¬¤¢¤ë¤½¤ì¤¾¤ì¤Î¥Ç¥£
¥ì¥¯¥È¥ê¤Çautomake
¤ò¼Â¹Ô¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡¥(Âå¤ï¤ê¤ÎÊýË¡¤È¤·¤Æ¡¤
¥Ñ¥Ã¥±¡¼¥¸¥Ä¥ê¡¼¤ò½ä²ó¤·¤Æ¡¤Å¬Àڤʾì½ê¤Çautomake
¤ò¼Â¹Ô¤¹¤ë¤³¤È
¤¬²Äǽ¤Ê¡¤Autoconf¤Îautoreconf
¤ò¤¢¤Æ¤Ë¤·¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡¥)
¥ª¥×¥·¥ç¥ó¤È¤·¤Æautomake
¤Ë°ú¿ô¤òÍ¿¤¨¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡¥
.am¤¬°ú¿ô¤Ë¸åÃÖ¤µ¤ì¡¤¤½¤Î·ë²Ì¤¬ÆþÎÏ¥Õ¥¡¥¤¥ë¤Î̾Á°¤È¤·¤Æ»ÈÍѤµ¤ì
¤Þ¤¹¡¥¤³¤Îµ¡Ç½¤Ï¡¤°ìÈÌŪ¤Ë¡¤»þÂåÃÙ¤ì¤ÎMakefile.in¤ò¼«Æ°Åª¤Ë¥ê¥Ó
¥ë¥É¤¹¤ë¤¿¤á¤À¤±¤Ë»ÈÍѤ·¤Þ¤¹¡¥¤¤¤¯¤Ä¤«¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ç
Makefile.in¤òºÆÀ¸À®¤¹¤ë¤¿¤á¤Ë»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ç¤â¡¤¥×¥í¥¸¥§¥¯¥È
¤Î¥È¥Ã¥×¥Ç¥£¥ì¥¯¥È¥ê¤Çautomake
¤ò¼Â¹Ô¤¹¤ëɬÍפ¬¤¢¤ë¤³¤È¤ËÃí°Õ¤·
¤Æ¤¯¤À¤µ¤¤¡¥¤³¤ì¤Ï¡¤automake
¤Ïconfigure.ac¤ò¥¹¥¥ã¥ó¤¹¤ë
ɬÍפ¬¤¢¤ë¤¿¤á¡¤¤½¤·¤Æ¡¤automake
¤¬¾õ¶·¤Ë¤è¤Ã¤Æ¤½¤Îưºî¤òÊѹ¹¤¹
¤ë¤¿¤á¡¤Makefile.in¤¬¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ë¸ºß¤¹¤ë¤È¤¤¤¦Ã챤ò»ÈÍÑ
¤¹¤ë¤¿¤á¤Ç¤¹¡¥
Automake¤Ï¡¤configure.ac¤ò¥¹¥¥ã¥ó¤¹¤ë¤¿¤á¤È¡¤¤½¤Î°Í¸À
(aclocal.m4)¤Î¤¿¤á¡¤autoconf
¤ò¼Â¹Ô¤¹¤ë¤Î¤Ç¡¤
autoconf
¤ÏPATH
¤Ë¸ºß¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡¥AUTOCONF
ÊÑ¿ô¤¬´Ä¶ÊÑ¿ô¤Ë¤¢¤ë¾ì¹ç¡¤autoconf
¤ÎÂå¤ï¤ê¤Ë¤½¤ì¤ò»ÈÍѤ·¡¤¤³¤ì
¤ÇÆÃÄê¤Î¥Ð¡¼¥¸¥ç¥ó¤ÎAutoconf¤òÁªÂò¤¹¤ë¤³¤È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡¥¤È¤³¤í¤Ç¡¤
¤³¤ÎÃÊÍî¤ò¸í²ò¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡¥Automake¤Ïconfigure.ac¤ò
¥¹¥¥ã¥ó¤¹¤ë¤¿¤á¤Ëautoconf
¤ò¼Â¹Ô¤¹¤ë¤Î¤Ç¤¢¤Ã¤Æ¡¤
configure¤ò¥Ó¥ë¥É¤¹¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡¥¤³¤ÎÌÜŪ¤ËÂФ·¤Æ¤Ï
autoconf
¤ò¼«Ê¬¤Ç¼Â¹Ô¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡¥
automake
¤Ï°Ê²¼¤Î¥ª¥×¥·¥ç¥ó¤ò¼õ¤±Æþ¤ì¤Þ¤¹¡¥
Automake¤Ë¤Ï¡¤¤¢¤ë¶¦ÄÌ¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹¤ë¤³¤È¤òÍ׵᤹¤ë¾õ¶·¤â¤¢¤ê¤Þ¤¹¡¥
Î㤨¤Ð¡¤configure.ac¤ÇAC_CANONICAL_HOST
¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¡¤
config.guess¤¬É¬ÍפǤ¹¡¥Automake¤Ï¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Î¤¤¤¯¤Ä¤«¤È
°ì½ï¤ËÇÛÉÛ¤µ¤ì¤Æ¤¤¤Þ¤¹(see Auxiliary Programs)¡¥¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¤
²Äǽ¤Ç¤¢¤ì¤Ð¡¤Â¤ê¤Ê¤¤¤â¤Î¤ò¼«Æ°Åª¤Ë¥Ñ¥Ã¥±¡¼¥¸¤Ë²Ã¤¨¤Þ¤¹¡¥°ìÈÌŪ¤Ë¡¤
Automake¤¬Â¤ê¤Ê¤¤¥Õ¥¡¥¤¥ë¤¬¤¢¤ë¤³¤È¤ò¹ð¤²¤ë¾ì¹ç¡¤¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍÑ
¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡¥¥Ç¥Õ¥©¥ë¥È¤ÇAutomake¤Ï¡¤Â¤ê¤Ê¤¤¥Õ¥¡¥¤¥ë¤ò»Ø¤·¼¨¤¹¥·
¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤ÎºîÀ®¤ò»î¤ß¤Þ¤¹¡¥¤³¤ì¤Ï--copy
¤ÇÊѹ¹²Äǽ¤Ç¤¹¡¥
¤ê¤Ê¤¤²ÄǽÀ¤Î¤¢¤ë¥Õ¥¡¥¤¥ë¤Î¿¤¯¤Ï¶¦ÄÌ¥¹¥¯¥ê¥×¥È¤Ç¡¤¤½¤ì¤Ï
AC_CONFIG_AUX_DIR
¥Þ¥¯¥í¤Ç»ØÄꤷ¤¿¾ì½ê¤ËÇÛÃÖ¤·¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡¥
¤³¤Î¤¿¤á¡¤AC_CONFIG_AUX_DIR
¤ÎÀßÄê¤Ï¡¤¥Õ¥¡¥¤¥ë¤¬Â¤ê¤Ê¤¤¤«¤É¤¦¤«
¤ò¹Íθ¤·¤¿¤ê¡¤Â¤ê¤Ê¤¤¥Õ¥¡¥¤¥ë¤òÄɲ乤ë¾ì½ê(see Optional)¤Ë±Æ¶Á¤·
¤Þ¤¹¡¥
Automake¤Î¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤ò¡¤¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ï¤Ê¤¯ dir¤Çõ¤·¤Þ¤¹¡¥¤³¤ì¤ÏÄ̾¥Ç¥Ð¥Ã¥°¤Ç»ÈÍѤµ¤ì¤Þ¤¹¡¥
--add-missing
¤È°ì½ï¤Ë»ÈÍѤ¹¤ë¤È¤¡¤¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤ò
¥³¥Ô¡¼¤·¤Þ¤¹¡¥¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤òºîÀ®¤·¤Þ¤¹¡¥
GNU¤äGnits¤Îµ¬Â§¤ÎÂå¤ï¤ê¤Ë¡¤Cygnus¤Îµ¬Â§¤Ë½¾¤¦Makefile.in¤òÀ¸À® ¤·¤Þ¤¹¡¥¾ÜºÙ¤Ï¡¤Cygnus¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡¥
--add-missing
¤È¤È¤â¤Ë»ÈÍѤ¹¤ë¤È¤¡¤É¸½à¤Î¥Õ¥¡¥¤¥ë¤¬¥½¡¼¥¹¥Ä¥ê¡¼
¤Ë¸ºß¤¹¤ë¾ì¹ç¤Ç¤â¤½¤ì¤é¤òºÆ¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡¥¤³¤ì¤Ç¡¤¿·¤·¤¤¥·¥ó¥Ü¥ê¥Ã
¥¯¥ê¥ó¥¯¤òºîÀ®¤¹¤ëÁ°¤Ë¡¤¥½¡¼¥¹¥Ä¥ê¡¼¤«¤é¥Õ¥¡¥¤¥ë¤òºï½ü¤·¤Þ¤¹(¤Þ¤¿¤Ï¡¤
--copy
¤È¤È¤â¤Ë»ÈÍѤ¹¤ë¤È¡¤¿·¤·¤¤¥Õ¥¡¥¤¥ë¤ò¥³¥Ô¡¼¤·¤Þ¤¹)¡¥
¥°¥í¡¼¥Ð¥ë¤Ê¸·Ì©¤µ¤ò‘foreign’¤ËÀßÄꤷ¤Þ¤¹¡¥¾ÜºÙ¤Ï¡¤ Strictness¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡¥
¥°¥í¡¼¥Ð¥ë¤Ê¸·Ì©¤µ¤ò‘gnits’¤ËÀßÄꤷ¤Þ¤¹¡¥¾ÜºÙ¤Ï¡¤Gnits¤ò»² ¾È¤·¤Æ¤¯¤À¤µ¤¤¡¥
¥°¥í¡¼¥Ð¥ë¤Ê¸·Ì©¤µ¤ò‘gnu’¤ËÀßÄꤷ¤Þ¤¹¡¥¾ÜºÙ¤Ï¡¤Gnits¤ò»²¾È ¤·¤Æ¤¯¤À¤µ¤¤¡¥¤³¤ì¤Ï¥Ç¥Õ¥©¥ë¥È¤Î¸·Ì©¤µ¤Ç¤¹¡¥
¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤Î³µÍפò½ÐÎϤ·¤Æ½ªÎ»¤·¤Þ¤¹¡¥
¤³¤ì¤Ï¡¤À¸À®¤µ¤ì¤ëMakefile¤Ç¤Î°Í¸ÀÄÉÀפε¡Ç½¤ò»ÈÍÑÉÔ²Äǽ¤Ë¤· ¤Þ¤¹¡¥Dependencies¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡¥
°Í¸ÀÄÉÀפε¡Ç½¤ò»ÈÍѲÄǽ¤Ë¤·¤Þ¤¹¡¥¤³¤Îµ¡Ç½¤Ï¡¤¥Ç¥Õ¥©¥ë¥È¤Ç»ÈÍѲÄǽ¤Ç ¤¹¡¥¤³¤Î¥ª¥×¥·¥ç¥ó¤ÏÎò»ËŪ¤ÊÍýͳ¤Ç¤Î¤ßÄ󶡤µ¤ì¤Æ¤¤¤Æ¡¤¤ª¤½¤é¤¯»ÈÍѤ¹¤Ù ¤¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡¥
Ä̾ïautomake
¤Ï¡¤configure.ac¤Çµ½Ò¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î
Makefile.in¤òºîÀ®¤·¤Þ¤¹¡¥¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¤°Í¸À¤Î°ì¤Ä¤Î¦Ì̤ò
ÍѤ¤¤Æ¡¤»þÂåÃÙ¤ì¤Ë¤Ê¤Ã¤Æ¤¤¤ëMakefile.in¤À¤±¤ò¹¹¿·¤·¤Þ¤¹¡¥
À¸À®¤µ¤ì¤¿Makefile.in¤òdir¤ËÇÛÃÖ¤·¤Þ¤¹¡¥Ä̾¤½¤ì¤¾¤ì¤Î Makefile.in¤Ï¡¤Makefile.am¤ËÂбþ¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ËºîÀ®¤µ ¤ì¤Þ¤¹¡¥¤³¤Î¥ª¥×¥·¥ç¥ó¤Î»ÈÍѤÏÈ¿ÂФǡ¤¾Íè¤Î¥ê¥ê¡¼¥¹¤Ç¤Ïºï½ü¤µ¤ì¤ë¤Ç¤·¤ç ¤¦¡¥
ÆÉ¤ß¹þ¤Þ¤ì¤¿¤êºîÀ®¤µ¤ì¤¿¤ê¤·¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤Î¾ðÊó¤òAutomake¤Ë½ÐÎϤµ¤»¤Þ ¤¹¡¥
Automake¤Î¥Ð¡¼¥¸¥ç¥ó¥Ê¥ó¥Ð¡¼¤ò½ÐÎϤ·¤Æ½ªÎ»¤·¤Þ¤¹¡¥
category¤Ë¤¢¤Æ¤Ï¤Þ¤ë·Ù¹ð¤ò½ÐÎϤ·¤Þ¤¹¡¥category¤Ï°Ê²¼¤Î°ì¤Ä ¤Ç¤¹¡¥
GNU Coding Standards(see The GNU Coding Standards)¤Ë´ØÏ¢¤¹¤ë·Ù¹ð¤Ç¤¹¡¥
»þÂåÃÙ¤ì¤Îµ¡Ç½¤È¹½À®Êª¤Ç¤¹¡¥
Automake¤Î¥ë¡¼¥ë¤ÈÊÑ¿ô¤Î¥æ¡¼¥¶¤Ë¤è¤ëºÆÄêµÁ¡¥
°Ü¿¢À¤ÎÌäÂê¤Ç¤¹(Î㤨¤Ð¡¤°Ü¿¢À¤¬Ìµ¤¤¤³¤È¤¬ÃΤé¤ì¤Æ¤¤¤ëMake¤Îµ¡Ç½)¡¥
²ø¤·¤¤¹½Ê¸¡¤Ì¤»ÈÍѤÎÊÑ¿ô¡¤ÆþÎϥߥ¹¤Ç¤¹¡¥
¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¡¤¤Þ¤¿¤ÏÉÔ´°Á´¤Êµ¡Ç½¤Ç¤¹¡¥
¤¹¤Ù¤Æ¤Î·Ù¹ð¤Ç¤¹¡¥
¤¹¤Ù¤Æ¤Î·Ù¹ð¤ò¥ª¥Õ¤Ë¤·¤Þ¤¹¡¥
·Ù¹ð¤ò¥¨¥é¡¼¤È¤·¤Æ½èÍý¤·¤Þ¤¹¡¥
¥«¥Æ¥´¥ê¤Ï¡¤¤½¤Î̾Á°¤Ë‘no-’¤òÁ°ÃÖ¤¹¤ë¤³¤È¤Ç¥ª¥Õ¤Ë¤¹¤ë¤³¤È¤¬²Äǽ¤Ç ¤¹¡¥Î㤨¤Ð¡¤‘-Wno-syntax’¤Ï̤»ÈÍѤÎÊÑ¿ô¤Ë´Ø¤¹¤ë·Ù¹ð¤ò±£¤·¤Þ¤¹¡¥
¥Ç¥Õ¥©¥ë¥È¤Ç½ÐÎϤµ¤ì¤ë¥«¥Æ¥´¥ê¤Ï¡¤‘syntax’¤È‘unsupported’¤Ç ¤¹¡¥¤µ¤é¤Ë¡¤‘gnu’¤Ï‘--gnu’¤È‘--gnits’¤Î¸·Ì©¤µ¤Ç͸ú¤Ë¤Ê ¤ê¤Þ¤¹¡¥
‘portability’¤Î·Ù¹ð¤Ï¡¤¸½ºß¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï̵¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¤¬¡¤¾ Íè¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï¡¤‘--gnu’¤È‘--gnits’¤Î¸·Ì©¤µ¤Ç͸ú¤Ë¤Ê¤ë¤Ç¤·¤ç ¤¦¡¥
´Ä¶ÊÑ¿ô‘WARNINGS’¤Ë¡¤¥«¥ó¥Þ¤Çʬ¤±¤¿Í¸ú¤Ë¤¹¤ë¥«¥Æ¥´¥ê¤Î¥ê¥¹¥È¤ò
´Þ¤á¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡¥¤½¤ì¤Ï¡¤¥³¥Þ¥ó¥É¥é¥¤¥ó¥¹¥¤¥Ã¥Á¤ÎÁ°¤ËÎßÀѤµ¤ì¡¤¤³
¤ÎÊýË¡¤Ç‘-Wnone’¤¹¤ë¤³¤È¤Ç¡¤‘WARNINGS’¤Ç͸ú¤Ë¤·¤¿¤¹¤Ù¤Æ¤Î·Ù
¹ð¥«¥Æ¥´¥ê¤ò̵»ë¤·¤Þ¤¹¡¥¤³¤ÎÊÑ¿ô¤Ïautoconf
¤Î¤è¤¦¤Ê¾¤Î¥Ä¡¼¥ë
¤Ç¤â»ÈÍѤµ¤ì¤Þ¤¹¡¥¤³¤Î¤¿¤á¡¤Ì¤ÃΤΥ«¥Æ¥´¥ê¤Ï̵»ë¤µ¤ì¤Þ¤¹¡¥