Next: , Up: Generalities   [Contents][Index]


2.1 °ìÈÌŪ¤ÊÁàºî

Automake¤ÏMakefile.am¤òÆÉ¤ß¹þ¤ß¡¤Makefile.in¤òÀ¸À®¤·¤Þ¤¹¡¥ Makefile.am¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ëÊÑ¿ô¤È¥ë¡¼¥ë¤Ç¡¤Automake ¤Ï¹¹¤ËÆÃ¼ì ¤Ê¥³¡¼¥É¤òÀ¸À®¤·¤Þ¤¹¡¥Î㤨¤Ð¡¤‘bin_PROGRAMS’ÊÑ¿ôÄêµÁ¤Ç¡¤À¸À®¤µ¤ì ¤ë¥×¥í¥°¥é¥à¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¥ê¥ó¥¯¤¹¤ë¥ë¡¼¥ë¤òÀ¸À®¤·¤Þ¤¹¡¥

Makefile.am¤ÎÊÑ¿ôÄêµÁ¤È¥ë¡¼¥ë¤Ï¡¤¤½¤Î¤Þ¤ÞÀ¸À®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Ë¥³ ¥Ô¡¼¤µ¤ì¤Þ¤¹¡¥¤³¤ì¤Ë¤è¤ê¡¤À¸À®¤µ¤ì¤ëMakefile.in¤ËǤ°Õ¤Î¥³¡¼¥É¤ò ²Ã¤¨¤ë¤³¤È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡¥Î㤨¤ÐAutomake¤ÎÇÛÉÛʪ¤Ë¤Ï¡¤Automake´ÉÍý¼Ô ¤¬¥½¡¼¥¹¥³¥ó¥È¥í¡¼¥ë¥·¥¹¥Æ¥à¤«¤éÇÛÉÛʪ¤òºîÀ®¤¹¤ë¤È¤­¤Ë»ÈÍѤ¹¤ë¡¤Èóɸ½à Ū¤Êcvs-dist¥¿¡¼¥²¥Ã¥È¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡¥

¤Û¤È¤ó¤É¤ÎGNU make¤Î³ÈÄ¥¤Ï¡¤Automake¤¬Íý²ò¤·¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡¥ Makefile.am¤Ç¤³¤Î¤è¤¦¤Ê³ÈÄ¥¤ò»ÈÍѤ¹¤ë¤È¡¤¥¨¥é¡¼¤¬À¸¤¸¤¿¤êʶ¤é¤ï ¤·¤¤Æ°ºî¤ò¤·¤¿¤ê¤·¤Þ¤¹¡¥

ÆÃÊ̤ÊÎã³°¤È¤·¤Æ¡¤GNU make¤ÎÄɲ媥ڥ졼¥¿¤Î‘+=’¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ ¤¤¤Þ¤¹¡¥¤³¤Î¥ª¥Ú¥ì¡¼¥¿¤Ï¡¤¤½¤Î±¦Êդΰú¿ô¤òº¸ÊդǻØÄꤵ¤ì¤¿ÊÑ¿ô¤ËÄɲä· ¤Þ¤¹¡¥Automake¤Ï¤½¤Î¥ª¥Ú¥ì¡¼¥¿¤òÄ̾ï¤Î‘=’¥ª¥Ú¥ì¡¼¥¿¤ËÊÑ´¹¤·¤Þ¤¹¡¥ ¤³¤Î¤¿¤á‘+=’¤Ï¡¤¤¢¤é¤æ¤ëmake¥×¥í¥°¥é¥à¤Ç¤¦¤Þ¤¯Æ°ºî¤·¤Þ¤¹¡¥

Automake¤Ï¸­¤¤ÊýË¡¤Ç¡¤¥ë¡¼¥ë¤äÊÑ¿ôÄêµÁ¤ËÎÙÀܤ·¤Æ¤¤¤ë¥°¥ë¡¼¥×²½¤µ¤ì¤¿¥³ ¥á¥ó¥È¤ÎÊÝ»ý¤ò»î¤ß¤Þ¤¹¡¥

