Automake¤Ïñ½ã¤Ê·Á¼°¤Î¾ò·ïʸ¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡¥
¾ò·ïʸ¤ò»ÈÍѤ¹¤ëÁ°¤Ë¡¤configure.ac
¥Õ¥¡¥¤¥ë¤Ç
AM_CONDITIONAL
¤ò»ÈÍѤ·¤Æ¤½¤ì¤òÄêµÁ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹
(see Macros)¡¥
¾ò·ï̾conditional¤Ï¡¤Ê¸»ú¤Ç»Ï¤Þ¤ê¡¤Ê¸»ú¡¤¿ô»ú¡¤¤½¤·¤Æ¥¢¥ó¥À¡¼¥¹ ¥³¥¢¤Î¤ß¤ò´Þ¤àñ½ã¤Êʸ»úÎó¤Ç¤¹¡¥Automake¤¬‘TRUE’¤È‘FALSE’¤Î ¤É¤Á¤é¤òÊÝ»ý¤·¤Æ¤¤¤ë¤«¤Ç°Û¤Ê¤Ã¤Æ¤¤¤ë¤Ï¤º¤Ç¤¹¡¥
¥·¥§¥ë¤Îcondition(¥·¥§¥ë¤Îif
ʸ¤Ç»ÈÍѤµ¤ì¤ë¤Î¤ËŬÀڤʤâ¤Î)
¤Ï¡¤configure
¤¬¼Â¹Ô¤µ¤ì¤ë¤È¤¤Ëɾ²Á¤µ¤ì¤Þ¤¹¡¥¤¹¤Ù¤Æ¤Î
AM_CONDITIONAL
¤¬Ëè²óconfigure
¤Î¼Â¹Ô¤Ç¸Æ¤Ó½Ð¤µ¤ì¤ë¤è¤¦¤Ë
Ä´À°¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹ – AM_CONDITIONAL
¤¬¾ò·ïÉÕ¤(Î㤨¤Ð¡¤¥·¥§
¥ë¤Îif
ʸ)¤Ç¼Â¹Ô¤µ¤ì¤ë¾ì¹ç¡¤·ë²Ì¤È¤·¤Æautomake¤¬º®Í𤷤ޤ¹¡¥
¾ò·ïʸ¤Ï°ìÈÌŪ¤Ë¡¤configure
¥¹¥¯¥ê¥×¥È¤Ç¥æ¡¼¥¶¤¬Ä󶡤¹¤ë¥ª¥×¥·¥ç
¥ó¤Ë°Í¸¤·¤Þ¤¹¡¥¥æ¡¼¥¶¤¬‘--enable-debug’¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¤
¿¿¤Î¾ò·ï¤ò½ñ¤¯ÊýË¡¤ÎÎã¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡¥
AC_ARG_ENABLE(debug, [ --enable-debug Turn on debugging], [case "${enableval}" in yes) debug=true ;; no) debug=false ;; *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;; esac],[debug=false]) AM_CONDITIONAL(DEBUG, test x$debug = xtrue)
Makefile.am¤Ç¤½¤Î¾ò·ïʸ¤ò»ÈÍѤ¹¤ëÊýË¡¤ÎÎã¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡¥
if DEBUG DBG = debug else DBG = endif noinst_PROGRAMS = $(DBG)
¤³¤Î´Êñ¤ÊÎã¤Ç¡¤EXTRA_PROGRAMS¤ò»ÈÍѤ·¤Æ¤¤¤ë¤â¤Î¤ò°·¤¦¤³¤È¤â²Äǽ¤Ç¤·¤ç ¤¦(see Conditional Programs)¡¥
if
ʸ¤Ç¡¤‘!’¤ò»ÈÍѤ·¤¿ÈÝÄê¤â²Äǽ¤Ê¡¤Ã±°ì¤ÎÊÑ¿ô¤Î¤ß¤òÄ´ºº¤·
¤¿¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡¥else
ʸ¤Ï¾Êά²Äǽ¤Ç¤¹¡¥¾ò·ïʸ¤ÏǤ°Õ¤Î¿¼¤µ¤Ë
¥Í¥¹¥È²Äǽ¤Ç¤¹¡¥else
¤Ë°ú¿ô¤ò»ØÄꤹ¤ë¤³¤È¤â²Äǽ¤Ç¤¹¤¬¡¤¤¤¤º¤ì¤Î
¾ì¹ç¤Ç¤â¡¤¸½ºß¤Îif
¤ËÂФ·¤Æ»ÈÍѤµ¤ì¤ë¾ò·ï¤ÎÈÝÄê¤È¤Ê¤Ã¤Æ¤¤¤ëɬÍ×
¤¬¤¢¤ê¤Þ¤¹¡¥Æ±Íͤˡ¤end
¤ÇÊĤ¸¤é¤ì¤¿¾ò·ï¤ò»ØÄꤹ¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡¥
if DEBUG DBG = debug else !DEBUG DBG = endif !DEBUG
ÂоÎÀ¤Î¤Ê¤¤¤Î¾ò·ïʸ¤Ï¥¨¥é¡¼¤È¤Ê¤ê¤Þ¤¹¡¥
Automake¤Î¾ò·ïʸ¤ÏGNU Make¤Î¾ò·ïʸ¤È¤ÏƱ¤¸¤Ç¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡¥
Automake¤Î¾ò·ïʸ¤Ï¡¤configure»þ¤Ëconfigure¥¹¥¯¥ê¥×¥È¤Ç¥Á¥§¥Ã¥¯
¤µ¤ì¡¤Makefile.in¤«¤éMakefile¤Ø¤ÎÊÑ´¹¤Ë±Æ¶Á¤òÍ¿¤¨¤Þ¤¹¡¥
¤½¤ì¤é¤Ï¡¤configure¤ËÅϤ¹¥ª¥×¥·¥ç¥ó¤È¡¤configure¤¬¥Û¥¹¥È
¥·¥¹¥Æ¥à¤Ë¤Ä¤¤¤ÆÈ¯¸«¤·¤¿·ë²Ì¤Ë´ð¤Å¤¤Þ¤¹¡¥GNU Make¤Î¾ò·ïʸ¤Ï¡¤
make
»þ¤ËÄ´ºº¤µ¤ì¡¤make¥×¥í¥°¥é¥à¤ËÅϤµ¤ì¤¿¡¤¤¢¤ë¤¤¤Ï
Makefile¤ÇÄêµÁ¤µ¤ì¤¿ÊÑ¿ô¤Ë´ð¤Å¤¤¤Æ¤¤¤Þ¤¹¡¥
Automake¤Î¾ò·ïʸ¤Ï¡¤¤É¤ó¤Êmake¥×¥í¥°¥é¥à¤Ç¤âưºî¤·¤Þ¤¹¡¥