[ ÀÌÀü ] [ Â÷·Ê ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ ´ÙÀ½ ]

µ¥ºñ¾È »õ·Î¿î °ü¸®ÀÚ ¾È³»¼­
3 - ¼Ò½º ÄÚµå ¼öÁ¤Çϱâ


º¸ÅëÀÇ °æ¿ì, ÇÁ·Î±×·¥Àº /usr/local µð·ºÅ丮 ¹Ø¿¡ ÇÁ·Î±×·¥À» ¼³Ä¡ÇÏ°Ô µÈ´Ù. ÇÏÁö¸¸, µ¥ºñ¾È ÆÐŰÁö´Â ÀÌ µð·ºÅ丮¸¦ »ç¿ëÇÏ¸é ¾È µÈ´Ù. /usr/local µð·ºÅ丮Àº ½Ã½ºÅÛ °ü¸®ÀÚÀÇ (ȤÀº »ç¿ëÀÚÀÇ) °³ÀÎÀûÀÎ ¿ëµµ·Î ¾²À̱⠶§¹®ÀÌ´Ù. Áï, ¸ÞÀÌÅ©ÆÄÀϺÎÅÍ ½ÃÀÛÇØ¼­ ÇÁ·Î±×·¥ÀÇ ºôµå ½Ã½ºÅÛ ³»ºÎ¸¦ »ìÆìºÁ¾ß ÇÑ´Ù. ¸ÞÀÌÅ©ÆÄÀÏÀº make(1)°¡ ÇÁ·Î±×·¥À» ºôµåÇÏ´Â °úÁ¤À» ÀÚµ¿È­ÇÒ ¶§ ¾²ÀÌ´Â ½ºÅ©¸³Æ®ÀÌ´Ù. ¸ÞÀÌÅ©ÆÄÀÏ¿¡ °üÇØ ÀÚ¼¼ÇÑ »çÇ×Àº `rules' ÆÄÀÏ, 4.4¸¦ Âü°íÇÑ´Ù. ¸ÞÀÌÅ©ÆÄÀÏ¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸´Â `rules' ÆÄÀÏ, 4.4 Âü°í.