°ìÈ̤ˡ¤Makefile.am¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥ë¡¼¥ë¤Ï¡¤automake¤Ë ¤è¤Ã¤Æ¼«Æ°Åª¤ËÀ¸À®¤µ¤ì¤ë¥ë¡¼¥ë¤Ë»÷¤¿Ì¾Á°¤ò»ý¤Ä¤â¤Î¤ËÍ¥À褷¤Þ¤¹¡¥¤³¤ì¤Ï ¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ëµ¡Ç½¤Ç¤¹¤¬¡¤°ìÈÌŪ¤Ë¡¤À¸À®¤µ¤ì¤ë¥ë¡¼¥ë¤ÏÈó¾ï¤ËÆÃ¼ì¤Ê ¤³¤È¤â¤¢¤ë¤Î¤Ç¡¤¤½¤ì¤òÍøÍѤ¹¤ë¤³¤È¤ÏÈò¤±¤¿¤Û¤¦¤¬¤è¤¤¤Ç¤·¤ç¤¦¡¥

ƱÍͤˡ¤Makefile.am¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ëÊÑ¿ô¤äconfigure.ac¤Ç AC_SUBST¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤â¡¤automake¤¬Ä̾ïºîÀ®¤¹¤ë¤¢¤é¤æ¤ë ÊÑ¿ôÄêµÁ¤è¤êÍ¥À褵¤ì¤Þ¤¹¡¥¤³¤Îµ¡Ç½¤Ï¡¤¥ë¡¼¥ëÍ¥Àè¤Îµ¡Ç½¤è¤êÌò¤ËΩ¤Ä¤³¤È ¤¬Â¿¤¤¤Ç¤·¤ç¤¦¡¥automake¤ÇÀ¸À®¤µ¤ì¤¿Â¿¤¯¤ÎÊÑ¿ô¤Ï¡¤ÆâÉô¤Ç»ÈÍѤ¹ ¤ë¤³¤È¤À¤±¹Í褵¤ì¤Æ¤¤¤Æ¡¤¤½¤ì¤é̾Á°¤¬¾­Íè¤Î¥ê¥ê¡¼¥¹¤ÇÊѹ¹¤µ¤ì¤ë²ÄǽÀ­ ¤¬¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡¥

ÊÑ¿ôÄêµÁ¤òÄ´ºº¤·¤Æ¤¤¤ë¤È¤­¡¤Automake¤ÏÄêµÁ¤Ç»²¾È¤µ¤ì¤Æ¤¤¤ëÊÑ¿ô¤òºÆµ¢Åª ¤ËÄ´ºº¤·¤Þ¤¹¡¥Î㤨¤Ð¡¤°Ê²¼¤ÎÃÇÊÒŪ¤Êfoo_SOURCES¤ÎÆâÍÆ¤òAutomake ¤¬Ä´ºº¤·¤Æ¤¤¤ë¾õ¶·¤ò¹Í¤¨¤Þ¤¹¡¥

xs = a.c b.c
foo_SOURCES = c.c $(xs)

¤½¤ì¤Ï¡¤¥Õ¥¡¥¤¥ëa.c¡¤b.c¡¤¤½¤·¤Æc.c¤ò foo_SOURCES¤ÎÆâÍÆ¤È¤·¤Æ»ÈÍѤ·¤Þ¤¹¡¥

Automake¤Ç¤Ï¡¤½ÐÎÏ¥Õ¥¡¥¤¥ë¤Ë¥³¥Ô¡¼¤µ¤ì¤Ê¤¤¥³¥á¥ó¥È¤Î·Á¼°¤âÍøÍÑ ²Äǽ¤Ç¤¹¡¥Automake¤Ï‘##’¤Ç»Ï¤Þ¤ë(¥¹¥Ú¡¼¥¹¤ÎÁ°Ã֤ϲÄǽ¤Ç¤¹)¤¹¤Ù¤Æ ¤Î¹Ô¤ò´°Á´¤Ë̵»ë¤·¤Þ¤¹¡¥

ÆÉ¤ß¹þ¤Þ¤ì¤ëMakefile.am¤ÎºÇ½é¤Î¹Ô¤Ë¡¤°Ê²¼¤Î¹Ô¤ò½ñ¤¯¤Î¤Ï¤¤¤Ä¤â¤Î ¤³¤È¤Ç¤¹¡¥

## Process this file with automake to produce Makefile.in