Next: , Previous: Include, Up: Top   [Contents][Index]


19 ¾ò·ïʸ

Automake¤Ïñ½ã¤Ê·Á¼°¤Î¾ò·ïʸ¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡¥

¾ò·ïʸ¤ò»ÈÍѤ¹¤ëÁ°¤Ë¡¤configure.ac¥Õ¥¡¥¤¥ë¤Ç AM_CONDITIONAL¤ò»ÈÍѤ·¤Æ¤½¤ì¤òÄêµÁ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹ (see Macros)¡¥

Macro: AM_CONDITIONAL (conditional, condition)

¾ò·ï̾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¥×¥í¥°¥é¥à¤Ç¤âưºî¤·¤Þ¤¹¡¥