¿©·¯ºÐÀÇ ÇÁ·Î±×·¥ÀÌ GNU automake(1)³ª autoconf(1)¸¦ ¾²´ÂÁö È®ÀÎÇÑ´Ù. automakeÀÇ °æ¿ì ¼Ò½º ¾È¿¡ Makefile.am ÆÄÀÏÀÌ µé¾î ÀÖ°í, autoconfÀÇ °æ¿ì Makefile.in ÆÄÀÏÀÌ µé¾î ÀÖ´Ù. ÀÌ °æ¿ì¿¡ À̵é Makefile.am ȤÀº Makefile.in ÆÄÀÏÀ» ¼öÁ¤ÇØ¾ß ÇÒ ¼öµµ ÀÖ´Ù. automake´Â Makefile.am ÆÄÀÏÀÇ Á¤º¸¸¦ ÀÌ¿ëÇØ Makefile.in ÆÄÀÏÀ» ¸¸µé°í, ¸¶Âù°¡Áö·Î ./configure¸¦ ½ÇÇàÇÒ ¶§¸¶´Ù Makefile.inÀÇ Á¤º¸¸¦ Àо MakefileÀ» ¸¸µé¾î ³»±â ¶§¹®ÀÌ´Ù. Makefile.am ÆÄÀÏÀ» ¼öÁ¤ÇÏ·Á¸é automake¿¡ °üÇÑ Áö½ÄÀÌ ÇÊ¿äÇѵ¥, ¿©±â¿¡ °üÇØ¼­´Â automake info ¸Å´º¾ó¿¡¼­ ÀÐÀ» ¼ö ÀÖ´Ù. ¹Ý¸é, Makefile.in ÆÄÀÏ ¼öÁ¤Àº Makefile ¼öÁ¤°ú °ÅÀÇ µ¿ÀÏÇÏ´Ù. ´ÜÁö º¯¼ö¿¡¸¸ À¯ÀÇÇÑ´Ù. @CFLAGS@³ª @LN_S@¿Í °°ÀÌ `@'·Î µÑ·¯½×ÀÎ ¹®ÀÚ¿­ÀÌ º¯¼öÀ̰í, ÀÌ ºÎºÐÀº ./configure¸¦ ½ÇÇàÇÒ ¶§¸¶´Ù ÇØ´ç º¯¼öÀÇ °ªÀ¸·Î ¹Ù²ï´Ù.

ÀÌ ¹®¼­ÀÇ Áö¸é»ó »ç¶÷µéÀÌ Á¾Á¾ ¸Â´Úµå¸®´Â ¹®Á¦Á¡µé¿¡ ´ëÇØ ¾î¶»°Ô ¼öÁ¤ÇØ¾ß ÇÏ´ÂÁö ÀüºÎ ¾È³»ÇÏÁö´Â ¸øÇÑ´Ù´Â Á¡À» ±â¾ïÇØ µÐ´Ù.


3.1 ¼­ºê µð·ºÅ丮¿¡ ¼³Ä¡

´ëºÎºÐÀÇ ÇÁ·Î±×·¥µéÀº ¿©·¯ºÐÀÇ ½Ã½ºÅÛ ±¸Á¶¿¡ ¸Â°Ô ¼³Ä¡ÇÏ´Â ¹æ¹ýÀÌ À־, ÇØ´ç ½ÇÇà ÆÄÀÏÀ» $PATH¿¡ Æ÷ÇÔ½Ãų ¼ö ÀÖ´Ù. ¿©±â¿¡ °üÇØ¼­´Â ÇØ´ç ¹®¼­¿Í ¸Å´º¾óÀ» »ìÆìº»´Ù. ÇØ´ç ÇÁ·Î±×·¥ÀÌ Á¦´ë·Î ÀÌ ±â´ÉÀ» ÇÏ´Â Áö È®ÀÎÇÑ´Ù. ÀÌ·¸°Ô µÇ¸é ÀÌ¹Ì ¼³Ä¡ÇÑ ´Ù¸¥ °Íµé°ú °°ÀÌ ¼³Ä¡ µÉ °ÍÀ̰í ÀÌ·¸°Ô µÇ¸é ÆÐŰÁö µµ±¸°¡ ¾î¶² ÆÄÀÏÀÌ ¿©·¯ºÐÀÌ ÆÐŰÁö¿¡ µé¾î ÀÖ´ÂÁö ¾Æ´ÑÁö È®ÀÎÇÏÁö ¸øÇÑ´Ù.

µû¶ó¼­ ÀÌ ÀÏÀ» ÇÒ Çʿ䰡 ÀÖ´Ù: ÆÐÅ°Â¡ÇØÁÖ´Â µµ±¸°¡ .debÀ» ¸¸µå´Â Àӽà ¼­ºêµð·ºÅ丮¿¡ ÇÁ·Î±×·¥À» ¼³ÁöÇÑ´Ù. ÀÌ µð·ºÅ丮¿¡ ÀÖ´Â ¸ðµç °ÍÀº ÆÐŰÁö¸¦ ¼³Ä¡ÇßÀ» ¶§, »ç¿ëÀÚ ½Ã½ºÅÛ¿¡ ¼³Ä¡µÉ °ÍÀÌ°í ´ÜÁö ´Ù¸¥ Á¡Àº dpkg°¡ ·çÆ® µð·ºÅ丮¿¡ ÆÄÀϵéÀ» ¼³Ä¡ÇÑ´Ù´Â Á¡ÀÌ´Ù.

ÀÌ ÀÓ½ÃÆÄÀÏÀº debian µð·ºÅ丮 ¾È¿¡ »ý±â°í ÀÌ´Â debian/tmpÀ̳ª debian/packagenameÀÌ´Ù.

±âº»ÀûÀ¸·Î, ÇÁ·Î±×·¥ÀÌ debian/tmp¿¡ ¼³Ä¡µÇ±ä ÇÏÁö¸¸, ·çÆ® µð·ºÅ丮¿¡ ¼³Ä¡µÇ¾úÀ» ¶§ Á¦´ë·Î µ¿ÀÛÇϵµ·Ï ¼³Ä¡ÇØ¾ß ÇÑ´Ù. Áï, .deb ÆÐŰÁö·Î ¼³Ä¡ÇßÀ» ¶§ Á¦´ë·Î µ¿ÀÛÇØ¾ß ÇÑ´Ù. GNU autoconf¸¦ ÀÌ¿ëÇÏ´Â ÇÁ·Î±×·¥ÀÇ °æ¿ì¿¡´Â dh_make°¡ ÀÚµ¿À¸·Î ¿©±â¿¡ ÇÊ¿äÇÑ ÇØ´ç ¸í·É¾îµéÀ» ¸¸µé¾î Áֱ⠶§¹®¿¡ ¸Å¿ì ½±´Ù. ±×·¯¹Ç·Î ÀÌ `gentoo' ¿¹Á¦ÀÇ °æ¿ì¿¡´Â ÀÌ ºÎºÐÀ» ÀÐÁö ¾Ê°í ³Ñ¾î°¡µµ ÁÁ´Ù. ±×·¯³ª ±× ¿ÜÀÇ ÇÁ·Î±×·¥Àº °æ¿ì¿¡ µû¶ó MakefileÀ» ¼öÁ¤ÇØ¾ß ÇÑ´Ù.

