Next: , Previous: Output, Up: Setup   [Contents][Index]


4.5 ¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥óºî¶È¤Î¼Â¹Ô

configure¤Ï¡¤¼«Ê¬¤¬¹Ô¤Ê¤Ã¤Æ¤¤¤ë¤³¤È¤¬Á´Éôʬ¤«¤ë¤è¤¦¤ËÀ߷פµ¤ì¤Æ¤¤ ¤Þ¤¹¤¬¡¤±£¤µ¤ì¤Æ¤¤¤ë½¾Â°Êª¤â¼ÂºÝ¤Ë¤Ï¤¢¤ê¤Þ¤¹¡¥¤½¤ì¤Ï¡¤ config.status¤Ç¤¹¡¥configure¤Ï¥·¥¹¥Æ¥à¤ÎÄ´ºº¤òôÅö¤·¤Æ¤¤¤Þ ¤¹¤¬¡¤configure¤Î·ë²Ì¤ò´ð¤ËŬÀÚ¤ÊÆ°ºî¤ò¼ÂºÝ¤Ë°ú¤­¼õ¤±¤ë¤Î¤Ï¡¤ config.status¤Ç¤¹¡¥config.status¤Î¤Û¤È¤ó¤É¤Îŵ·¿Åª¤Êºî¶È¤Ï¡¤ ¥Õ¥¡¥¤¥ë¤ò¼ÂºÝ¤ËºîÀ®¤¹¤ë¤³¤È¤Ç¤¹¡¥

¤³¤Î¥»¥¯¥·¥ç¥ó¤Ç¤Ï¡¤¼ÂºÝ¤Ë²¿¤«¤òºîÀ®¤¹¤ë´ðËÜŪ¤Ê»Í¤Ä¤Î¥Þ¥¯¥í¤Î°ìÈÌŪ¤Êư ºî¤òÀâÌÀ¤·¤Þ¤¹¡¥¤½¤ì¤é¤Ï¡¤AC_CONFIG_FILES¡¤ AC_CONFIG_HEADERS¡¤AC_CONFIG_COMMANDS¡¤¤½¤·¤Æ AC_CONFIG_LINKS¤Ç¤¹¡¥¤½¤ì¤é¤ÏÁ´¤Æ°Ê²¼¤Î¤â¤Î¤¬¸¶·¿¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡¥

AC_CONFIG_FOOS(tag…, [commands], [init-cmds])

¤³¤³¤Ç¤Î°ú¿ô¤Ï¡¤°Ê²¼¤Î¤È¤ª¤ê¤Ç¤¹¡¥

tag

¶õÇò¤Çʬ¤±¤é¤ì¤¿¥¿¥°¤Î¥ê¥¹¥È¤Ç¡¤¤½¤ì¤é¤ÏÄ̾¼ÂºÝ¤ËºîÀ®¤µ¤ì¤ë¥Õ¥¡¥¤¥ë̾ ¤Ç¤¹¡¥

tags¤È¤·¤Æ¡¤¥ê¥Æ¥é¥ë¤ò»ÈÍѤ¹¤ë¤³¤È¤ò´«¤á¤Þ¤¹¡¥ÆÃ¤Ë¡¤°Ê²¼¤ÏÈò¤±¤¿Êý ¤¬Îɤ¤¤Ç¤·¤ç¤¦¡¥

… && my_foos="$my_foos fooo"
… && my_foos="$my_foos foooo"
AC_CONFIG_FOOS($my_foos)

¤³¤ÎÂå¤ï¤ê¤Ë°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡¥

… && AC_CONFIG_FOOS(fooo)
… && AC_CONFIG_FOOS(foooo)

¥Þ¥¯¥íAC_CONFIG_FILES¤ÈAC_CONFIG_HEADERS¤Ï¡¤ÆÃÊÌ¤Ê tag¤ò»ÈÍѤ·¤Þ¤¹¡¥¤½¤ì¤é¤Ï¡¤‘output’¤ä ‘output:inputs’¤Ë¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡¥¥Õ¥¡¥¤¥ë output¤Ï¡¤¤½¤Î¥Æ¥ó¥×¥ì¡¼¥Èinputs¤«¤é¼ÂºÝ¤ËºîÀ®¤µ¤ì¤Þ¤¹(¥Ç¥Õ¥© ¥ë¥È¤Ï‘output.in’)¡¥

