Automake´Â ÆÐŰÁöÀÇ `configure.in'À» °Ë»öÇØ¼ ÆÐŰÁö¿¡ ¾î¶² Á¤º¸°¡
ÀÖ´ÂÁö °áÁ¤ÇÑ´Ù. ¸î°³ÀÇ autoconf ¸ÅÅ©·Î°¡ ÇÊ¿äÇϰí, ¸î°³ÀÇ º¯¼ö°¡
`configure.in'¿¡ Á¤ÀǵǾî¾ß ÇÑ´Ù. Automake´Â `configure.in'
¾ÈÀÇ Á¤º¸¸¦ »ç¿ëÇØ¼ ´õ¿í ¾Ë¸Â°Ô Ãâ·Â¹°À» ³¾ °ÍÀÌ´Ù.
Automake´Â ¸ÞÀÎÅ×À̳ʸ¦ Á»´õ ½±°Ô ÇØÁÖ´Â autoconf ¸ÅÅ©·Î¸¦ °°ÀÌ
Æ÷ÇÔÇÑ´Ù. ÀÌ ¸ÅÅ©·ÎµéÀº aclocal ÇÁ·Î±×·¥À» ½á¼ ÀÚµ¿À¸·Î
aclocal.m4¿¡ Ãß°¡µÈ´Ù.
Automake¿¡¼ ÇÊ¿äÇÑ ±âº»ÀûÀÎ °ÍÀ» ¸¸Á·½ÃŰ´Â °¡Àå °£´ÜÇÑ ¹æ¹ýÀº
AM_INIT_AUTOMAKE ¸ÅÅ©·Î¸¦ »ç¿ëÇÏ´Â °ÍÀÌ´Ù (FIXME: xref). ÇÏÁö¸¸,
´õ ÁÁ¾ÆÇÑ´Ù¸é, ÇÊ¿äÇÑ °ÍÀ» Çϳª¾¿ ¼ÕÀ¸·Î ÇØ ³ª°¥ ¼ö ÀÖ´Ù.
PACKAGE¿Í VERSION º¯¼ö¸¦ AC_SUBST¿Í ÇÔ²² Á¤ÀÇÇÑ´Ù.
PACKAGE´Â ¹èÆ÷ÇÏ·Á°í ¹À» ¶§ ³ªÅ¸³ª´Â ÆÐŰÁöÀÇ À̸§ÀÌ µÇ¾ß
ÇÑ´Ù. ¿¹¸¦ µé¾î, Automake´Â PACKAGE¸¦ `automake'·Î
Á¤ÀÇÇÏ¿´´Ù. VERSIONÀº °³¹ßµÈ °ÍÀ» releaseÇÒ ¶§ ¹öÀü ¹øÈ£°¡ µÇ¾ß
ÇÑ´Ù. `configure.in'ÀÌ ÆÐŰÁö¿¡¼ ¹öÀü ¹øÈ£°¡ Á¤ÀÇµÈ À¯ÀÏÇÑ °÷À¸·Î
Ç϶ó°í ÃßõÇÑ´Ù: ÀÌ·¸°Ô Çϸé release°¡ °£ÆíÇØ Áø´Ù.
Automake´Â PACKAGE³ª VERSION¿¡ ´ëÇØ¼ `Gnits' ¸ðµå¿¡
ÀÖÀ» ¶§¸¦ Á¦¿ÜÇϰí´Â ¾î¶² ÇØ¼®µµ ÇÏÁö ¾Ê´Â´Ù.
AC_ARG_PROGRAM
¸ÅÅ©·Î¸¦ »ç¿ëÇÑ´Ù.
AC_PROG_MAKE_SETÀ» »ç¿ëÇÑ´Ù.
AM_SANITY_CHECK¸¦ ¾´´Ù.
AM_PROG_INSTALLÀ» »ç¿ëÇÑ´Ù. ±×·¸Áö ¾ÊÀ¸¸é,
AC_PROG_INSTALL.
aclocal, autoconf, automake, autoheader,
±×¸®°í makeinfo°¡ ÄÄÆÄÀÏ È¯°æ¿¡¼ Á¸ÀçÇÏ´ÂÁö ¾Ë¾Æº¸·Á¸é,
AM_MISSING_PROG¸¦ »ç¿ëÇÑ´Ù. ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù:
missing_dir=`cd $ac_aux_dir && pwd` AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir) AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir) AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir) AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir) AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
±× ¿Ü¿¡ Automake°¡ ÇÊ¿ä·Î ÇÏÁö¸¸, AM_INIT_AUTOMAKE¿¡ ÀÇÇØ
½ÇÇàµÇÁö ¾Ê´Â ¸ÅÅ©·Î°¡ ¿©±â ÀÖ´Ù:
AC_OUTPUT
MakefileÀ̶ó´Â À̸§À¸·Î ¿°ÅµÈ ÆÄÀϵéÀº `Makefile'·Î
´Ù·ïÁø´Ù. ±× ¿Ü¿¡ ¿°ÅµÈ ÆÄÀϵéÀº ´Ù¸¥ ½ÄÀ¸·Î 󸮵ȴÙ. ÇöÀç ´Ù¸¥ Á¡Àº
`Makefile'µéÀÌ make distclean¿¡ ÀÇÇØ Áö¿öÁöÁö¸¸, ´Ù¸¥
ÆÄÀϵéÀº make cleanÀ¸·Î Áö¿öÁø´Ù´Â °Í »ÓÀÌ´Ù.
¶ÇÇÑ Automake´Â ƯÁ¤ ¸ÅÅ©·Î¸¦ ¾Ë¾Æ³»¼ ÀûÀýÈ÷ ¸¸µé¾îÁö´Â `Makefile.in'À» ¼Õº»´Ù. ÇöÀç Automake°¡ ¾Ë¾Æ³»´Â ¸ÅÅ©·Î¿Í ±× È¿°ú´Â:
AC_CONFIG_HEADER
AC_OUTPUT ¸í·ÉÀº `stamp-h'¸¦ ¸¸µé¾î¾ß ÇÑ´Ù. ¿¹¸¦ µé¾î:
AC_OUTPUT(Makefile, [test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h])ÇöÀç´Â Automake°¡
AC_OUTPUT ¸í·ÉÀÌ ¿Ã¹Ù¸¥Áö °Ë»çÇÏÁö ¾Ê´Â °Í¿¡
À¯ÀÇÇÏÀÚ. ¹Ù¶ó°Çµ¥ ¾ÕÀ¸·Î autoconf ¹öÀüÀº Automake°¡ ÀÌ ÀÏÀ»
ÀÚµ¿À¸·Î ó¸®ÇÏ°Ô ÇØ ÁÙ °ÍÀÌ´Ù.
AC_CONFIG_AUX_DIR
AC_PATH_XTRA
AC_PATH_XTRA°¡ Á¤ÀÇÇÑ º¯¼ö¿¡ ´ëÇÑ Á¤Àǹ®À» C
ÇÁ·Î±×·¥À̳ª ¶óÀ̺귯¸®¸¦ buildÇÏ´Â °¢ `Makefile.in'¿¡ ³Ö´Â´Ù.
AC_CANONICAL_HOST
AC_CHECK_TOOL
AC_CANONICAL_SYSTEM
AC_CANONICAL_HOST¿Í ºñ½ÁÇÏÁö¸¸, `Makefile' º¯¼ö
`build_alias'¿Í `target_alias'¸¦ Á¤ÀÇÇÑ´Ù.
AC_FUNC_ALLOCA
AC_FUNC_GETLOADAVG
AC_FUNC_MEMCMP
AC_STRUCT_ST_BLOCKS
AM_FUNC_FNMATCH
AM_FUNC_STRTOD
AC_REPLACE_FUNCS
AC_REPLACE_GNU_GETOPT
AM_WITH_REGEX
LIBOBJS
LIBOBJS·Î ³Ö´Â ¹®ÀåÀ» ã¾Æ³»°í, ÀÌ
ºÎ°¡ÀûÀÎ ÆÄÀϵéÀ» ¸¶Ä¡ AC_REPLACE_FUNC¸¦ ÅëÇØ ¹ß°ßµÈ °Íó·³
´Ù·ê °ÍÀÌ´Ù.
AC_PROG_RANLIB
AC_PROG_CXX
AM_PROG_LIBTOOL
libtoolÀ» À§ÇÑ Ã³¸®¸¦ ÇÒ °ÍÀÌ´Ù. (see section `The Libtool Manual' in The Libtool Manual).
AC_PROG_YACC
AC_DECL_YYTEXT
AC_PROG_LEX
ALL_LINGUAS
AM_C_PROTOTYPES
AM_GNU_GETTEXT
AM_MAINTAINER_MODE
configure¿¡ `--enable-maintainer-mode' ¿É¼ÇÀ»
ºÙÀδÙ. ÀÌ ¸ÅÅ©·Î°¡ ¾²À̸é, automake´Â ¸¸µé¾î Áö´Â
`Makefile.in'¿¡¼ ±âº»À¸·Î "maintainer¸¸ »ç¿ëÇÏ´Â" rule µéÀ»
¾ø¾Öµµ·Ï ÇÑ´Ù. ÀÌ ¸ÅÅ©·Î´Â `Gnits' ¸ðµå¿¡¼´Â »ç¿ëÇÒ ¼ö ¾ø´Ù.
FIXME xref.
AC_SUBST
AC_CHECK_TOOL
AC_CHECK_PROG
AC_CHECK_PROGS
AC_PATH_PROG
AC_PATH_PROGS
Automake´Â ÆÐŰÁö ³»¿¡¼ ¾²ÀÏ ¿©·¯°³ÀÇ Autoconf ¸ÅÅ©·Î¸¦ Æ÷ÇÔÇÑ´Ù;
¸î°³´Â ½ÇÁ¦·Î ƯÁ¤ »óȲ¿¡¼¸¸ ÇÊ¿äÇÏ´Ù. ÀÌ·¯ÇÑ ¸ÅÅ©·Î´Â
`aclocal.m4'¿¡ Á¤ÀÇµÇ¾ß ÇÑ´Ù; ±×·¸Áö ¾ÊÀ¸¸é, autoconf°¡
ã¾Æ³»Áö ¸øÇÒ °ÍÀÌ´Ù.
aclocal ÇÁ·Î±×·¥Àº ÀÚµ¿À¸·Î `aclocal.m4' ÆÄÀÏÀ»
`configure.in' ³»¿ë¿¡ ±âÃÊÇØ¼ ¸¸µç´Ù. ÀÌ ÇÁ·Î±×·¥Àº ¿©±âÀú±â
µ¹¾Æ´Ù´Ò ÇÊ¿ä¾øÀÌ Automake°¡ Á¦°øÇÏ´Â ¸ÅÅ©·Î¸¦ »ç¿ëÀ» Æí¸®ÇÏ°Ô ÇØ ÁØ´Ù.
¶Ç, ÀÌ·¯ÇÑ aclocalÀÇ ¹æ¹ýÀº ¶Ç´Ù¸¥ ÆÐŰÁö¿¡¼ »ç¿ëÇÒ¶§ È®ÀåÇÒ ¼ö
ÀÖ´Ù.
aclocalÀÌ ½ÃÀÛÇÒ¶§, ¸ÅÅ©·Î Á¤ÀǸ¦ ã¾Æ ³»±â À§Çؼ, ãÀ» ¼ö ÀÖ´Â
¸ðµç `.m4' ÆÄÀÏÀ» °Ë»öÇÑ´Ù. ±× ´ÙÀ½¿¡ `configure.in'À»
°Ë»öÇÑ´Ù. ù¹øÂ° ´Ü°è¿¡¼ ¹ß°ßµÇ´Â ¸ÅÅ©·ÎÁß Çϳª¶óµµ ¾ð±ÞµÇ¾î ÀÖÀ¸¸é ±×
¸ÅÅ©·Î¿Í ±× ¸ÅÅ©·Î¿¡¼ ÇÊ¿äÇÑ ´Ù¸¥ ¸ÅÅ©·ÎµéÀ» `aclocal.m4'¿¡ Áý¾î
³Ö´Â´Ù.
aclocal¿¡ ´ÙÀ½ ¿É¼ÇÀ» ÁÙ ¼ö ÀÖ´Ù:
--acdir=dir
--help
--output=file
--verbose
--version
AM_CONFIG_HEADER
AM_CYGWIN32
configure°¡ `Cygwin32' ȯ°æ¿¡¼ µ¿ÀÛÇÏ´ÂÁö üũÇÑ´Ù.
(FIXME xref). ¸¸¾à ±×·¸´Ù¸é, º¯¼ö EXEEXT¸¦ `.exe'·Î
Á¤ÀÇÇÑ´Ù; ±×·¸Áö ¾ÊÀ¸¸é ÀÌ º¯¼ö¸¦ ºó ¹®ÀÚ¿·Î ÇÑ´Ù. Automake´Â ÀÌ
¸ÅÅ©·Î¸¦ ¹ß°ßÇϸé, `Cygwin32'¿¡¼ ÀÚµ¿À¸·Î µ¿ÀÛÇÏ´Â
`Makefile.in'À» ¸¸µéµµ·Ï ÇÒ °ÍÀÌ´Ù. `Cygwin32' ȯ°æ¿¡¼,
gcc´Â ÆÄÀÏ À̸§ÀÌ `.exe'·Î ³¡³ª´Â ½ÇÇà ÆÄÀÏÀ» ¸¸µç´Ù (ºñ·Ï
¸í·ÉÇà¿¡¼ `.exe'¸¦ ¸í½ÃÇÒ ÇÊ¿ä´Â ¾øÁö¸¸). Automake´Â À̰ÍÀ»
¸ÚÁö°Ô ó¸®Çϴ Ưº°ÇÑ Äڵ带 `Makefile.in'¿¡ Ãß°¡ÇÑ´Ù.
AM_FUNC_STRTOD
strtod ÇÔ¼ö¸¦ »ç¿ëÇÒ ¼ö ¾ø°Å³ª, ¿Ã¹Ù¸£°Ô µ¿ÀÛÇÏÁö ¾ÊÀ¸¸é (SunOS
5.4ÀÇ ÇÔ¼öó·³), `strtod.o'¸¦ LIBOBJS º¯¼ö¿¡ Ãâ·ÂÇÑ´Ù.
AM_FUNC_ERROR_AT_LINE
error_at_line ÇÔ¼ö°¡ ¾øÀ¸¸é, LIBOBJS¿¡
`error.o'¸¦ Ãß°¡ÇÑ´Ù.
AM_FUNC_MKTIME
mktime ÇÔ¼ö°¡ µ¿ÀÛÇÏ´ÂÁö È®ÀÎÇÑ´Ù. ¸¸¾à ¾øÀ¸¸é,
`mktime.o'¸¦ `LIBOBJS'¿¡ Ãß°¡ÇÑ´Ù.
AM_FUNC_OBSTACK
AM_C_PROTOTYPES
AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL
TIOCGWINSZ¸¦ ¾µ¶§ `<sys/ioctl.h>'°¡ ÇÊ¿äÇϸé,
GWINSZ_IN_SYS_IOCTLÀ» Á¤ÀÇÇÑ´Ù. ¾Æ´Ï¸é,
TIOCGWINSZ´Â `<termios.h>'¿¡ ÀÖÀ» ¼öµµ ÀÖ´Ù.
AM_INIT_AUTOMAKE
AC_DEFINEÇÑ´Ù.
ÀÌ ±â´ÉÀº ¼¼¹øÂ° Àμö·Î ¹«¾ð°¡¸¦ ³Ñ°ÜÁÖ¸é ÇÇÇÒ ¼ö ÀÖ´Ù.
AM_PATH_LISPDIR
emacs ÇÁ·Î±×·¥À» ã´Â´Ù. ±×¸®°í ãÀ¸¸é, Ãâ·Â º¯¼ö
lispdirÀ» EmacsÀÇ site-lisp µð·ºÅ丮ÀÇ °æ·Î(full path)·Î ¸ÂÃá´Ù.
AM_PROG_CC_STDC
CC°¡ ANSI C ¸ðµå·Î µ¿ÀÛÇϵµ·Ï ½ÃµµÇÑ´Ù. ÀÌ ¸ÅÅ©·Î´Â ¿©·¯°¡Áö
½Ã½ºÅÛ¿¡¼ ANSI C¸¦ ¼±ÅÃÇÏ´Â ¿É¼ÇµéÀ» ½ÃµµÇØ º»´Ù. ¸¸¾à
__STDC__°¡ 1À̰í, ÇÔ¼ö ¿øÇü(prototype)À» Á¦´ë·Î ó¸®Çϸé ANSI C
¸ðµå¶ó°í »ý°¢ÇÑ´Ù.
ÀÌ ¸ÅÅ©·Î¸¦ ¾²¸é, ¸ÅÅ©·Î°¡ ½ÇÇàµÈ µÚ¿¡ C ÄÄÆÄÀÏ·¯°¡ ANSI C¸¦
¹Þ¾ÆµéÀ̵µ·Ï ¸ÂÃçÁ³´ÂÁö È®ÀÎÇØ¾ß ÇÑ´Ù; ±×·¸Áö ¾ÊÀ¸¸é, ¼Ð º¯¼ö
am_cv_prog_cc_stdc°¡ `no'·Î Á¤ÀǵȴÙ. ¼Ò½º Äڵ尡 ANSI C·Î
µÇ¾î ÀÖÀ¸¸é, ansi2knr ¿É¼ÇÀ» ½á¼ ANSI ±â´ÉÀ» ¾ø¾Ø Ä«ÇǸ¦ ¸¸µé ¼ö
ÀÖ´Ù.
AM_PROG_INSTALL
AC_PROG_INSTALL°ú ¸¶Âù°¡ÁöÀÌÁö¸¸, INSTALL_SCRIPTµµ
Á¤ÀÇÇÑ´Ù.
AM_SANITY_CHECK
AM_INIT_AUTOMAKE¿¡¼ ÀÚµ¿À¸·Î
½ÇÇàµÈ´Ù.
AM_SYS_POSIX_TERMIOS
am_cv_sys_posix_termios ¼Ð º¯¼ö¸¦ `yes'·Î
Á¤ÀÇÇÑ´Ù. ±×·¸Áö ¾ÊÀ¸¸é, º¯¼ö¸¦ `no'·Î Á¤ÀÇÇÑ´Ù.
AM_TYPE_PTRDIFF_T
AM_WITH_DMALLOC
dmalloc ÆÐŰÁö Áö¿øÀ» Ãß°¡ÇÑ´Ù. »ç¿ëÀÚ°¡ `--with-dmalloc'
¿É¼ÇÀ» ºÙ¿©¼ configure¸¦ Çϸé, WITH_DMALLOCÀ» Á¤ÀÇÇϰí,
LIBS¿¡ `-ldmalloc'À» Ãß°¡ÇÑ´Ù. dmalloc ÆÐŰÁö´Â
ftp://ftp.letters.com/src/dmalloc/dmalloc.tar.gz¿¡ ÀÖ´Ù.
AM_WITH_REGEX
configure ¸í·ÉÇà¿¡ `--with-regex'À» Ãß°¡ÇÑ´Ù. ¸¸¾à
ÀÌ ¸ÅÅ©·Î°¡ »ç¿ëµÈ´Ù¸é (»ç¿ëµÇ´Â °ÍÀÌ ±âº»), `regex' Á¤±Ô½Ä(regular
expression) ¶óÀ̺귯¸®°¡ »ç¿ëµÇ°í, `regex.o'°¡ `LIBOBJS'¿¡
Ãß°¡µÇ°í, `WITH_REGEX'°¡ Á¤ÀǵȴÙ. `--without-regex' ¿É¼ÇÀÌ
ÀÖ´Ù¸é, `rx' Á¤±Ô½Ä(regular expression) ¶óÀ̺귯¸®°¡ »ç¿ëµÇ°í,
`rx.o'°¡ `LIBOBJS'¿¡ Ãß°¡µÈ´Ù.
AclocalÀº ³»ºÎÀûÀ¸·Î ¾î¶² ¸ÅÅ©·Î¿¡ ´ëÇØ¼µµ ¾ËÁö ¸øÇϱ⠶§¹®¿¡, Àڱ⸸ÀÇ ¸ÅÅ©·Î¸¦ °¡Áö°í È®ÀåÇÏ´Â °ÍÀº ½¬¿î ÀÏÀÌ´Ù.
È®ÀåÇÏ´Â °ÍÀº ´Ù¸¥ ÇÁ·Î±×·¥¿¡¼ »ç¿ëÇÒ¶§ ¾²ÀÌ´Â °íÀ¯ÇÑ Autoconf ¸ÅÅ©·Î¸¦
Æ÷ÇÔÇÏ´Â ¶óÀ̺귯¸®°¡ »ç¿ëÇÑ´Ù. ¿¹¸¦ µé¾î, gettext ¶óÀ̺귯¸®´Â
gettext¸¦ ¾²´Â ¾î¶² ÆÐŰÁöµçÁö »ç¿ëÇØ¾ß ÇÏ´Â
AM_GNU_GETTEXT¸ÅÅ©·Î¸¦ Æ÷ÇÔÇÑ´Ù. ¶óÀ̺귯¸®°¡ ¼³Ä¡µÇ¸é,
¶óÀ̺귯¸®´Â aclocalÀÌ Ã£À» ¼ö ÀÖµµ·Ï ÀÌ ¸ÅÅ©·Î¸¦ ¼³Ä¡ÇÑ´Ù.
¸ÅÅ©·Î ÆÄÀÏÀº AC_DEFUNÀÇ ¿¬¼ÓÀ̾î¾ß ÇÑ´Ù. ¶Ç aclocalÀº
AC_REQUIRE¸¦ ¾Ë¾Æº¸±â ¶§¹®¿¡, °¢°¢ÀÇ ¸ÅÅ©·Î¸¦ ´Ù¸¥ ÆÄÀÏ¿¡ ³Ö´Â
°Íµµ °¡´ÉÇÏ´Ù.
¸ÅÅ©·Î ÆÄÀÏÀÇ À̸§Àº `.m4'·Î ³¡³ª¾ß ÇÑ´Ù. ÀÌ·¯ÇÑ ÆÄÀÏÀº `$(datadir)/aclocal'¿¡ ¼³Ä¡µÇ¾î¾ß ÇÑ´Ù.
Go to the first, previous, next, last section, table of contents.