´ÙÀ½Àº gentooÀÇ Makefile¿¡¼­ °ü·ÃµÈ ºÎºÐÀÌ´Ù.

       # Where to put binary on 'make install'?
       BIN     = /usr/bin
     
       # Where to put icons on 'make install'?
       ICONS   = /usr/share/gentoo

±×·±µ¥ ¿Ö ÇÏÇÊÀÌ¸é ´Ù¸¥ µð·ºÅ丮µµ ¾Æ´Ï°í, ÀÌ µð·ºÅ丮Àΰ¡? µ¥ºñ¾È ÆÐŰÁö´Â /usr/local¿¡ ¼³Ä¡µÇÁö ¾Ê°í ¿©±â´Â ´ÜÁö ½Ã½ºÅÛ °ü¸®ÀÚ¸¸ ¾µ ¼ö ÀÖ´Ù. µ¥ºñ¾È¿¡ ÀÖ´Â ÀÌ·¯ÇÑ ÆÄÀϵéÀº ¸ðµÎ /usr¿¡ ÀÖ´Ù.

¹ÙÀ̳ʸ®¿Í ¾ÆÀÌÄÜ, ¹®¼­°¡ ÀÖ´Â À§Ä¡´Â ÆÄÀϽýºÅÛ ±¸Á¶ Ç¥ÁØ(/usr/share/doc/debian-policy/fhs/)¿¡ ÁöÁ¤µÇ¾î ÀÖ´Ù. ÀÌ ¹®¼­¸¦ Àߺ¸°í ¾îµð¿¡ ¿©·¯ºÐ ÆÐŰÁö°¡ ÀÖ¾î¾ßÇÒÁö È®ÀÎÇϱ⠹ٶõ´Ù.

ÀÚ ÀÌÁ¦ ¿©·¯ºÐÀº ¹ÙÀ̳ʸ®¸¦ /usr/local/binÀÌ ¾Æ´Ñ /usr/bin¿¡ ¼³Ä¡ ÇØ¾ßÇÑ´Ù. ±×¸®°í ¸ÇÆäÀÌÁö´Â /usr/local/man/man1°¡ ¾Æ´Ñ /usr/share/man/man1 ¿¡ ³ª¿Í¾ßÇÑ´Ù. gentoo¿¡ ´ëÇÑ ¸Å´º¾ó ÆäÀÌÁö°¡ ÀÖ´ÂÁö È®ÀÎÇÏ°í ¸¸ÀÏ ¾ø´Ù¸é ¸¸µé°í³ª¼­ /usr/share/man/man1¿¡ ¼³Ä¡ÇÏ¸é µÈ´Ù.

¸î¸î ÇÁ·Î±×·¥µéÀº ÀÌ·± °æ·Î¸¦ Á¤ÀÇÇÏ´Â makefile º¯¼ö¸¦ ¾²Áö ¾Ê´Â °æ¿ì °¡ ÀÖ´Ù. °á±¹ C ¼Ò½º¸¦ ¼öÁ¤Çؼ­ À̸¦ ¼öÁ¤Çϰí Á¦´ë·Î ÀÛµ¿ÇÏ°Ô ¸¸µé¾î¾ß ÇÑ´Ù. ±×·³ ¾î¶»°Ô ã¾Æ¾ßÇϳª? ´ÙÀ½°ú °°Àº ¸í·ÉÀ» ¾µ ¼ö ÀÖ´Ù:

       grep -rn usr/local/lib *.[ch]