Î㤨¤Ð¡¤‘AC_CONFIG_FILES(Makefile:boiler/top.mk:boiler/bot.mk)’¤Ï¡¤ boiler/top.mk¤Èboiler/bot.mk¤ò·Ò¤²¤¿¤â¤Î¤Ë¡¤½ÐÎÏÊÑ¿ô¤òŸ³« ¤·¤¿Makefile¤òºîÀ®¤¹¤ë¤è¤¦Í׵ᤷ¤Þ¤¹¡¥

ÆÃ¼ì¤ÊÃÍ‘-’¤Ï¡¤output¤Ç»ÈÍѤµ¤ì¤Æ¤¤¤ë¤È¤­¤Ïɸ½à½ÐÎϤò¡¤ inputs¤Ç»ÈÍѤµ¤ì¤Æ¤¤¤ë¤È¤­¤Ïɸ½àÆþÎϤò¼¨¤¹¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡¥¤ª¤½ ¤é¤¯configure.ac¤Ç¤³¤ì¤ò»ÈÍѤ¹¤ëɬÍפϤۤȤó¤É̵¤¤¤È»×¤¤¤Þ¤¹¤¬¡¤ ./config.status¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò»ÈÍѤ·¤Æ¤¤¤ë¤È¤­ ¤ÏÊØÍø¤Ç¤·¤ç¤¦¡¥¾ÜºÙ¤Ï¡¤config.status Invocation,¤ò»²¾È¤·¤Æ¤¯¤À¤µ ¤¤¡¥

inputs¤Ï¡¤ÀäÂХѥ¹¤Þ¤¿¤ÏÁêÂХѥ¹¤òÍѤ¤¤¿¥Õ¥¡¥¤¥ë̾¤¬²Äǽ¤Ç¤¹¡¥¸å¼Ô ¤Î¾ì¹ç¡¤¤½¤ì¤ÏºÇ½é¤Ë¥Ó¥ë¥É¥Ä¥ê¡¼¤Çõ¤µ¤ì¡¤¤½¤Î¸å¤Ç¥½¡¼¥¹¥Ä¥ê¡¼¤Çõ¤µ¤ì¤Þ ¤¹¡¥

commands

config.status¤Ë¤½¤Î¤Þ¤Þ½ÐÎϤµ¤ì¤ë¥·¥§¥ë¥³¥Þ¥ó¥É¤Ç¡¤¼Â¹Ô¤¹¤ë¥³¥Þ¥ó ¥É¤òconfig.status¤ËÅÁ¤¨¤ë¤¿¤á¤Ë¥æ¡¼¥¶¤¬»ÈÍѤ¹¤ë¤³¤È¤¬²Äǽ¤Ê tag¤Ë´ØÏ¢ÉÕ¤±¤µ¤ì¤Æ¤¤¤Þ¤¹¡¥tag¤ÎÍ׵᤬config.status ¤ËÍ¿¤¨¤é¤ì¤ë¤¿¤Ó¤Ë¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤µ¤ì¡¤Ä̾ï¤Ï¥Õ¥¡¥¤¥ëtag¤¬ºî À®¤µ¤ì¤ë¤¿¤Ó¤Ë¤Ê¤ê¤Þ¤¹¡¥

configure¤Î¼Â¹ÔÃæ¤ËÀßÄꤵ¤ì¤ëÊÑ¿ô¤Ï¡¤¤³¤³¤Ç¤ÏÍøÍÑÉÔ²Äǽ ¤Ç¤¹¡¥¤½¤ì¤é¤òºÇ½é¤Ëinit-cmds¤ÇÀßÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡¥¤½¤ì¤Ë¤â¤« ¤«¤ï¤é¤º¡¤°Ê²¼¤ÎÊÑ¿ô¤ÏÁ°¤â¤Ã¤Æµá¤á¤é¤ì¤Þ¤¹¡¥

srcdir

¥Ó¥ë¥É¥Ç¥£¥ì¥¯¥È¥ê¤Î¥È¥Ã¥×¤«¤é¥½¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤Î¥È¥Ã¥×¤Ø¤Î¥Ñ¥¹¤Ç¤¹¡¥¤³ ¤ì¤Ï¡¤configure¤Î¥ª¥×¥·¥ç¥ó--srcdir¤ÇÀßÄꤵ¤ì¤ë¤â¤Î¤Ç ¤¹¡¥

ac_top_srcdir

