AUTOTOOLS HowtoÀ̽ÂÀ±$Date $ Copyright © 2002 by Copyright ÀÌ ¹®¼´Â GNU Free Documentation License ¹öÀü 1.1 ȤÀº ÀÚÀ¯ ¼ÒÇÁÆ®¿þ¾î Àç´Ü¿¡¼ ¹ßÇàÇÑ ÀÌÈÄ ÆÇÀÇ ±ÔÁ¤¿¡ µû¸£¸ç ÀúÀ۱ǿ¡ ´ëÇÑ º» »çÇ×ÀÌ ¸í½ÃµÇ´Â ÇÑ ¾î¶°ÇÑ Á¤º¸ ¸Åü¿¡ ÀÇÇÑ º»¹®ÀÇ ÀüÀ糪 ¹ßÃéµµ ¹«»óÀ¸·Î Çã¿ëµË´Ï´Ù.
1. autotools requirementÇöÀç contents ¹öÁ¯
¿¹Á¯ autoconf ¿¡¼´Â ÀԷ°ªÀ¸·Î configure.in À» »ç¿ëÇÏ¿´À¸³ª .in Àº configure ÀÇ ÀԷ°ªÀ¸·Î »ç¿ëµÇ°í Àֱ⶧¹®¿¡ ¿ÀÇظ¦ ÇÇÇϱâ À§ÇØ ÇöÀç´Â configure.ac¸¦ »ç¿ëÇÏ°Ô µÇ¾ú´Ù. ÁÖ·Î *.in ÆÄÀϵéÀº configureÀÇ ÀԷ°ªÀ¸·Î Ãë±ÞµÇ°í ÀÖÀ¸¸ç, ÀÌ ÆÄÀϵéÀÌ configure °úÁ¤À» °ÅÃļ ½ÇÁ¦ ¿øÇÏ´Â ÆÄÀÏÀÌ µÈ´Ù. ¿¹¸¦ µé¾î script.in À̶ó´Â ÆÄÀÏÀº configre ¸¦ °ÅÃļ script ¶ó´Â ÆÄÀÏÀÌ µÉ¼öÀÖ´Ù. µû¶ó¼ À̵é°ú configure.in À» ±¸ºÐÇϱâ À§ÇØ ÇöÀç´Â configure.ac ¶ó°í ºÎ¸£°Ô µÇ¾ú´Ù. 2. °³¿ä1. configure.ac ¿¡ Makefile ÀÌ ÇÊ¿ä·Î ÇÏ´Â »çÇ×µéÀ» ±â·ÏÇÑ´Ù. 2. Makefile.am ¿¡ ÀÌµé °¡º¯¼ö¸¦ »ç¿ëÇÏ¿© Makefile ÀÇ ÃʾÈÀ» ÀÛ¼ºÇÑ´Ù. 3. configure ½ÇÇà½Ã¿¡ configure.ac ¿¡ ÁöÁ¤ÇÑ Ç׸ñµéÀÌ check µÇ¸é¼ Makefile.am ¿¡¼ ÇÊ¿äÇÑ Á¤º¸µéÀÌ À¯È¿ÇÑ °ªµé·Î ġȯµÈ´Ù. 4. Makefile.am ÀÌ À¯È¿ÇÑ °ªµéÀ» °¡Áö¸é¼ Makefile ÀÌ µÈ´Ù. 3. configure.ac
4. Makefile.am
5. how it works¾Æ·¡ ¼ø¼·Î ÁøÇàµÈ´Ù.
6. Âü°íautoconf,automake ¸¦ ½ÇÇàÇϱâ Àü¿¡ À̵éÀ» º¸Á¶ÇÏ´Â ¿ªÇÒÀ» ¼öÇàÇÒ ¼ö ÀÖ´Â °ÍÀ¸·Î aclocal, autoheader, autoscanÀÌ ÀÖ´Ù. 6.1. aclocal
6.2. autoheader
6.3. autoscan
7. °£´ÜÇÑ ¿¹Á¦ - minimal projectÀÛÀº ¿¹Á¦¸¦ ÅëÇؼ autotool À» »ç¿ëÇÏ´Â ¹æ¹ýÀ» º¸ÀÌ°Ú½À´Ï´Ù. ÈçÈ÷ °¡Àå ÀÛÀº ¿¹·Î hello.c ¸¦ autotool À» ÀÌ¿ëÇÏ¿© ÄÄÆÄÀÏÇÏ°í install ÇÏ´Â ¿¹¸¦ ¸¹ÀÌ µé¾îº¸ÀÌ°í Àִµ¥ ¿©±â¼´Â À̺¸´Ù Á¶±Ý ´õ autoconf automake ÀÇ ´É·ÂÀ» ¹ßÈÖÇÒ ¼ö ÀÖ´Â ¿¹¸¦ µé¾î º¸ÀÌ°Ú½À´Ï´Ù. ÈçÈ÷ open source project ¸¦ ÇÒ¶§ ÇöÀç install ÇÏ°íÀÚ ÇÏ´Â machine ¿¡ »ó°ü¾øÀÌ configure, make, make install À» ÅëÇؼ °£´ÜÇÏ°Ô ÇÁ·Î±×·¥À» install ÇÒ¼ö ÀÖ¾ú´Âµ¥ ¿©±â¼´Â À̸¦ °£´ÜÈ÷ ±¸ÇöÇغ¸°íÀÚ ÇÕ´Ï´Ù.´õ±º´Ù³ª project ÁøÇà»ó °¡Àå ±âº»ÀûÀ¸·Î ÇÊ¿äÇÑ ±â´ÉÀÔ´Ï´Ù. °£´ÜÈ÷ Çϱâ À§ÇØ solaris ¿Í linux ¿¡ ´ëÇؼ¸¸ º¸ÀÌ°Ú½À´Ï´Ù.solaris ¿¡¼ ½ÇÇàµÉ ÆÄÀÏ°ú linux ¿¡¼ ½ÇÇàµÉ ÆÄÀÏÀÌ ÇÊ¿äÇÕ´Ï´Ù. ¹°·Ð °°Àº ±â´ÉÀ» ÇÏ´Â ÆÄÀÏ·Î °°Àº À̸§À» »ç¿ëÇÏ¿©µµ »ó°ü¾ø½À´Ï´Ù. À̵éÀÌ ³õÀÌ°Ô µÉ Àå¼Ò¿Í À̵éÀ» °¡Áö°í ¿øÇÏ´Â ÀÛ¾÷À» ¼öÇàÇÏ°Ô µÉ autotools °ü·Ã ÆÄÀϵéÀÌ ³õÀÌ°Ô µÉ À§Ä¡¸¦ ¾Æ·¡¿¡¼ º¸À̵µ·Ï ÇÏ°Ú½À´Ï´Ù. 7.1. ¼Ò½ºÀÇ À§Ä¡¼Ò½ºµé(solaris ¿¡¼ ½ÇÇàµÉ ÆÄÀÏÀº solaris.c ¶ó ÇÏ°í linux ¿¡¼ ½ÇÇàµÉ ÆÄÀÏÀ» linux.c ¶ó°í ÇÏÀÚ.) À» ¹èÄ¡ ÇÒ¶§´Â ¿î¿µÃ¼Á¦ º°·Î directory ¸¦ ¸¸µé¾î¼ °ü¸®ÇÏ´Â °ÍÀÌ ÁÁ´Ù.(ÇöÀç °¡Àå Áß¿äÇÑ ±¸ºÐ¿ä¼Ò´Â ¿î¿µÃ¼Á¦º°·Î build °¡ ÀÌ·ç¾îÁö°Ô ÇÏ´Â °ÍÀ̱⠶§¹®À̱⵵ ÇÏ´Ù.) solaris.c ´Â solaris directory ¿¡ linux.c ´Â linux directory ¿¡ º¸°üÇÑ´Ù.
project directory ¿¡¼ °¢°¢ÀÇ program source µéÀÌ À§Ä¡ÇÒ¼ö Àִ°÷Àº ¹Ù·Î Çϳª ¾Æ·¡ÀÇ dirctory ±îÁö ÀÌ´Ù. Áï depth 1 ÀÇ directory ¸¸ Çã¿ëµÇ¸ç ±× ÀÌ»óÀÇ ±íÀ̸¦ °¡Áö´Â directory ¾È¿¡ ÀÖ´Â ¼Ò½º¿¡ ´ëÇؼ´Â configure ·Î Makefile À» ¸¸µé¼ö ¾ø¾î ½ÇÁ¦·Î´Â autoconf, automake ¸¦ ÀÌ¿ëÇϱâ À§Çؼ´Â °¢ ¼Ò½ºµéÀº depth 1 ÀÇ directory ¿¡¸¸ À§Ä¡ÇØ¾ß ÇÑ´Ù. ÀÌ ¹®Á¦´Â automake 1.4 ¸¦ »ç¿ëÇÒ °æ¿ì °í·ÁµÇ¾î¾ß Çϸç 1.5 ÀÌÈÄÀÇ ¹öÁ¯¿¡¼´Â ÀÌ ¹®Á¦°¡ ÇØ°áµÇ¾ú´Ù. 1.5 ÀÌ»óÀÇ automake ¸¦ »ç¿ëÇÏ°í ÀÖ´Ù¸é subdirectory ¿¡ À§Ä¡ÇÑ ¼Ò½º¿¡ ´ëÇؼµµ makefileÀ» ¸¸µé¼ö ÀÖ°í subdirectory ÀÇ ÆÄÀÏÀ» »óÀ§ directory ¿¡¼ ºÒ·¯¿Í »ç¿ë ÇÒ ¼ö ÀÖ°Ô µÇ¾ú´Ù. 7.2. autotools ÀÔ·Â ÈÀϵéÀÇ À§Ä¡autoconf ÀÇ ÀÔ·ÂÈÀÏÀÎ configure.ac ´Â project directory ¿¡ À§Ä¡Çϵµ·Ï ÇÑ´Ù. Áï °¡Àå »óÀ§ directory ¿¡ À§Ä¡Çϵµ·Ï ÇÏ°í automake ÀÇ ÀÔ·ÂÆÄÀÏÀÌ¸é¼ configure ÀÇ ÀԷ°ªÀÌ µÉ Makefile.am Àº °¢°¢ÀÇ ¼Ò½º°¡ À§Ä¡ÇÑ °÷¿¡ ³õµµ·Ï ÇÑ´Ù. ÀÌ Makefile.am µéÀÌ °¢ ¼Ò½º¿¡ ´ëÇÑ Makefile ÀÌ µÈ´Ù°í »ý°¢ÇÒ¶§ ÀÌ À§Ä¡¿¡ ´ëÇÑ ÀÌ°ßÀº ¾øÀ»°ÍÀÌ´Ù.
ÀÌÁ¦ °¢ directory ¿¡ À§Ä¡ÇÑ configure.ac, Makefile.am ÀÌ ¾î¶»°Ô ÀÛµ¿ÇÏ´Â Áö »ìÆ캸ÀÚ. 7.3. ÃÖ»óÀ§ directory ÀÇ Makefile.am ÀÇ ¿ªÇÒÃÖ»óÀ§ directoryÀÇ Makefile.am Àº configure ½Ã build ÇÒ directory ¸¦ ÆÇ´ÜÇÑ´Ù. SUBDIRS ¶ó´Â º¯¼ö¸¦ °¡Áö°í ÀÖÀ¸¸ç ¿©±â¿¡ ÁöÁ¤µÈ directory ¿¡ ´ëÇØ Makefile.am À» °¡Áö°í Makefile À» ¸¸µé°Ô µÈ´Ù. ¿ì¸®´Â configure °á°ú¿¡ µû¶ó ½Ã½ºÅÛÀÌ solaris ÀÎÁö linux ÀÎÁö¸¦ ÆÇ´ÜÇÏ¿©, solaris directory ¸¦ build ÇÒ °ÍÀÎ Áö linux directory ¸¦ build ÇÒ °ÍÀÎÁö¸¦ Á¤ÇØ¾ß ÇÑ´Ù.Áï ÀÌ SUBDIRS ´Â configure ½Ã¿¡¾ß ¾Ë ¼ö ÀÖ´Â °ªÀ̹ǷΠÀÏ´Ü Àû´çÇÑ º¯¼ö·Î µÎ°í configure ½Ã À¯È¿ÇÑ °ªÀ¸·Î ġȯµÇµµ·Ï ÇؾßÇÑ´Ù. configure ½Ã build directory ¸¦ °áÁ¤Çϵµ·Ï Çϸç ÀÌ directory ÀÇ °ªÀ» DIRS ¶ó´Â º¯¼ö¿¡ ÀúÀåÇϵµ·Ï ÇÏ°í, ÃÖ»óÀÇ Makefile.am ¿¡¼´Â ÀÌ °ªÀ» °¡Á®´Ù ¾²±â À§ÇØ ´ÙÀ½°ú °°ÀÌ ¾²¸é µÈ´Ù.
ÀÌÁ¦ configure ¿¡¼ ÀÌ DIRS °ªÀ» ¾î¶»°Ô °áÁ¤ÇÏ°í Makefile.am ¿¡ ³Ñ°ÜÁÖ´ÂÁö º¸µµ·Ï ÇÑ´Ù. 7.4. configure.ac ÀÇ ¿ªÇÒconfigure½Ã¿¡ ¸¹Àº Á¤º¸¸¦ ¾ò¾î¾ß Çϸç À̸¦ ¹ÙÅÁÀ¸·Î MakefileÀÌ ¸¸µé¾î Áø´Ù°í ÇÒ¶§ configure ½Ã¿¡ check ÇØ¾ß ÇҰ͵éÀ» ¹Ì¸® Á¤ÇØÁÖ´Â configure.ac ÀÇ ¿ªÇÒÀÌ autotools »ç¿ëÀÇ È¿¿ë¼ºÀ» °áÁ¤ÇÑ´Ù°í ÇÒ¼öµµ ÀÖ´Ù. °¢°¢ÀÇ check »çÇ×µéÀº macro ·Î Á¤ÀǵǾî ÀÖÀ¸¸ç ±×¿¡ ´ëÇؼ´Â ÇÊ¿äÇÒ°æ¿ì¸¶´Ù Çϳª¾¿ ã¾Æ°¡¸é¼ °øºÎÇÒ¼öÀÖ´Ù. Áï ÇϳªÀÇ macro ¸¦ ¾Ë°í ¸ð¸£´Â°ÍÀÌ ±×·¸°Ô Áß¿äÇÏÁö´Â ¾ÊÀ¸¸ç ¿øÇÏ´Â check »çÇ×ÀÌ »ý±æ¶§¸¶´Ù macro ¸¦ Á¶»çÇÏ´Â °ÍÀ¸·Îµµ °¡´ÉÇÏ´Ù. À̹ø ¿¹¿¡¼´Â °¢ platform º°·Î build Çϱ⸦ ¿øÇϱ⠶§¹®¿¡ configure ½Ã ÇöÀçÀÇ platform À» ¾Ë¾Æ¾ß ÇÏ°í À̸¦ ¹ÙÅÁÀ¸·Î build ÇÒ subdirectory, Áï ÃÖ»óÀ§ Makefile.am ¿¡¼ SUBDIRS ¿¡ µé¾î°¡°ÔµÉ DIRS ÀÇ °ªÀ» °áÁ¤ÇØ ÁÖ¾î¾ß ÇÑ´Ù. ±âº»ÀûÀÎ ¿©·¯ macro µéÀÌ ÀÖ°ÚÁö¸¸ ÀÏ´Ü ÀÌ°úÁ¤ÀÌ ¾î¶»°Ô 󸮵ǴÂÁö¸¦ º¸ÀÚ.
AC_CANONICAL_SYSTEM À̶ó´Â macro ¸¦ ÅëÇؼ target À̶ó´Â shell º¯¼ö¿¡ ÇöÀç system ÀÇ Á¤º¸¸¦ ±â·ÏÇÏ°Ô µÈ´Ù. ÀÌ Á¤º¸´Â configuration name Çü½ÄÀ¸·Î cpu-manufacturer-operation_system À¸·Î ±¸¼ºµÇ¸ç, À§ÀÇ case ¹®Àº À̸¦ ¹ÙÅÁÀ¸·Î ¾²¿©Á³´Ù. Áï AC_CANONICAL_SYSTEM À̶ó´Â macro ÀÇ ½ÇÇà°á°ú »ý±ä target º¯¼öÀÇ ³»¿ëÀ» ¹ÙÅÁÀ¸·Î target ¿¡ µû¸¥ ÇൿÀ» ÇÒ ¼ö ÀÖ°Ô µÈ´Ù. ÀÌÁ¦ case ¹® ¾ÈÀ¸·Î µé¾î°¡¸é DIRS ¶ó´Â º¯¼ö¿¡ linux ¶Ç´Â solaris ¸¦ assign ÇÏ°í À̸¦ AC_SUBST() macro ¸¦ ÅëÇØ ´ëÄ¡½ÃÅ°°í ÀÖ´Ù. ÀÌ macro ´Â parameter ·Î¹ÞÀº º¯¼ö¿¡ ´ëÇØ Makefile.am À̳ª *.in ¿¡¼ ÀÌ º¯¼ö¸íÀ» ¾²´Â °ªµéÀ» ÇöÀç assign ÇÑ °ªÀ¸·Î ´ëÄ¡½ÃÄÑ ÁØ´Ù. À̹ø ¿¹Á¦ÀÇ °æ¿ì´Â ÃÖ»óÀ§ directoryÀÇ Makefile.am ¿¡¼ SUBDIRS=@DIRS@ ÀÇ DIRS ÀÇ °ªÀ» ¹Ù²Ù°Ô µÈ´Ù. µû¶ó¼ configure ¸¦ °ÅÄ¡°Ô µÇ¸é ÃÖ»óÀ§ Makefile.am ÀÇ SUBDIRS ¿¡´Â ÇØ´ç ¸Ó½Å¿¡µû¶ó linux ȤÀº solaris °¡ µé¾î°¡°Ô µÈ´Ù. ÆíÀÇ»ó ÇöÀç configure °¡ ÀϾ°í ÀÖ´Â ¸Ó½ÅÀ» linux ¶ó°í ÇÒ¶§ SUBDIRS=linux °¡ µÇ¾î¼ make ¸¦ ÇÏ°Ô µÉ °æ¿ì ÀÌ Makefile (ÃÖ»óÀ§ directory ÀÇ Makefile.am ¿¡¼ ¸¸µé¾îÁö´Â Makefile) ¿¡ ÀÇÇØ linux directory ¸¸ ºôµå°¡ ÀÌ·ç¾î Áö°Ô µÈ´Ù. solaris directory ¿¡ ´ëÇÑ ºôµå´Â ÀÌ·ç¾îÁöÁö ¾ÊÀ¸¸ç µû¶ó¼ platform À» µûÁ®¼ ¿øÇÏ´Â source ¸¦ ºôµåÇÒ¼ö ÀÖ°Ô µÈ´Ù. 7.5. ÇϺΠdirectory ÀÇ Makefile.am ÀÇ ¿ªÇұ⺻ÀûÀÎ »ç¿ëÀ» À§Çؼ´Â ´ÙÀ½ µÎÁٷεµ ÃæºÐÇÕ´Ï´Ù.
±âº»ÀûÀ¸·Î Makefile.am ¿¡µµ ¾µ¼ö ÀÖ´Â °ªµéÀÌ Á¤ÇØÁ® ÀÖ´Ù. _PROGRAMS, _SCRIPTS, _DATA, _SOURCES primry µéÀ» ¾µ ¼ö Àִµ¥ undersquare ¾Õ¿¡ ƯÁ¤ directory ¸¦ Á¤ÇØ ÁÖ¾î¾ß Çϴµ¥ ÀÌ directory °¡ ÇØ´ç ÇÁ·Î±×·¥À̳ª ÆÄÀϵéÀÌ install µÉ À§Ä¡¸¦ °¡¸£Å²´Ù. À§ÀÇ Makefile.am ¿¡¼´Â linux.c ÆÄÀÏÀ» compile Çؼ linux ¶ó´Â À̸§ÀÇ ÇÁ·Î±×·¥À¸·Î ¸¸µçÈÄ À̸¦ bin directory ¿¡ install ÇÏ°Ô µÈ´Ù. ¿©±â¼ bin directory´Â À§ÀÇ configure.ac ¿¡¼ Á¤ÀÇµÈ default prefix ¾Æ·¡ÀÇ bin directory ¸¦ °¡¸£Å°°Ô µÈ´Ù. Áï, configure.ac ¿¡¼
¶ó°í Á¤ÀÇÇÏ¿´´Ù¸é, ÀÌ bin Àº /usr/eosrk/bin ÀÌ µÇ°í linux ÇÁ·Î±×·¥Àº ±× ¾Æ·¡¿¡ install µÈ´Ù. _SCRIPTS ´Â script ¸¦ install Çϱâ À§ÇØ ¾²ÀÌ°í _DATA ´Â ±×³É ÆÄÀϵéÀ» install ÇÏ°Ô µÉ °æ¿ì¿¡ ¾²ÀδÙ. µÑ´Ù _SOURCES ¸¦ ÇÊ¿ä·Î ÇÏÁö ¾Ê±â ¶§¹®¿¡ ºñ½ÁÇϳª _SCRIPTS ´Â ½ÇÇà °¡´ÉÇÏ°í _DATA ´Â ½ÇÇàºÒ°¡´ÉÇϱ⶧¹®¿¡ µû·Î ¾²°í ÀÖ´Ù. ÀÌ·¸°Ô ¾²¿©Áø Makefile.am Àº configure ½Ã ÃÖ»óÀ§ Makefile.am ¿¡¼ ÁöÁ¤ÇÏ´Â SUBDIRS ¿¡ Æ÷Ç﵃ °æ¿ì¸¸ build °¡ ÀÌ·ç¾îÁö´Âµ¥ ÃÖ»óÀ§ Makefile.am ó·³ ÁöÁ¤µÈ º¯¼ö°¡ ÀÖ°í À̸¦ configure.ac ¿¡¼ ġȯÇØ Áشٸé ÇØ´ç À¯È¿°ªÀÌ µé¾î°¡¼ Makefile ÀÌ ¸¸µé¾î Áö°Ô µÈ´Ù.(½ÇÁ¦·Î´Â Makefile.am Àº automake ¸¦ ÅëÇØ Makefile.in ·Î ¸¸µé¾îÁö°í configure ½Ã À̸¦ ÀԷ°ªÀ¸·Î ÃëÇؼ Makefile ÀÌ ¸¸µé¾î Áø´Ù.) 7.6. ½ÇÇà¼ø¼À§ÀÇ °úÁ¤À» ½ÇÇà½ÃÅ°´Â ¹æ¹ýÀº ¾Æ·¡¿Í °°´Ù.
ÈçÈ÷ configure Àü±îÁöÀÇ °úÁ¤À» ¹¾î¼ bootstrap ¶Ç´Â autogen.sh ¶ó´Â script ·Î ¸¸µé¾î¼ ÇѲ¨¹ø¿¡ ½ÇÇà½ÃŲ´Ù. end user ´Â ´ÜÁö ./configre, make, make install ¸¸À» Çϸé ƯÁ¤ ¼Ò½º¸¦ build ÇÒ ¼ö Àִµ¥ autogen.sh ¸¦ end user °¡ ÇÒ¼öÀÖ¾î¾ß ÇÑ´Ù ¾ø¾î¾ß ÇѴٴµ¥¿¡´Â ¿©·¯ ÀÇ°ßÀÌ ÀÖ´Ù. 7.7. ¿ä¾à°ú Àüü È帧 Á¤¸®Áö±Ý±îÁö ¿¹Á¦¸¦ º¸¸é ÃÖ»óÀ§ Makefile.am ¿¡ configure ½Ã¿¡ build µÉ subdirectory ¸¦ Á¤Çϵµ·Ï ÇÏ¿´À¸¸ç ÀÌ °ªÀ» ¾Ë¾Æ³»±â À§ÇØ configure.ac ¿¡¼ Çö ½Ã½ºÅÛÀ» °Ë»çÇÏ°í ÀÌ °ªÀ» ³Ñ°ÜÁÖµµ·Ï µÇ¾îÀÖ´Ù. Áï configure ½ÇÇàÈÄ make ¸¦ ÇÏ°Ô µÇ¸é ÃÖ»óÀ§ Makefile ¿¡ ÀÇÇؼ ÁöÁ¤µÈ directory ¸¸ build °¡ ÀÌ·ç¾îÁ® platform ¿¡ µû¶ó ¾Ë¸Â´Â ¼Ò½º°¡ build µÇ°í install µÉ ¼ö ÀÖ´Ù. Áö±ÝÀº directory ´ÜÀ§·Î ƯÁ¤ directory ¸¦ build ÇÒÁö ¾ÈÇÒÁö¸¦ °áÁ¤ÇÏ¿´Áö¸¸ autotools À» Á»´õ ¹Ì½ÃÀûÀÎ ¹üÀ§¿¡¼ ÀÌ¿ëÇÑ´Ù¸é ÇϳªÀÇ Äڵ忡 ´ëÇؼµµ define ¹®À» ÀÌ¿ëÇؼ ¼±º°ÀûÀ¸·Î Äڵ尡 build µÇ°Ô ÇÒ ¼ö ÀÖ´Ù. 8. ±âº» template - configure.ac, Makefile.amconfigure.ac, Makefile.am À» ÀÛ¼ºÇÒ¶§ ±âº»ÀûÀ¸·Î Àû¾î¾ßÇÏ´Â macro µîÀ» ¼³¸íÇÏ°Ú´Ù. À§ÀÇ Àüü È帧À» ÀÌÇØÇßÀ¸¸é Áö±ÝºÎÅÍÀÇ »çÇ×µéÀº Çѹø Àаí Áö³ªÃĵµ µÈ´Ù. ±×·¯³ª ±âº»ÀÎ ¸¸Å ÀÌ´ë·Î ¾²Áö ¾ÊÀ»°æ¿ì ÀüÇô ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù. --; 8.1. configure.acconfigure.ac ¿¡¼´Â check »çÇ×µéÀ» test ÇÏ´Â ÀϹÝÀûÀÎ ¼ø¼°¡ Á¤ÇØÁ®ÀÖ´Ù. ÀÌ ¼ø¼¸¦ µû¸£¸é¼ ÇÊ¿äÇÑ »çÇ׵鸸 °Ë»çÇÏ¸é µÈ´Ù. ´ë·«ÀûÀÎ ¼ø¼´Â
À§ÀÇ Ç׸ñµéÀº autoscan À» ÅëÇؼ configure.scan À̶ó´Â ÆÄÀÏÀ» »ý¼ºÇÏ°Ô µÇ¸é ±×´ë·Î ³ª¿À°Ô µÈ´Ù. ÀÌ autoscan Àº configure.ac ÆÄÀÏÀÇ ÀÛ¼ºÀ» ½±°Ô ÇØÁÖ°íÀÚ ÇÏ´Â µµ±¸ÀÌ´Ù. Ç㳪 ¾ÆÁÖ ÀÚ¼¼ÇÑ °Í±îÁö Ãâ·ÂÀ» ÇØÁÖ°í ÇÊ¿ä¾ø´Â °ÍµéÀÌ ¸¹±â¶§¹®¿¡ configure.ac ´Â Á÷Á¢ ÀÛ¼ºÇϴ°ÍÀÌ ÁÁ´Ù°í »ý°¢µÈ´Ù. °£´ÜÈ÷ ¿¹¸¦ µé¾îº¸¸é
¼øÀÌ µÉ¼öÀÖ´Ù. ÀÌ ¼ø¼´ë·Î ÇÊ¿äÇÑ check »çÇ×À» Ãß°¡½Ãų¼öµµ ÀÖ°í ÇÊ¿ä¾ø´Â°ÍÀº Á¦¿Ü½Ãų¼öµµ ÀÖ´Ù.configure ½Ã¿¡ ¸ðµç ÇÊ¿äÇÑ Á¤º¸µéÀÌ ¼öÁýµÈ´Ù°í ÇÒ¶§ ÀÌÀÇ ÃʾÈÀÌ µÇ´Â configure.ac ÆÄÀÏÀÌ °¡Àå Áß¿äÇÏ´Ù°í ÇÒ¼öÀÖ´Ù. 8.2. Makefile.amMakefile.am ÀÇ ±âÃÊ´Â À§¿¡¼ ¼³¸íÇÑ °ÍÀ¸·Î ÃæºÐÇÏ´Ù°í »ý°¢ÇÑ´Ù. Ãß°¡ÀûÀ¸·Î ¾Ë°íÀÖÀ¸¸é ÁÁÀº »çÇ×µéÀ» Àû¾îº¸¸é check_ prefix ¿Í TESTS primary, install-exec-hook ÀÌ ÀÖ´Ù.
ÀÌ·¸°Ô Çϸé test1 À̶ó´Â c ÇÁ·Î±×·¥°ú test2 ¶ó´Â script °¡ make check ½Ã ½ÇÇàµÉ TESTS ÆÄÀÏ·Î ÁöÁ¤ÀÌ µÇ°í make check ÀÌ ºÒ·ÁÁö±â Àü±îÁö´Â build µÇÁö ¾Ê´Â´Ù. make check ÀÌ ºÒ·¯Áö¸é test1 ÀÌ ºôµåµÇ°í test1 test2 ¼øÀ¸·Î ½ÇÇàµÈ´Ù. ±×·¯³ª install Àº µÇÁö ¾Ê´Â´Ù. install-exec-hook À̶ó´Â target Àº make install À» Á¤»óÀûÀ¸·Î ½ÇÇàÇÑÈÄ ½ÇÇàµÈ´Ù. ÇöÀç directory °¡ solaris ¶ó°í ÇÒ¶§ solaris ÀÇ make install °úÁ¤À» ¸¶Ä£ÈÄ¿¡ ½ÇÇàÀÌ µÈ´Ù. ÀÌ ÈÄ¿¡ solaris2 ¶ó´Â directory ¸¦ ºôµåÇÏ°Ô µÇ¾îÀÖ´Ù ÇÏ´õ¶óµµ ÀÌ °úÁ¤Àº ÇØ´ç directory ÀÇ install À» ¸¶Ä£ÈÄ¿¡ ÀϾÙ. Áï solaris ÀÇ make install À» ¸¶Ä£ÈÄ¿¡ ÀÌ °úÁ¤ÀÌ ½ÇÇàµÈ´Ù. ±× ÈÄ¿¡ solaris2 ¸¦ build ÇÏ°Ô µÈ´Ù. 9. ¹Ì½ÃÀû autotools ÀÇ ÀÌ¿ëÀÌ ¹®¼´Â multi platform ¿¡¼ ÇØ´ç platform ¿¡ ¸Â´Â build ¸¦ Çϱâ À§ÇÑ howto ¸¸À» Á¦°øÇÏ°í ÀÖ´Ù. ÇÏÁö¸¸ ¾Õ¿¡¼ Àá±ñ À̾߱âÇßµíÀÌ autotools À» ¹Ì½ÃÀûÀÎ ¹üÀ§±îÁö »ç¿ëÇϸé¼, config.h ¸¦ È¿°úÀûÀ¸·Î »ç¿ëÇÑ´Ù¸é ÇϳªÀÇ code ¸¦ ¾ó¸¶µçÁö ´Ù¸£°Ô build ÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î ¾ÕÀåÀÇ configure.ac ¸¦ º¼¶§,
¶ó´Â ºÎºÐÀÌ ÀÖ´Ù. ÀÌ macro ¸¦ ½ÇÇàÇÏ°í ³ª¸é config.h ¿¡ ÇöÀç configure °¡ ÀÏ¾î³ system¿¡ strcpy, bcopy ¶ó´Â ÇÔ¼ö°¡ ÀÖ´ÂÁö ¾ø´ÂÁö¿¡ ´ëÇÑ ±â·ÏÀÌ ³²°Ô µÈ´Ù.µû¶ó¼ °³¹ßÀÚ°¡ ¹Ì¸® Ȥ½Ã³ª strcpy ³ª bcopy ¸¦ °¡Áö°í ÀÖÁö ¾Ê´Â system¿¡ ´ëÇÑ Ã³¸®¸¦ ÇØÁÙ¼ö°¡ ÀÖ´Ù. config.h ÀÇ ³»¿ë
strcpy ¸¦ »ç¿ëÇÏ´Â code ½ÃÀÛ ºÎºÐ ȤÀº ±× code °¡ include ÇÏ´Â header file
À§Ã³·³ Çϸé strcpy ¸¦ °¡Áö°í ÀÖÁö ¾ÊÀº machine ¿¡ ´ëÇØ À̸¦ bcopy ¸¦ ÀÌ¿ëÇØ ±¸ÇöÇÒ ¼ö ÀÖ°Ô ÇØÁÙ ¼ö ÀÖ´Ù. Áï ÀÛÀº ¹üÀ§¿¡±îÁö Àß ÀÌ¿ëÇÑ´Ù¸é ¿Ïº®È÷ system independent ÇÑ code ¸¦ ¸¸µé ¼ö ÀְԵȴÙ. 10. Âü°íÀÚ·áGNU AUTOCONF, AUTOMAKE, and LIBTOOL(-Gary V.Vaughan, Ben Elliston, Tom Tromey, and Ian Lance Taylor- New Riders) À̶ó´Â Ã¥À» Âü°íÇÏ¿´´Ù. ÀÌ¿Í ÇÔ²² http://www.gnu.org/manual ¿¡ ÀÖ´Â autoconf, automake ¸¦ °£·«È÷ º¸¾Ò´Ù. ÀüüÀûÀ¸·Î µ¹¾Æ°¡´Â °³³äÀ» ÀÍÈ÷±â À§Çؼ´Â À§ÀÇ Ã¥ÀÌ ÁÁ°í ±âŸ ÀÚ¼¼ÇÑ option À̳ª macro ¿¡ ´ëÇؼ´Â gnu manual À» ã¾Æº¸¸é¼ ÀÛ¾÷ÇÏ´Â°Ô ÁÁ´Ù°í »ý°¢ µÈ´Ù.. <--- °³ÀÎÀûÀÎ »ý°¢ÀÔ´Ï´Ù. ·ùâ¿ì¾¾²²¼ ±×¸®½Å °³³äµµ¸¦ ÷ºÎÇÕ´Ï´Ù. ¿ª½Ã µµ¿òÀÌ µÇ¸®¶ó »ý°¢ÇÕ´Ï´Ù. |
You are unscrupulously dishonest, false, and deceitful. |