grep ÇÁ·Î±×·¥Àº usr/local/libÀÌ ³ªÅ¸³­ ÆÄÀÏÀÇ À̸§°ú ±× ÆÄÀÏÀÇ ¸î¹øÂ° ÁÙ¿¡¼­ usr/local/libÀÌ ³ªÅ¸³µ´ÂÁö ¾Ë·ÁÁØ´Ù.

¿©±â¸¦ ÆíÁýÇϰí /usr/local/*¸¦ usr/*·Î ¹Ù²Û´Ù. ÄÚµå ³ª¸ÓÁö ºÎºÐ¿¡µµ ÀÌ ºÎºÐÀÌ Çò°¥¸®Áö ¾Ê°Ô Á¶½ÉÇÑ´Ù.

ÀÌ·¸°Ô ÇÑ ÈÄ¿¡ install Ÿ°ÙÀ» ã°í (`install:'À¸·Î ½ÃÀÛÇÏ´Â ÁÙÀ» ã´Â´Ù), À§¿¡¼­ ¼öÁ¤ÇÑ º¯¼ö À̿ܿ¡ /usr/local/... µð·ºÅ丮ÀÇ À̸§À» Á÷Á¢ ¾ð±ÞÇÏ´Â ºÎºÐÀÌ ÀÖÀ¸¸é ¹Ù²Û´Ù. gentooÀÇ °æ¿ì¿¡´Â ±×·± °æ¿ì°¡ ÀÖ¾ú°í, Á» º¸±â ÁÁ°Ô °íÃÄÁà¾ß Çß´Ù. °íÄ¡±â ÀüÀÇ gentooÀÇ install Ÿ°ÙÀº ´ÙÀ½°ú °°¾Ò´Ù:

       # ----------------------------------------- Installation
     
       # You're going to have to be root to do this!
       install:        gentoo
                       install ./gentoo $(BIN)
                       install icons $(ICONS)
                       install gentoorc-example $(HOME)/.gentoorc

°íÄ£ ÈÄ¿¡´Â ´ÙÀ½°ú °°´Ù:

       # ----------------------------------------- Installation
     
       # You're going to have to be root to do this!
       install:        gentoo-target
                       install -d $(BIN) $(ICONS) $(DESTDIR)/etc
                       install ./gentoo $(BIN)
                       install -m644 icons/* $(ICONS)
                       install -m644 gentoorc-example $(DESTDIR)/etc/gentoorc

¿©±â¼­ ¸ðµç ±ÔÄ¢¾Õ¿¡ install -dÀÌ ÀÖ´Ù´Â °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖ´Ù. º¸Åë /usr/local/bin°ú ´Ù¸¥ µð·ºÅ丮°¡ ÀÌ¹Ì À־ °Å±â¿¡¼­ `make install' ÀÌ µ¹¾Æ°¡±â ¶§¹®¿¡ ¿ø·¡ Makefile¿¡´Â ÀÌ ºÎºÐÀÌ ¾ø´Ù. ¾ø´Â µð·ºÅ丮¿¡ ¼³ Ä¡ÇÏ·Á°í Çϱ⠶§¹®¿¡ ÀÌ·± µð·ºÅ丮¸¦ Çϳª Çϳª ¸¸µé¾î¾ßÇÑ´Ù.

Ãß°¡ ¹®¼­¿¡ ´ëÇÑ Á¤º¸´Â ¿©±â¼­ ÇÒ ¼ö ÀÖ´Ù:

                       install -d $(DESTDIR)/usr/share/doc/gentoo/html
                       cp -a docs/* $(DESTDIR)/usr/share/doc/gentoo/html

ÁÖÀÇ ±í°Ô º¸¸é `install:'ÁÙ¿¡¼­ `gentoo'¸¦ `gentoo-target'À¸·Î ¹Ù²Ù¾ú´Ù´Â »ç½ÇÀ» ¾Ë¾Æ ç °ÍÀÌ´Ù. ÀÌ·± °É ¹ö±× ¼öÁ¤À̶ó°í ÇÑ´Ù :-)

ÀÌ·¸°Ô µ¥ºñ¾È°ú´Â Ưº°È÷ °ü°è¾ø´Â ¹®Á¦Á¡À» °íÃÆÀ» °æ¿ì¿¡´Â, ´ÙÀ½ ÇÁ·Î±×·¥ ¹öÀü¿¡ Æ÷Ç﵃ ¼ö ÀÖµµ·Ï »óÀ§ °ü¸®ÀÚ¿¡°Ô ²À ¾Ë·ÁÁÖµµ·Ï ÇÑ´Ù. debian/* ÆÄÀϵéÀº º¸³¾ ÇÊ¿ä ¾ø°í, ±× ¿ÜÀÇ ÆÐÄ¡¸¦ º¸³»¾ß ÇÑ´Ù. ÆÐÄ¡¸¦ º¸³»±â Àü¿¡ ±×¸®°í ±× ÆÐÄ¡°¡ µ¥ºñ¾È ȤÀº ¸®´ª½º(½ÉÁö¾î´Â À¯´Ð½º!)¿¡¸¸ Ưº°È÷ °ü°èµÈ »çÇ×ÀÌ ¾Æ´Ï¶ó´Â °É È®ÀÎÇÏ°í »óÀ§ °ü¸®ÀÚ¿¡°Ô º¸³½´Ù.


3.2 ¶óÀ̺귯¸®ÀÇ Â÷ÀÌ

¶Ç ÇѰ¡Áö ÈçÈ÷ ¸¸³ª´Â ¹®Á¦°¡ ÀÖ´Ù: ¶óÀ̺귯¸®´Â °¢ Ç÷§Æû¸¶´Ù ´Ù¸£´Ù. ¿¹¸¦ µé¾î ¸ÞÀÌÅ©ÆÄÀÏ¿¡¼­ µ¥ºñ¾È¿¡ ¾ø´Â, ½ÉÁö¾î´Â ¸®´ª½º¿¡ ¾ø´Â ¶óÀ̺귯¸®¿Í ¸µÅ©ÇÏ·Á°í ÇÏ´Â °æ¿ìµµ ÀÖ´Ù. ÀÌ °æ¿ì¿¡ µ¥ºñ¾È¿¡ µé¾î ÀÖ´Â, °°Àº ±â´ÉÀ» ÇÏ´Â ¶óÀ̺귯¸®·Î ¹Ù²ã¾ß ÇÑ´Ù. °¡Àå ÁÁÀº ¹æ¹ýÀº ±× ÁÙÀ» ÁÖ¼®Ã³¸®ÇÏ´Â °ÍÀÌ´Ù. Áö¿ìÁö ¾Ê´Â °Ç ´Ù¸¥ Ç÷§Æû¿¡¼­ ÄÄÆÄÀÏÇÏ´Â »ç¶÷µµ ÀÖÀ» °ÍÀ̰í, ±× »ç¶÷¿¡°Ô ¹®Á¦ÀÇ ¿øÀÎÀ» ¾Ë·ÁÁÖ´Â ÈùÆ®¸¦ ³²°ÜÁÖ±â À§Çؼ­ÀÌ´Ù.

¿¹¸¦ µé¾î, ÇÁ·Î±×·¥ÀÇ Makefile(ȤÀº Makfile.in)¿¡ ´ÙÀ½°ú °°ÀÌ ¾²¿© ÀÖÀ¸¸é (±×¸®°í ÇÁ·Î±×·¥ÀÌ ÄÄÆÄÀϵÇÁö ¾ÊÀ¸¸é):

       LIBS = -lcurses -lsomething -lsomethingelse

´ÙÀ½°ú °°ÀÌ ¹Ù²Û´Ù. ÀÌÁ¦ ÄÄÆÄÀÏÀÌ µÉ °ÍÀÌ´Ù:

       LIBS = -lncurses -lsomething -lsomethingelse

(ÀÌ ¿¹°¡ °¡Àå ÁÁÀº ¿¹°¡ ¾Æ´Ï´Ù. libncurses ÆÐŰÁö°¡ ÇöÀç´Â libncurses.so¿¡ ½Éº¼¸¯ ¸µÅ©°¡ °É·ÁÀÖÁö¸¸ ÀúÀÚ´Â ³ª»Ú´Ù°í »ý°¢ÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù. ÁÁÀº Á¦¾È ÀÖÀ¸¸é ¾Ë·ÁÁֱ⠹ٶõ´Ù. :-)


[ ÀÌÀü ] [ Â÷·Ê ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ ´ÙÀ½ ]

µ¥ºñ¾È »õ·Î¿î °ü¸®ÀÚ ¾È³»¼­

version 1.2, 6 April 2002.

Josip Rodin jrodin@jagor.srce.hr
¹ø¿ª: ·ùâ¿ì cwryu@debian.org/
¹ø¿ª: ¾çÀ¯¼º yooseong@debian.org/