¸½ºß¤Î¥Ó¥ë¥É¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¥½¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤Î¥È¥Ã¥×¤Ø¤Î¥Ñ¥¹¤Ç¤¹¡¥

ac_top_builddir

¸½ºß¤Î¥Ó¥ë¥É¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¥Ó¥ë¥É¥Ç¥£¥ì¥¯¥È¥ê¤Î¥È¥Ã¥×¤Ø¤Î¥Ñ¥¹¤Ç¤¹¡¥Ï¢·ë ¤Ç¤­¤ë¤è¤¦¤Ë¡¤¤½¤ì¤ò¶õ¤Ë¤·¤¿¤ê¡¤¥¹¥é¥Ã¥·¥å¤Ç½ª¤¨¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡¥

ac_srcdir

¸½ºß¤Î¥Ó¥ë¥É¥Ç¥£¥ì¥¯¥È¥ê¤«¤éÂбþ¤¹¤ë¥½¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤Î¥Ñ¥¹¤Ç¤¹¡¥

¸½ºß¤Î(current)¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¤tags¤Î°ìÉô¤ÎÆþÎϤ¬´Þ¤Þ¤ì¤ë¥Ç¥£ ¥ì¥¯¥È¥ê(¤Þ¤¿¤Ïµ¿»÷¥Ç¥£¥ì¥¯¥È¥ê)¤ò»²¾È¤·¤Þ¤¹¡¥Î㤨¤Ð°Ê²¼¤ò¼Â¹Ô¤·¤¿¤È¤·¤Þ ¤¹¡¥

AC_CONFIG_COMMANDS([deep/dir/out:in/in.in], […], […])

--srcdir=../package¤òÍѤ¤¤ë¤È¡¤°Ê²¼¤ÎÃͤ¬À¸À®¤µ¤ì¤Þ¤¹¡¥

# Argument of --srcdir
srcdir='../package'
# Reversing deep/dir
ac_top_builddir='../../'
# Concatenation of $ac_top_builddir and srcdir
ac_top_srcdir='../../../package'
# Concatenation of $ac_top_srcdir and deep/dir
ac_srcdir='../../../package/deep/dir'

in/in.in’¤È¤Ï̵´Ø·¸¤Ç¤¹¡¥

init-cmds

config.status¤ÎÀèÆ¬ÉÕ¶á¤Ë°úÍÑÉä¤Ç°Ï¤Þ¤ì¤ë¤³¤È¤Ê¤¯½ÐÎϤµ¤ì ¤ë¥·¥§¥ë¥³¥Þ¥ó¥É¤Ç¡¤config.status¤¬¼Â¹Ô¤µ¤ì¤ë¤¿¤Ó¤Ë(tag ¤Ë ´Ø·¸¤Ê¤¯)¼Â¹Ô¤µ¤ì¤Þ¤¹¡¥°úÍÑÉä¤Ç°Ï¤Þ¤ì¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¤Î㤨¤Ð¡¤‘$var’¤Ï var¤ÎÃͤȤ·¤Æ½ÐÎϤµ¤ì¤Þ¤¹¡¥init-cmds¤ÏÄ̾commands ¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤ËɬÍ×¤ÊÆ±¤¸ÊÑ¿ô¤òconfig.status¤ËÍ¿¤¨¤ë¤¿¤á¤Ë¡¤ configure¤Ç»ÈÍѤµ¤ì¤Þ¤¹¡¥

ÊÑ¿ô̾¤Ç¤ÏÆÃ¤ËÃí°Õ¤¹¤Ù¤­¤Ç¤¹¡¥¤¹¤Ù¤Æ¤Îinit-cmds¤ÏƱ¤¸Ì¾Á°¶õ´Ö¤ò¶¦ Í­¤·¡¤¤½¤ì¤¾¤ìͽ¬¤Ç¤­¤Ê¤¤ÊýË¡¤Ç¾å½ñ¤­¤µ¤ì¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡¥»Äǰ¤Ç¤¹ ...

ÅöÁ³¤Ç¤¹¤¬¡¤¤¹¤Ù¤Æ¤Î¤³¤ì¤é¤Î¥Þ¥¯¥í¤Ï¡¤°Û¤Ê¤ëtag¤òÍѤ¤¤ë¤È¡¤²¿²ó¤Ç ¤â¸Æ¤Ó½Ð¤¹¤³¤È¤¬²Äǽ¤Ç¤¹¡ª