Go to the first, previous, next, last section, table of contents.


¸ÞÀÌÅ©ÆÄÀÏ ½À°ü

ÀÌ Àå¿¡¼­´Â GNU ÇÁ·Î±×·¥ÀÇ ¸ÞÀÌÅ©ÆÄÀÏÀ» ÀÛ¼ºÇÒ °æ¿ìÀÇ ½À°üµéÀ» ¼³¸íÇÑ´Ù.

¸ÞÀÌÅ©ÆÄÀÏÀÇ ÀϹÝÀûÀÎ ½À°ü

¸ðµç ¸ÞÀÌÅ©ÆÄÀÏÀº ´ÙÀ½°ú °°Àº ÁÙÀÌ µé¾î ÀÖ´Ù:

SHELL = /bin/sh

SHELL º¯¼ö¸¦ ȯ°æº¯¼ö¿¡¼­ºÎÅÍ ³»·Á¹Þ´Â ½Ã½ºÅÛ¿¡¼­ ¹ß»ýÇÒ Áö ¸ð¸£´Â ¹®Á¦¸¦ ÇÇÇϱâ À§Çؼ­ À§¿Í °°ÀÌ ÇÑ´Ù. (GNU make¿¡´Â ÀÌ ¹®Á¦°¡ ¾ø´Ù.)

.SUFFIXES:
.SUFFIXES: .c .o

ù¹ø° ÁÙÀº Á¡¹Ì¾î ¸®½ºÆ®¸¦ Áö¿ì°í, µÎ¹ø° ÁÙ¿¡´Â ÀÌ ¸ÞÀÌÅ©ÆÄÀÏ¿¡¼­ ¾Ï¹¬ÀûÀÎ ·ê¿¡ »ç¿ëµÉ ¼ö ÀÖ´Â ¸ðµç Á¢¹Ì¾î°¡ ¾²¿© ÀÖ´Ù.

`.'ÀÌ ¸í·É¾î ½ÇÇà °æ·Î ¾È¿¡ µé¾î ÀÖ´Ù°í °¡Á¤ÇÏÁö ¸»¶ó. ¸ÞÀÌÅ©¸¦ ½ÇÇàÇÒ ¶§ ÆÐÅ°ÁöÀÇ ÀϺÎÀÎ ÇÁ·Î±×·¥À» ½ÇÇàÇØ¾ß ÇÒ °æ¿ì, ÇÁ·Î±×·¥ÀÌ ¸ÞÀÌÅ© µµÁß¿¡ ¸¸µé¾î Áú ¶§´Â `./'¸¦ »ç¿ëÇÏ°í ÇÁ·Î±×·¥ÀÌ ¼Ò½º Äڵ忡¼­ º¯ÇÏÁö ¾Ê´Â ºÎºÐÀ̸é `$(srcdir)/'¸¦ »ç¿ëÇÑ´Ù. ÀÌ·¸°Ô ¾Õ¿¡ ºÙÀÌÁö ¾ÊÀ¸¸é, ÇöÀç ã±â °æ·Î°¡ »ç¿ëµÈ´Ù.

»ç¿ëÀÚ´Â `configure'¿¡ `--srcdir' ¿É¼ÇÀ» »ç¿ëÇؼ­ º°µµÀÇ µð·ºÅ丮¿¡¼­ ºôµåÇÒ ¼öµµ ÀÖÀ¸¹Ç·Î, `./'(ºôµå µð·ºÅ丮(build directory))¿Í `$(srcdir)/'(¼Ò½º µð·ºÅ丮(source directory)ÀÇ Â÷ÀÌ´Â Áß¿äÇÏ´Ù.

foo.1 : foo.man sedscript
        sed -e sedscript foo.man > foo.1

À§ÀÇ ·êÀº ºôµå µð·ºÅ丮°¡ ¼Ò½º µð·ºÅ丮°¡ ¾Æ´Ò °æ¿ì ½ÇÆÐÇÒ °ÍÀÌ´Ù. `foo.man'°ú `sedscript'´Â ¼Ò½º µð·ºÅ丮¿¡ ¾ø±â ¶§¹®ÀÌ´Ù.

GNU make¸¦ »ç¿ëÇÒ ¶§, `VPATH'¿¡ µû¶ó ¼Ò½º ÆÄÀÏÀ» ã´Â °Ç ÀÇÁ¸¼º ÆÄÀÏÀÌ ÇÑ°³¸¸ ÀÖÀ» °æ¿ì¿¡ µ¿ÀÛÇÑ´Ù. makeÀÇ ÀÚµ¿ º¯¼ö `$<'´Â ¾îµð¿¡ ÀÖµç °£¿¡ ¼Ò½º ÆÄÀÏÀ» ³ªÅ¸³¾ °ÍÀ̱⠶§¹®ÀÌ´Ù. (¸¹Àº makeÀÇ ¹öÀüµéÀº ¾Ï¹¬ÀûÀÎ ·ê¿¡¼­¸¸ `$<'ÀÇ °ªÀ» ÁöÁ¤ÇÑ´Ù.) ´ÙÀ½°ú °°Àº ¸ÞÀÌÅ©ÆÄÀÏÀº

foo.o : bar.c
        $(CC) -I. -I$(srcdir) $(CFLAGS) -c bar.c -o foo.o

´ÙÀ½°ú °°ÀÌ ¾²¿©Á®¾ß ÇÑ´Ù:

foo.o : bar.c
        $(CC) -I. -I$(srcdir) $(CFLAGS) -c $< -o $@

`VPATH'°¡ ¿Ã¹Ù¸£°Ô µ¿ÀÛÇϵµ·Ï ÇÏ·Á¸é À§¿Í °°ÀÌ ½á¾ß ÇÑ´Ù. Ÿ°ÙÀÌ ¿©·¯°³ÀÇ ÀÇÁ¸¼ºÀ» °¡Áø °æ¿ì, ¸í½ÃÀûÀ¸·Î `$(srcdir)'¸¦ ¾²´Â °ÍÀÌ ·êÀ» Àß µ¿ÀÛÇÏ°Ô ¸¸µå´Â °¡Àå ½¬¿î ¹æ¹ýÀÌ´Ù. ¿¹¸¦ µé¾î, À§ÀÇ `foo.1'¿¡ ´ëÇÑ Å¸°ÙÀº ´ÙÀ½°ú °°ÀÌ ¾²´Â °ÍÀÌ °¡Àå ÁÁ´Ù:

foo.1 : foo.man sedscript
        sed -e $(srcdir)/sedscript $(srcdir)/foo.man > $@

GNU ¹èÆ÷ÆÇÀº º¸Åë ¼Ò½º ÆÄÀÏÀÌ ¾Æ´Ñ ÆÄÀϵµ µé¾î ÀÖ´Ù---¿¹¸¦ µé¾î, Info ÆÄÀÏ, Autoconf, Autoconf, Bison, ȤÀº, FlexÀÇ Ãâ·Â ÆÄÀÏ°ú °°Àº ÆÄÀϵµ µé¾î ÀÖ´Ù. ÀÌ ÆÄÀϵéÀº º¸Åë ¼Ò½º µð·ºÅ丮¿¡ ³ªÅ¸³ª±â ¶§¹®¿¡, ÀÌ ÆÄÀϵéÀº ¾ðÁ¦³ª ºôµå µð·ºÅ丮°¡ ¾Æ´Ñ ¼Ò½º µð·ºÅ丮¿¡ ÀÖ¾î¾ß ÇÑ´Ù. ±×·¯¹Ç·Î ¸ÞÀÌÅ©ÆÄÀÏ ·êÀº ÀÌ ÆÄÀϵéÀ» ¾÷µ¥ÀÌÆ®ÇÒ ¶§ ¾÷µ¥ÀÌÆ®µÈ ÆÄÀϵéÀ» ¼Ò½º µð·ºÅ丮¿¡ ³õ¾Æ¾ß ÇÑ´Ù.

ÇÏÁö¸¸, ÆÄÀÏÀÌ ¹èÆ÷ÆÇ¿¡ ¾øÀ» °æ¿ì, ¸ÞÀÌÅ©ÆÄÀÏÀº ÀÌ ÆÄÀÏÀ» ¼Ò½º µð·ºÅ丮¿¡ ³Ö¾î¼­´Â ¾È µÈ´Ù. º¸Åë »óȲ¿¡¼­ ÇÁ·Î±×·¥À» ºôµåÇÏ´Â ÀÏÀº Àý´ë ¼Ò½º µð·ºÅ丮¸¦ ¼öÁ¤ÇÏÁö ¾Ê±â ¶§¹®ÀÌ´Ù.

ÃÖ¼ÒÇÑ ºôµå¿Í ¼³Ä¡ Ÿ°ÙÀº (±×¸®°í ÀÌ Å¸°Ù¿¡¼­ °¥¶óÁ® ³ª¿À´Â Ÿ°Ùµé) µ¿½Ã¿¡ ½ÇÇàµÇ´Â make¿¡¼­ Á¦´ë·Î µ¿ÀÛÇϵµ·Ï ÀÛ¼ºÇ϶ó.

¸ÞÀÌÅ©ÆÄÀÏ¿¡ ÀÖ´Â À¯Æ¿¸®Æ¼µé

¸ÞÀÌÅ©ÆÄÀÏÀÇ ¸í·É¾îµéÀº (±×¸®°í configure¿Í °°Àº ¸ðµç ¼Ð ½ºÅ©¸³Æ®µéÀº) sh¿¡¼­ ½ÇÇàµÇµµ·Ï (cshÀÌ ¾Æ´Ï¶ó) ÀÛ¼ºÇ϶ó. kshÀ̳ª bashÀÇ Æ¯¼ö ±â´ÉµéÀ» Àý´ë »ç¿ëÇϸ® ¸»¶ó.

configure ½ºÅ©¸³Æ®¿Í ºôµå¿Í ¼³Ä¡¿ë ¸ÞÀÌÅ©ÆÄÀÏ ·êµéÀº ´ÙÀ½ ¸í·É¾îµéÀ» Á¦¿ÜÇÏ°í´Â Á÷Á¢ »ç¿ëÇÏ¸é ¾È µÈ´Ù.

cat cmp cp diff echo egrep expr false grep install-info
ln ls mkdir mv pwd rm rmdir sed sleep sort tar test touch true

¾ÐÃà ÇÁ·Î±×·¥ gzipÀº dist ·ê¿¡¼­ »ç¿ëµÉ ¼ö ÀÖ´Ù.

ÀÌ ÇÁ·Î±×·¥¿¡¼­ ÀϹÝÀûÀ¸·Î Áö¿øµÇ´Â ¿É¼Çµé¸¸ »ç¿ëÇ϶ó. ¿¹¸¦ µé¾î, `make -p'´Â Æí¸®ÇÒ Áö ¸ð¸£³ª, ´ëºÎºÐÀÇ ½Ã½ºÅÛÀÌ Áö¿øÇÏÁö ¾ÊÀ¸¹Ç·Î »ç¿ëÇÏ¸é ¾È µÈ´Ù.

¸ÞÀÌÅ©ÆÄÀÏ¿¡¼­ ½Éº¼¸¯ ¸µÅ©¸¦ ¸¸µéÁö ¾Ê´Â °ÍÀÌ ÁÁ´Ù. ¸î¸î ½Ã½ºÅÛ¿¡¼­´Â ½Éº¼¸¯ ¸µÅ©¸¦ Áö¿øÇÏÁö ¾Ê´Â´Ù.

ºôµå¿Í ¼³Ä¡¿ë ¸ÞÀÌÅ©ÆÄÀÏ ·êµéÀº ÄÄÆÄÀÏ·Î¿Í °ü·Ã µµ±¸µéµµ ¾µ ¼ö ÀÖÁö¸¸, make º¯¼ö¸¦ ÅëÇØ »ç¿ëÇؼ­ »ç¿ëÀÚ°¡ ´Ù¸¥ µµ±¸·Î ¹Ù²Ü ¼ö ÀÖµµ·Ï ÇÑ´Ù. ¿©±â¼­ ¸»ÇÏ´Â ÇÁ·Î±×·¥Àº ´ÙÀ½°ú °°Àº °ÍµéÀÌ´Ù:

ar bison cc flex install ld ldconfig lex
make makeinfo ranlib texi2dvi yacc

À§ÀÇ ÇÁ·Î±×·¥À» ½ÇÇàÇÒ ¶§ ´ÙÀ½ make º¯¼ö¸¦ »ç¿ëÇÑ´Ù:

$(AR) $(BISON) $(CC) $(FLEX) $(INSTALL) $(LD) $(LDCONFIG) $(LEX)
$(MAKE) $(MAKEINFO) $(RANLIB) $(TEXI2DVI) $(YACC)

ranlib³ª ldconfig¸¦ »ç¿ëÇÒ °æ¿ì, ½Ã½ºÅÛ¿¡ ±× ÇÁ·Î±×·¥ÀÌ ¾øÀ» ¶§ ¹®Á¦°¡ »ý±âÁö ¾Êµµ·Ï ÇØ¾ß ¤¾³ª´Ù. ¸í·É¿¡¼­ ¾Ö·¯¸¦ ¹«½ÃÇϵµ·Ï ¸¸µé°í, ¸í·É¾î ¾Õ¿¡ »ç¿ëÀÚ¿¡°Ô ÀÌ ¸í·ÉÀÌ ½ÇÆÐÇß´Ù°í Çؼ­ ¹®Á¦°¡ ¾Æ´Ï¶ó´Â °ÍÀ» ¾Ë·ÁÁÖ´Â ¸Þ¼¼Áö¸¦ Ç¥½ÃÇÑ´Ù. (AutoconfÀÇ `AC_PROG_RANLIB' ¸ÅÅ©·Î°¡ ÀÌ ÀÏ¿¡ ¾µ¸ð°¡ ÀÖ´Ù.)

½Éº¼¸¯ ¸µÅ©¸¦ »ç¿ëÇÑ´Ù¸é, ½Éº¼¸¯ ¸µÅ©°¡ ¾ø´Â ½Ã½ºÅÛÀ» À§ÇØ ´ëü ÀåÄ¡¸¦ ¸¸µé¾î¾ß ÇÑ´Ù.

±× ¿Ü¿¡ Make º¯¼ö¸¦ ÅëÇØ »ç¿ëµÉ ¼ö ÀÖ´Â À¯Æ¿¸®Æ¼´Â:

chgrp chmod chown mknod

ÇØ´ç À¯Æ¿¸®Æ¼°¡ Á¸ÀçÇÑ´Ù´Â °É ¾Ë°í Àִ ƯÁ¤ ½Ã½ºÅÛÀ» À§ÇÑ °æ¿ì¶ó¸é ¸ÞÀÌÅ©ÆÄÀÏ ³»¿¡ (ȤÀº ½ºÅ©¸³Æ®¿¡) ±× ¿ÜÀÇ À¯Æ¿¸®Æ¼¸¦ »ç¿ëÇصµ ÁÁ´Ù.

¸í·É¾î¸¦ ÁöÁ¤ÇÏ´Â º¯¼ö

¸ÞÀÌÅ©ÆÄÀÏ¿¡¼­´Â ¾î¶² ¸í·É¾î, ¿É¼Ç µîÀ» ¹«½ÃÇÏ°í ´Ù½Ã Á¤ÀÇÇÒ ¼ö ÀÖµµ·Ï º¯¼ö¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù.

ƯÈ÷, ´ëºÎºÐÀÇ À¯Æ¿¸®Æ¼ ÇÁ·Î±×·¡À» º¯¼ö¸¦ ÅëÇØ »ç¿ëÇØ¾ß ÇÑ´Ù. Áï, BisonÀ» »ç¿ëÇÑ´Ù¸é, ±âº»°ªÀÌ `BISON = bison'°ú °°ÀÌ ¸ÂÃçÁ® ÀÖ´Â BISONÀ̶ó´Â º¯¼ö¸¦ »ç¿ëÇÏ°í, BisonÀ» »ç¿ëÇÏ´Â ¸ðµç °÷¿¡¼­ $(BISON)À» ¾´´Ù.

ln, rm, mv, µî°ú °°Àº ÆÄÀÏ °ü¸® À¯Æ¿¸®Æ¼µéÀº, »ç¿ëÀÚ°¡ ´Ù¸¥ ÇÁ·Î±×·¥À¸·Î ´ëüÇÒ ÇÊ¿ä°¡ ÀüÇô ¾øÀ¸¹Ç·Î ÀÌ·¸°Ô º¯¼ö¸¦ »ç¿ëÇÒ ÇÊ¿ä°¡ ¾ø´Ù.

°¢ ÇÁ·Î±×·¥ÀÇ À̸§À» ´ã´Â º¯¼öµéÀº ±× ÇÁ·Î±×·¥¿¡ ¿É¼ÇÀ¸·Î ÁÖ¾îÁö´Â ¿É¼Ç º¯¼ö°¡ µû¶ó ¿Í¾ß ÇÑ´Ù. ¿É¼Ç º¯¼öÀÇ À̸§Àº ÇÁ·Î±×·¥ À̸§ º¯¼öÀÇ À̸§ ´ÙÀ½¿¡ `FLAGS'¸¦ Ãß°¡ÇÑ´Ù---¿¹¸¦ µé¾î, BISONFLAGS¿Í °°ÀÌ ÇÑ´Ù. (C ÄÄÆÄÀÏ·¯ÀÇ CFLAGS, yaccÀÇ YFLAGS, lexÀÇ LFLAGS´Â ÀÌ ±ÔÄ¢ÀÇ ¿¹¿ÜÀÌÁö¸¸, ÀÌ º¯¼öµéÀº Ç¥ÁØÀ̱⠶§¹®¿¡ ÀÌ ¿¹¿Ü¸¦ °è¼Ó À¯ÁöÇÑ´Ù.) Àü󸮱⸦ ½ÇÇàÇÏ´Â ¸ðµç ÄÄÆÄÀÏ ¸í·É¿¡¼­´Â CPPFLAGS¸¦ ¾²¶ó. ±×¸®°í, ld¸¦ Á÷Á¢ »ç¿ëÇÏ´Â °æ¿ì´Â ¹°·ÐÀÌ°í ¸µÅ©¸¦ ÇÏ´Â ¸ðµç ÄÄÆÄÀÏ ¸í·É¿¡¼­´Â LDFLAGS¸¦ »ç¿ëÇ϶ó.

Á¤»óÀûÀ¸·Î ÄÄÆÄÀÏÇϱâ À§Çؼ­ ²À ÇÊ¿äÇÑ C ÄÄÆÄÀÏ·¯ ¿É¼ÇÀÌ ÀÖÀ¸¸é, ±× ¿É¼ÇÀº CFLAGS¿¡ Æ÷ÇÔÇÏÁö ¾Ê´Â´Ù. »ç¿ëÀÚ´Â Á÷Á¢ CFLAGSÀÇ °ªÀ» ÁöÁ¤ÇÒ ¼ö Àֱ⸦ ±â´ëÇÑ´Ù. ´ë½Å¿¡, CFLAGS¿Í´Â º°µµ·Î ÇÊ¿äÇÑ C ÄÄÆÄÀÏ·¯ ¿É¼ÇµéÀ» Á¤¸®Çؼ­ ³Ñ°ÜÁØ´Ù. ±× ¿É¼ÇÀº Á÷Á¢ ÄÄÆÄÀÏ ¸í·É¿¡ Ãß°¡Çϰųª, ´ÙÀ½°ú °°ÀÌ ¾Ï¹¬ÀûÀÎ ·ê¿¡¼­ Á¤ÀÇÇÑ´Ù:

CFLAGS = -g
ALL_CFLAGS = -I. $(CFLAGS)
.c.o:
        $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $<

`-g' ¿É¼ÇÀº Á¤»óÀûÀ¸·Î ÄÄÆÄÀÏÇÏ´Â µ¥ ÇÊ¿äÇÑ ¿É¼ÇÀÌ ¾Æ´Ï¹Ç·Î, CFLAGS¿¡ Æ÷ÇÔÇÑ´Ù. ÀÌ°Ç ÃßõµÇ±â¸¸ ÇÏ´Â ±âº» »çÇ×À¸·Î »ý°¢ÇÏ¸é µÈ´Ù. ÀÌ ÆÐÅ°Áö°¡ ±âº»À¸·Î GCC·Î ÄÄÆÄÀÏÇØ¾ß Çϵµ·Ï ¸¸µé¾îÁø °æ¿ì¶ó¸é, CFLAGSÀÇ °ªÀ¸·Î `-O'µµ Æ÷ÇÔÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.

ÄÄÆÄÀÏ ¸í·É¿¡¼­ CFLAGS¸¦ ÄÄÆÄÀÏ·¯ ¿É¼ÇÀÌ µé¾î ÀÖ´Â ±× ¿Ü º¯¼ö µÚ¿¡, ¸Ç ¸¶Áö¸·¿¡ ³õ¾Æ¼­, »ç¿ëÀÚ°¡ CFLAGS·Î ´Ù¸¥ º¯¼öµéÀ» ¹«½ÃÇÏ°í ÀçÁ¤ÀÇÇÒ ¼ö ÀÖµµ·Ï ¸¸µç´Ù.

CFLAGS´Â ÄÄÆÄÀÏÇÏ´Â ºÎºÐ°ú ¸µÅ©ÇÏ´Â ºÎºÐ ¸ðµÎ, C ÄÄÆÄÀÏ·¯¸¦ ½ÇÇàÇÏ´Â ¸ðµç °÷¿¡¼­ »ç¿ëµÇ¾ß ÇÑ´Ù.

¸ðµç ¸ÞÀÌÅ©ÆÄÀÏÀº INSTALL º¯¼ö¸¦ Á¤ÀÇÇØ¾ß ÇÑ´Ù. ÀÌ º¯¼ö´Â ÆÄÀÏÀ» ½Ã½ºÅÛ¿¡ ¼³Ä¡ÇÏ´Â ±âº» ¸í·É¾îÀÌ´Ù.

¸ðµç ¸ÞÀÌÅ©ÆÄÀÏÀº INSTALL_PROGRAM°ú INSTALL_DATA º¯¼ö¸¦ Á¤ÀÇÇØ¾ß ÇÑ´Ù. (ÀÌ º¯¼öµéÀÇ ±âº»°ªÀº $(INSTALL)ÀÌ´Ù.) ±× ´ÙÀ½¿¡ ÀÌ º¯¼öµéÀ» »ç¿ëÇؼ­, °¢°¢ ½ÇÇà ÆÄÀÏ°ú ½ÇÇàÇÒ ¼ö ¾ø´Â ÆÄÀϵéÀ» ¼³Ä¡ÇÏ´Â ¸í·É¾î¿¡¼­ »ç¿ëÇØ¾ß ÇÑ´Ù. ´ÙÀ½°ú °°ÀÌ ÀÌ º¯¼öµéÀ» »ç¿ëÇÑ´Ù:

$(INSTALL_PROGRAM) foo $(bindir)/foo
$(INSTALL_DATA) libfoo.a $(libdir)/libfoo.a

¼³Ä¡ ¸í·ÉÀÇ µÎ¹ø° Àμö·Î, Ç×»ó µð·ºÅ丮 À̸§ÀÌ ¾Æ´Ñ ÆÄÀÏ À̸§À» »ç¿ëÇÑ´Ù. ¼³Ä¡ÇÒ °¢ ÆÄÀÏ¿¡ ´ëÇؼ­ º°µµÀÇ ¸í·É¾î¸¦ »ç¿ëÇÑ´Ù.

¼³Ä¡ µð·ºÅ丮¿¡ ´ëÇÑ º¯¼ö

¼³Ä¡ µð·ºÅ丮´Â ¾ðÁ¦³ª º¯¼ö·Î À̸§Áö¾î¼­, Ç¥ÁØÀÌ ¾Æ´Ñ Àå¼Ò¿¡ ¼³Ä¡Çϱ⠽±µµ·Ï ÇØ¾ß ÇÑ´Ù. ÀÌ º¯¼öÀÇ Ç¥ÁØ À̸§µéÀº ¾Æ·¡¿¡ ¼³¸íµÇ¾î ÀÖ´Ù. ÀÌ º¯¼öµéÀº Ç¥ÁØ ÆÄÀϽýºÅÛ ¹èÄ¡¿¡ ±âÃÊÇÏ°í ÀÖ´Ù; SVR4, 4.4BSD, Linux, Ultrix v4, ±× ¿ÜÀÇ Çö´ëÀûÀÎ ¿î¿µÃ¼Á¦µé¿¡¼­ ¿©±â¼­ºÎÅÍ ³ª¿Â ÆÄÀϽýºÅÛÀ» ¾²°í ÀÖ´Ù.

´ÙÀ½ µÎ°³ÀÇ º¯¼ö´Â ¼³Ä¡ÇÒ ·çÆ® µð·ºÅ丮¸¦ °áÁ¤ÇÑ´Ù. ±× ¿ÜÀÇ ¸ðµç ¼³Ä¡ µð·ºÅ丮´Â ÀÌ µÎ µð·ºÅ丮ÀÇ ¼­ºê µð·ºÅ丮¿©¾ß ÇÏ°í, ÀÌ µÎ µð·ºÅ丮·Î Á÷Á¢ ¼³Ä¡µÇ´Â ÆÄÀÏÀº ¾ø¾î¾ß ÇÑ´Ù.

`prefix'
µÚ¿¡¼­ ¼³¸íÇÒ º¯¼öµéÀÇ ±âº»°ªÀ» ¸¸µå´Â µ¥ »ç¿ëµÇ´Â Á¢µÎ¾îÀÌ´Ù. prefixÀÇ ±âº» °ªÀº `/usr/local' À̾î¾ß ÇÑ´Ù. ¿ÏÀüÇÑ GNU ½Ã½ºÅÛÀ» ¸¸µå´Â °æ¿ì, ÀÌ Á¢µÎ¾î´Â ºñ¾î Àְųª `/usr'°¡ `/'ÀÇ ½Éº¼¸¯ ¸µÅ©ÀÏ °ÍÀÌ´Ù. (Autoconf¸¦ »ç¿ëÇÑ´Ù¸é, ÀÌ °ªÀ» `@prefix@'·Î ÇÑ´Ù.)
`exec_prefix'
µÚ¿¡¼­ ¼³¸íÇÒ ¸î¸î º¯¼öµéÀÇ ±âº»°ªÀ» ¸¸µå´Â µ¥ »ç¿ëµÇ´Â Á¢µÎ¾îÀÌ´Ù. exec_prefixÀÇ ±âº»°ªÀº $(prefix)À̾î¾ß ÇÑ´Ù. (Autoconf¸¦ »ç¿ëÇÑ´Ù¸é, ÀÌ °ªÀ» `@exec_prefix@'·Î ÇÑ´Ù.) ÀϹÝÀûÀ¸·Î, $(exec_prefix)´Â (½ÇÇà ÆÄÀÏÀ̳ª ¼­ºê·çƾ ¶óÀ̺귯¸®¿Í °°Àº) ±â°è-ÀÇÁ¸ÀûÀÎ ÆÄÀϵéÀ» ´ã°í ÀÖ´Â µð·ºÅ丮¿¡¼­ »ç¿ëµÈ´Ù. ¹Ý¸é $(prefix)´Â ±× ¿ÜÀÇ µð·ºÅ丮¿¡¼­ »ç¿ëµÈ´Ù.

½ÇÇà °¡´ÉÇÑ ÇÁ·Î±×·¥Àº ´ÙÀ½ µð·ºÅ丮ÁßÀÇ Çϳª¿¡ ¼³Ä¡µÈ´Ù.

`bindir'
»ç¿ëÀÚ°¡ ½ÇÇàÇÒ ¼ö ÀÖ´Â ½ÇÇà ÆÄÀϵéÀ» ¼³Ä¡ÇÏ´Â µð·ºÅ丮ÀÌ´Ù. ÀÌ °ªÀº º¸Åë `/usr/local/bin'ÀÌÁö¸¸, `$(exec_prefix)/bin'À̶ó°í ¾´´Ù. (Autoconf¸¦ »ç¿ëÇÑ´Ù¸é, `@bindir@'¶ó°í ¾´´Ù.)
`sbindir'
¼Ð¿¡¼­ ½ÇÇàÇÒ ¼ö ÀÖ´Â ½ÇÇà ÇÁ·Î±×·¥ÀÌÁö¸¸, º¸Åë ½Ã½ºÅÛ °ü¸®ÀÚ¿¡°Ô¸¸ ¾µ¸¸ÇÑ ÇÁ·Î±×·¥µéÀ» ¼³Ä¡ÇÏ´Â µð·ºÅ丮ÀÌ´Ù. ÀÌ °ªÀº º¸Åë `/usr/local/bin'ÀÌÁö¸¸, `$(exec_prefix)/sbin'À̶ó°í ¾´´Ù. (Autoconf¸¦ »ç¿ëÇÑ´Ù¸é, `@sbindir@'¶ó°í ¾´´Ù.)
`libexecdir'
»ç¿ëÀÚ°¡ ¾Æ´Ï¶ó ´Ù¸¥ ÇÁ·Î±×·¥ÀÌ ½ÇÇàÇÏ´Â ½ÇÇà ÇÁ·Î±×·¥À» ¼³Ä¡ÇÏ´Â µð·ºÅ丮ÀÌ´Ù. ÀÌ µð·ºÅ丮´Â º¸Åë `/usr/local/libexec'ÀÌÁö¸¸, `$(exec_prefix)/libexec'¶ó°í ¾´´Ù. (Autoconf¸¦ »ç¿ëÇÑ´Ù¸é, `@libexecdir@'¶ó°í ¾´´Ù.)

ÇÁ·Î±×·¥ ½ÇÇà Áß¿¡ »ç¿ëÇÏ´Â µ¥ÀÌŸ ÆÄÀÏÀº Å©°Ô µÎ°¡Áö ¹æ¹ýÀ¸·Î ±¸ºÐÇÒ ¼ö ÀÖ´Ù.

ÀÌ·¸°Ô ¿©¼¸ °¡ÁöÀÇ °¡´É¼ºÀÌ »ý±ä´Ù. ÇÏÁö¸¸, ¿ÀºêÁ§Æ® ÆÄÀÏ°ú ¶óÀ̺귯¸®¸¦ Á¦¿ÜÇÑ ¾ÆÅ°ÅØÃÄ¿¡ ÀÇÁ¸ÇÏ´Â ÆÄÀϵéÀº »ç¿ëÇÏÁö ¸»¶ó°í ±ÇÇÏ°í ½Í´Ù. ±× ¿Ü µ¥ÀÌŸ ÆÄÀϵéÀº ¾ÆÅ°ÅØÃÄ¿¡ »ó°ü¾øÀÌ ¸¸µå´Â ÆíÀÌ ÈξÀ ±ú±ßÇÏ°í, ÀÌ°Ç ´ëºÎºÐ ¾î·Á¿î ÀÛ¾÷ÀÌ ¾Æ´Ï´Ù.

±×·¯¹Ç·Î, ´ÙÀ½ÀÌ ¸ÞÀÌÅ©ÆÄÀÏ¿¡¼­ µð·ºÅ丮¸¦ ÁöÁ¤ÇÏ´Â º¯¼öÀÌ´Ù:

`datadir'
Àбâ Àü¿ëÀÎ ¾ÆÅ°ÅØÃÄ µ¶¸³ÀûÀÎ µ¥ÀÌŸ ÆÄÀÏÀ» ¼³Ä¡ÇÏ´Â µð·ºÅ丮ÀÌ´Ù. ÀÌ °ªÀº º¸Åë `/usr/local/share'ÀÌÁö¸¸, `$(prefix)/share'¶ó°í ¾´´Ù. (Autoconf¸¦ »ç¿ëÇÑ´Ù¸é, `@datadir@'¶ó°í ¾´´Ù.) ÇÑ°¡Áö Ưº°ÇÑ ¿¹¿Ü´Â ¾Æ·¡ÀÇ `$(infodir)'¿Í `$(includedir)'ÀÌ´Ù.
`sysconfdir'
ÇÑ°³ÀÇ ±â°è¿¡ ´ëÇÑ Àбâ Àü¿ë µ¥ÀÌŸ ÆÄÀÏ---Áï ¸»ÇÏÀÚ¸é, ¾î¶² ÇÑ È£½ºÆ®¿¡ ´ëÇØ ¼³Á¤ÇÏ´Â ÆÄÀϵé---À» ¼³Ä¡ÇÏ´Â µð·ºÅ丮ÀÌ´Ù. ¸ÞÀÏ·¯ ¹× ³×Æ®¿öÅ© ¼³Á¤ ÆÄÀÏ, `/etc/passwd', ±âŸ µîµîÀÌ ¿©±â¿¡ Æ÷ÇԵȴÙ. ÀÌ µð·ºÅ丮¿¡ ÀÖ´Â ¸ðµç ÆÄÀϵéÀº º¸ÅëÀÇ ASCII ÅؽºÆ® ÆÄÀÏÀ̾î¾ß ÇÑ´Ù. µð·ºÅ丮´Â º¸Åë `/usr/local/etc'ÀÌÁö¸¸, `$(prefix)/etc'¶ó°í ¾´´Ù. (Autoconf¸¦ »ç¿ëÇÑ´Ù¸é, `@sysconfdir@'¶ó°í ¾´´Ù.) ÀÌ µð·ºÅ丮¿¡ ½ÇÇà ÆÄÀÏÀ» ¼³Ä¡ÇÏÁö ¾Ê´Â´Ù (±×·¯ÇÑ ÆÄÀϵéÀº `$(libexecdir)' ȤÀº `$(sbindir)'¿¡ µé¾î°¡¾ß ÇÒ °ÍÀÌ´Ù). ¶Ç ÇÁ·Î±×·¥À» Á¤»óÀûÀ¸·Î »ç¿ëÇÒ ¶§ ±× ÇÁ·Î±×·¥ÀÌ ¼öÁ¤ÇÏ´Â ÆÄÀϵéÀº ¼³Ä¡ÇÏÁö ¾Ê´Â´Ù (ÇÁ·Î±×·¥ÀÇ ¸ñÀûÀÎ ½Ã½ºÅÛ ¼³Á¤ »çÇ×À» ¹Ù²Ù´Â °æ¿ì´Â ¿¹¿Ü·Î ÇÑ´Ù). ±×·¯ÇÑ ÆÄÀϵéÀº `$(localstatedir)'¿¡ µé¾î°¡¾ß ÇÒ °ÍÀÌ´Ù.
`sharedstatedir'
ÇÁ·Î±×·¥ÀÌ ½ÇÇàÇÒ ¶§ ¼öÁ¤ÇÏ´Â ¾ÆÅ°ÅØÃÄ¿¡ °ü°è¾ø´Â µ¥ÀÌŸ ÆÄÀϵéÀÌ ¼³Ä¡µÇ´Â µð·ºÅ丮ÀÌ´Ù. ÀÌ °ªÀº º¸Åë `/usr/local/com'ÀÌÁö¸¸, `$(prefix)/com'À̶ó°í ¾´´Ù. (Autoconf¸¦ »ç¿ëÇÑ´Ù¸é, `@sharedstatedir@'¶ó°í ¾´´Ù.)
`localstatedir'
ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÉ¶§ ¼öÁ¤Çϸ鼭, ƯÁ¤ÇÑ ÇÑ ±â°è¸¦ À§ÇÑ µ¥ÀÌŸ ÆÄÀÏÀÌ ¼³Ä¡µÇ´Â µð·ºÅ丮ÀÌ´Ù. »ç¿ëÀÚ´Â ±× ÆÐÅ°ÁöÀÇ µ¿ÀÛ »çÇ×À» ¼³Á¤ÇÏ·Á°í ÇÒ °æ¿ì¿¡´Â ÀÌ µð·ºÅ丮ÀÇ ÆÄÀÏÀ» ¼öÁ¤ÇÏÁö ¾Ê¾Æµµ µÇ¾ß ÇÑ´Ù; ±×·¯ÇÑ ¼³Á¤ Á¤º¸´Â `$(datadir)' ȤÀº `$(sysconfdir)'¿¡ µé¾î°¡´Â º°µµÀÇ ÆÄÀÏ¿¡ ÀúÀåµÇ¾ß ÇÑ´Ù. `$(localstatedir)'Àº º¸Åë `/usr/local/var'¿¡ µé¾î°¡Áö¸¸, `$(prefix)/var'¶ó°í ¾´´Ù. (Autoconf¸¦ »ç¿ëÇÏ´Ù¸é `@localstatedir@'¶ó°í ¾´´Ù.)
`libdir'
¿ÀºêÁ§Æ® ÆÄÀÏ°ú ¿ÀºêÁ§Æ® ÆÄÀÏÀÌ ¸ðÀÎ ¶óÀ̺귯¸®°¡ µé¾î°¡´Â µð·ºÅ丮ÀÌ´Ù. ÀÌ µð·ºÅ丮¿¡´Â ½ÇÇà ÆÄÀÏÀ» ¼³Ä¡ÇÏÁö ¾Ê°í, ´ë½Å¿¡ ½ÇÇà ÆÄÀÏÀº `$(libexecdir)'·Î µé¾î°£´Ù. libdirÀÇ °ªÀº º¸Åë `/usr/local/lib'ÀÌÁö¸¸, `$(exec_prefix)/lib'¶ó°í ¾´´Ù. (Autoconf¸¦ »ç¿ëÇÑ´Ù¸é, `@libdir@'¶ó°í ¾´´Ù.)
`infodir'
ÀÌ ÆÐÅ°ÁöÀÇ Info ÆÄÀÏÀ» ¼³Ä¡ÇÏ´Â µð·ºÅ丮ÀÌ´Ù. ±âº»ÀûÀ¸·Î, ÀÌ µð·ºÅ丮´Â `/usr/local/info'ÀÌÁö¸¸, `$(prefix)/info'¶ó°í ¾´´Ù. (Autoconf¸¦ »ç¿ëÇÑ´Ù¸é, `@infodir@'¶ó°í ¾´´Ù.)
`lispdir'
ÀÌ ÆÐÅ°ÁöÀÇ Emacs Lisp ÆÄÀϵéÀ» ¼³Ä¡ÇÏ´Â µð·ºÅ丮ÀÌ´Ù. ±âº»°ªÀº `/usr/local/share/emacs/site-lisp'ÀÌÁö¸¸, `$(prefix)/share/emacs/site-lisp'¶ó°í ½á¾ß ÇÑ´Ù. Autoconf¸¦ »ç¿ëÇÑ´Ù¸é, ±âº»°ªÀ» `@lispdir@'·Î ¾´´Ù. `@lispdir@'°¡ ÀÛµ¿Çϵµ·Ï ÇÏ·Á¸é, ´ÙÀ½ ÁÙµéÀ» `configure.in' ÆÄÀÏ¿¡ ½á¾ß ÇÑ´Ù:
lispdir='${datadir}/emacs/site-lisp'
AC_SUBST(lispdir)
`includedir'
C `#include' Àü󸮱â Áö½Ã¾î¿¡ ÀÇÇØ »ç¿ëÀÚ ÇÁ·Î±×·¥ ¼Ó¿¡ Æ÷ÇԵǴÂ, Çì´õ ÆÄÀÏÀÌ ¼³Ä¡µÉ µð·ºÅ丮ÀÌ´Ù. ÀÌ µð·ºÅ丮´Â º¸Åë `/usr/local/include'ÀÌÁö¸¸, `$(prefix)/include'¶ó°í ¾´´Ù. (Autoconf¸¦ »ç¿ëÇÑ´Ù¸é `@includedir@'¶ó°í ¾´´Ù.) GCC¸¦ Á¦¿ÜÇÑ ´ëºÎºÐÀÇ ÄÄÆÄÀÏ·¯´Â `/usr/local/include' µð·ºÅ丮¿¡ µé¾î ÀÖ´Â Çì´õ ÆÄÀÏÀ» ¾Ë¾Æ äÁö ¸øÇÑ´Ù. ±×·¯¹Ç·Î Çì´õ ÆÄÀÏÀ» ÀÌ À§Ä¡¿¡ ¼³Ä¡ÇÏ´Â °Ç GCCÀÇ °æ¿ì¿¡¸¸ ¾µ¸ð°¡ ÀÖ´Ù. ¾î¶² ¶óÀ̺귯¸®´Â GCC¿¡¼­¸¸ µ¿ÀÛÇϵµ·Ï ¸¸µé¾îÁ³±â ¶§¹®¿¡ ¹®Á¦°¡ µÇÁö ¾ÊÀ» ¼öµµ ÀÖ´Ù. ÇÏÁö¸¸, ´Ù¸¥ ÄÄÆÄÀÏ·¯¿¡¼­µµ µ¿ÀÛÇϵµ·Ï ¸¸µé¾îÁø ¶óÀ̺귯¸®µµ ÀÖ´Ù. ÀÌ ¶óÀ̺귯¸®´Â Çì´õ ÆÄÀÏÀ» µÎ ±ºµ¥¿¡ ¼³Ä¡ÇØ¾ß Çϴµ¥, Çϳª´Â includedirÀÌ°í, ¶Ç Çϳª´Â oldincludedirÀÌ´Ù.
`oldincludedir'
GCC ÀÌ¿ÜÀÇ ÄÄÆÄÀÏ·¯¿¡¼­ »ç¿ëÇÒ `#include' Çì´õ ÆÄÀÏÀ» ¼³Ä¡ÇÒ µð·ºÅ丮ÀÌ´Ù. ÀÌ µð·ºÅ丮´Â º¸Åë `/usr/include'ÀÌ´Ù. (Autoconf¸¦ »ç¿ëÇÏ´Ù¸é, `@oldincludedir@'¶ó°í ¾´´Ù.) ¸ÞÀÌÅ©ÆÄÀÏ ¸í·ÉÀº oldincludedirÀÇ °ªÀÌ ¾ø´ÂÁö ÀÖ´ÂÁö °Ë»çÇØ¾ß ÇÑ´Ù. ±× °ªÀÌ ¾ø´Ù¸é, ÀÌ °ªÀ» »ç¿ëÇÏÁö ¾Ê´Â´Ù; Çì´õ ÆÄÀÏÀ» ¿©±â¿¡ ¼³Ä¡ÇÏÁö ¸»¾Æ¾ß ÇÑ´Ù. ÆÐÅ°Áö´Â °°Àº ÆÐÅ°Áö¿¡¼­ ³ª¿Â Çì´õ ÆÄÀÏÀÌ ¾Æ´Ñ ÇÑ ÀÌ µð·ºÅ丮¿¡ ÀÌ¹Ì Á¸ÀçÇÏ´Â Çì´õ ÆÄÀÏÀ» µ¤¾î ¾º¿ì¸é ¾È µÈ´Ù. Áï, Foo¶ó´Â ÆÐÅ°Áö°¡ `foo.h'¶ó´Â Çì´õ ÆÄÀÏÀ» »ç¿ëÇÑ´Ù¸é, (1) `foo.h'°¡ oldincludedir µð·ºÅ丮¿¡ ¾ø°Å³ª (2) ÀÌ µð·ºÅ丮¿¡ ÀÖ´Â `foo.h'°¡ Foo ÆÐÅ°Áö¿¡¼­ ³ª¿Â °ÍÀÏ ¶§ ÀÌ Çì´õ ÆÄÀÏÀ» oldincludedir¿¡ ¼³Ä¡ÇÑ´Ù. `foo.h'°¡ Foo ÆÐÅ°Áö¿¡¼­ ³ª¿Â ÆÄÀÏÀÎÁö ¾Æ´ÑÁö ¾Ë·Á¸é, ±× ÆÄÀÏÀ» ÆǺ°ÇÒ ¼ö ÀÖ´Â ¹®ÀÚ¿­À» `foo.h'¿¡ (ÁÖ¼®À¸·Î) ³Ö°í, ±× ¹®ÀÚ¿­À» grepÇÑ´Ù.

À¯´Ð½º ½ºÅ¸ÀÏÀÇ ¸Ç ÆäÀÌÁö´Â ´ÙÀ½Áß Çϳª¿¡ ¼³Ä¡µÈ´Ù:

`mandir'
ÀÌ ÆÐÅ°ÁöÀÇ ¸Ç ÆäÀÌÁö¸¦ ¼³Ä¡ÇÒ ¸Ç À§ µð·ºÅ丮ÀÌ´Ù. ÀÌ µð·ºÅ丮´Â º¸Åë `/usr/local/man'ÀÌÁö¸¸, `$(prefix)/man'À̶ó°í ¾´´Ù. (Autoconf¸¦ »ç¿ëÇÑ´Ù¸é `$(prefix)/man'À̶ó°í ¾´´Ù.
`man1dir'
¼½¼Ç 1 ¸Ç ÆäÀÌÁö¸¦ ¼³Ä¡ÇÒ µð·ºÅ丮ÀÌ´Ù. `$(mandir)/man1'À̶ó°í ¾´´Ù.
`man2dir'
¼½¼Ç 2 ¸Ç ÆäÀÌÁö¸¦ ¼³Ä¡ÇÒ µð·ºÅ丮ÀÌ´Ù. `$(mandir)/man2'¶ó°í ¾´´Ù.
`...'
GNU ¼ÒÇÁÆ®¿þ¾îÀÇ ÁÖ¿ä ¹®¼­¸¦ man ÆäÀÌÁö·Î ÀÛ¼ºÇÏÁö ¸»¶ó. ¸Å´º¾óÀº Texinfo·Î ÀÛ¼ºÇÑ´Ù. man ÆäÀÌÁö´Â GNU ¼ÒÇÁÆ®¿þ¾î¸¦ (ÁÖ ¸ñÀûÀÌ ¾Æ´Ñ »ç¿ë ¿ëµµÀÏ »ÓÀÎ) À¯´Ð½º¿¡¼­ ½ÇÇàÇÏ´Â »ç¶÷µéÀ» À§ÇÑ °ÍÀÏ »ÓÀÌ´Ù.
`manext'
¼³Ä¡ÇÒ ¸Ç ÆäÀÌÁöÀÇ ÆÄÀÏ À̸§ È®ÀåÀÚÀÌ´Ù. ¿©±â¿¡´Â Àû´çÇÑ ¼ýÀÚ ¾Õ¿¡ ¿À´Â Á¡À» Æ÷ÇÔÇØ¾ß ÇÑ´Ù; º¸Åë `.1'ÀÌ´Ù.
`man1ext'
¼½¼Ç 1 ¸Ç ÆäÀÌÁöÀÇ ÆÄÀÏ À̸§ È®ÀåÀÚÀÌ´Ù.
`man2ext'
¼½¼Ç 2 ¸Ç ÆäÀÌÁöÀÇ ÆÄÀÏ À̸§ È®ÀåÀÚÀÌ´Ù.
`...'
ÆÐÅ°Áö°¡ µÎ°³ ÀÌ»óÀÇ ¼½¼Ç¿¡ ¸Ç ÆäÀÌÁö¸¦ ¼³Ä¡ÇØ¾ß ÇÒ °æ¿ì¿¡ `manext' ´ë½Å¿¡ ÀÌ À̸§µéÀ» »ç¿ëÇÑ´Ù.

¸¶Áö¸·À¸·Î, ´ÙÀ½ º¯¼ö °ªÀ» °áÁ¤ÇØ¾ß ÇÑ´Ù:

`srcdir'
ÄÄÆÄÀÏÇÒ ¼Ò½º°¡ µé¾î ÀÖ´Â µð·ºÅ丮ÀÌ´Ù. ÀÌ º¯¼öÀÇ °ªÀº º¸Åë configure ¼Ð ½ºÅ©¸³Æ®°¡ Áý¾î ³Ö´Â´Ù. (Autoconf¸¦ »ç¿ëÇÑ´Ù¸é `srcdir = @srcdir@'¸¦ »ç¿ëÇÑ´Ù.)

¿¹¸¦ µé¾î:

# ¼³Ä¡ µð·ºÅ丮ÀÇ °øÅëÀûÀÎ Á¢µÎ¾î
# ÁÖÀÇ: ÀÌ µð·ºÅ丮´Â ¼³Ä¡¸¦ ½ÃÀÛÇÒ ¶§ Á¸ÀçÇØ¾ß ÇÑ´Ù.
prefix = /usr/local
exec_prefix = $(prefix)
# `gcc' ¸í·É¾î ½ÇÇà ÆÄÀÏÀ» ³ÖÀ» Àå¼Ò
bindir = $(exec_prefix)/bin
# ÄÄÆÄÀÏ·¯°¡ »ç¿ëÇÒ µð·ºÅ丮¸¦ ³ÖÀ» Àå¼Ò
libexecdir = $(exec_prefix)/libexec
# Info ÆÄÀÏÀ» ³ÖÀ» Àå¼Ò
infodir = $(prefix)/info

ÇÁ·Î±×·¥ÀÌ ¾ÆÁÖ ¸¹Àº ¼öÀÇ ÆÄÀϵéÀ» Ç¥ÁØ »ç¿ëÀÚ ÁöÁ¤ µð·ºÅ丮ÁßÀÇ Çϳª¿¡ ¼³Ä¡ÇÑ´Ù¸é, ±× ÇÁ·Î±×·¥À» À§ÇØ Æ¯º°È÷ ¸¸µé¾îÁø ¼­ºê µð·ºÅ丮 ¾È¿¡ ¸ð¾Æ ³õ´Â °ÍÀÌ ÁÁ´Ù. ±×·¸°Ô ÇÏ·Á¸é ÀÌ·¯ÇÑ ¼­ºê µð·ºÅ丮¸¦ ¸¸µéµµ·Ï install ·ê¿¡ ½á ³Ö¾î¾ß ÇÑ´Ù.

»ç¿ëÀÚ°¡ À§¿¡ ¿­°ÅµÈ º¯¼öÀÇ ¾î¶² °ªÁß¿¡ ¼­ºêµð·ºÅ丮 À̸§À» Æ÷ÇÔÇÒ °ÍÀ̶ó°í ±â´ëÇÏÁö ¸»¶ó. ¼³Ä¡ µð·ºÅ丮ÀÇ º¯¼ö À̸§À» ÅëÀÏµÈ ¸ð¾çÀ¸·Î °¡Áö°í Àִ´ٴ »ý°¢Àº, »ç¿ëÀÚ°¡ ¿©·¯°¡Áö GNU ÆÐÅ°Áöµé¿¡ ´ëÇؼ­ Á¤È®È÷ °°Àº °ªÀ» ÁöÁ¤Çϵµ·Ï ÇÏ´Â °ÍÀÌ´Ù. ÀÌ »ý°¢À» ¾µ¸ðÀÖ°Ô Çϱâ À§ÇØ, ¸ðµç ÆÐÅ°Áö´Â »ç¿ëÀÚ°¡ ÁöÁ¤ÇÏ´Â µð·ºÅ丮¿¡ ¸Â°Ô µ¿ÀÛÇϵµ·Ï ¼³°èµÇ¾î¾ß ÇÑ´Ù.

»ç¿ëÀÚ¸¦ À§ÇÑ Ç¥ÁØ Å¸°Ù

¸ðµç GNU ÇÁ·Î±×·¥Àº Makefile¿¡ ´ÙÀ½ Ÿ°ÙÀ» °¡Áö°í ÀÖ¾î¾ß ÇÑ´Ù:

`all'
Àüü ÇÁ·Î±×·¥À» ÄÄÆÄÀÏÇÑ´Ù. ÀÌ Å¸°ÙÀº ±âº» Ÿ°ÙÀ̾î¾ß ÇÑ´Ù. ÀÌ Å¸°Ù¿¡¼­´Â ¾î¶² ¹®¼­ ÆÄÀϵµ ´Ù½Ã ºôµåÇÒ ÇÊ¿ä°¡ ¾ø´Ù; Info ÆÄÀÏÀº º¸Åë ¹èÆ÷º»¿¡ Æ÷ÇԵǰí, DVI ÆÄÀÏÀº Á÷Á¢ DVI ÆÄÀÏÀ» ¸¸µé¶ó°í ¿äûÇÏÁö ¾Ê´Â ÇÑ ¸¸µé¾î ÁöÁö ¾Ê´Â´Ù. ±âº»À¸·Î, ¸ÞÀÌÅ© ·êÀº `-g' ¿É¼ÇÀ» ºÙ¿©¼­ ÄÄÆÄÀÏÇÏ°í ¸µÅ©Çؼ­, ½ÇÇà ÇÁ·Î±×·¥ ¾È¿¡ µð¹ö±ë ½Éº¼ÀÌ µé¾î°¡µµ·Ï ÇÑ´Ù. ÀÌ°É ½È¾îÇÏ´Â »ç¿ëÀÚ´Â ¿øÇÑ´Ù¸é ³ªÁß¿¡ ½ÇÇà ÆÄÀÏÀÇ µð¹ö±ë ½Éº¼À» ¾ø¾Ù ¼ö ÀÖ´Ù.
`install'
ÇÁ·Î±×·¥À» ÄÄÆÄÀÏÇÏ°í, ½ÇÇà ÆÄÀÏ, ¶óÀ̺귯¸®, µîµîÀ» ½ÇÁ¦·Î µ¿ÀÛÇϱâ À§ÇØ µé¾î°¡¾ß ÇÒ Àå¼Ò·Î º¹»çÇÑ´Ù. ÇÁ·Î±×·¥ÀÌ Á¦´ë·Î ¼³Ä¡µÇ¾ú´ÂÁö °Ë»çÇÏ´Â Å×½ºÆ®°¡ ÀÖ´Ù¸é, ÀÌ Å¸°ÙÀº ±× Å×½ºÆ®¸¦ ½ÇÇàÇØ¾ß ÇÑ´Ù. ½ÇÇà ÆÄÀÏÀ» ¼³Ä¡ÇÒ ¶§ µð¹ö±ë ½Éº¼À» ¾ø¾ÖÁö ¾Ê´Â´Ù. ÅÂÆòÇÑ »ç¿ëÀÚ´Â install-strip Ÿ°ÙÀ¸·Î µð¹ö±ë ½Éº¼À» ¾ø¾Ù ¼ö ÀÖ´Ù. °¡´ÉÇÏ´Ù¸é, `make all'ÀÌ ³¡³µ´Ù´Â °¡Á¤ÇÏ¿¡ ÇÁ·Î±×·¥ÀÌ ºôµåµÇ´Â µð·ºÅ丮¿¡ ÀÖ´Â ¾î¶² ÆÄÀϵµ ¼öÁ¤ÇÏÁö ¾Êµµ·Ï install Ÿ°ÙÀÇ ·êÀ» ¸¸µç´Ù. ÀÌ·¸°Ô Çϸé ÇÑ »ç¿ëÀÚ À̸§À¸·Î ÇÁ·Î±×·¥À» ºôµåÇÑ ´ÙÀ½ ´Ù¸¥ »ç¿ëÀÚ À̸§À¸·Î ¼³Ä¡ÇÒ ¶§ Æí¸®ÇÏ´Ù. ¸í·É¾îµéÀº ÆÄÀÏÀÌ ¼³Ä¡µÉ µð·ºÅ丮°¡ ¾ø´Ù¸é, ±× µð·ºÅ丮µéÀ» ¸ðµÎ ¸¸µé¾î¾ß ÇÑ´Ù. ÀÌ ±ÔÄ¢Àº ÇÊ¿äÇÑ ¸ðµç ¼­ºêµð·ºÅ丮´Â ¹°·Ð, prefix¿Í exec_prefix º¯¼öÀÇ °ªÀ¸·Î ÁöÁ¤µÈ µð·ºÅ丮±îÁö Æ÷ÇÔÇÑ´Ù. ÇÑ°¡Áö ¹æ¹ýÀº ¾Æ·¡¿¡ ¼³¸íÇÒ installdirs Ÿ°ÙÀ» »ç¿ëÇÏ´Â °ÍÀÌ´Ù. ¸Ç ÆäÀÌÁö¸¦ ¼³Ä¡ÇÏ´Â ¸ðµç ¸í·É ¾Õ¿¡ `-'¸¦ »ç¿ëÇؼ­, make¿¡¼­ ¾Ö·¯¸¦ ¹«½ÃÇϵµ·Ï ÇÑ´Ù. À¯´Ð½º ¸Ç ÆäÀÌÁö ¹®¼­ ½Ã½ºÅÛÀÌ ¾ø´Â ½Ã½ºÅÛµµ Àֱ⠶§¹®ÀÌ´Ù. Info ÆÄÀÏÀ» ¼³Ä¡ÇÏ´Â ¹æ¹ýÀº ±× Info ÆÄÀÏÀ» `$(infodir)'¿¡ $(INSTALL_DATA)·Î (see section ¸í·É¾î¸¦ ÁöÁ¤ÇÏ´Â º¯¼ö)º¹»çÇÏ°í, install-info ÇÁ·Î±×·¥ÀÌ ÀÖ´Ù¸é ±×°É ½ÇÇàÇÑ´Ù. install-info´Â Info `dir' ÆÄÀÏÀ» ÆíÁýÇؼ­ ÁÖ¾îÁø Info ÆÄÀÏ¿¡ ´ëÇÑ ¸Þ´º Ç׸ñÀ» Ãß°¡Çϰųª ¾÷µ¥ÀÌÆ®ÇÏ´Â °ÍÀÌ´Ù; ÀÌ ÇÁ·Î±×·¥Àº Texinfo ÆÐÅ°ÁöÀÇ ÀϺÎÀÌ´Ù. ´ÙÀ½Àº Info ÆÄÀÏÀ» ¼³Ä¡ÇÏ´Â °£´ÜÇÑ ·êÀÌ´Ù:N
$(infodir)/foo.info: foo.info
        $(POST_INSTALL)
# srcdir¿¡ ÀÖ´Â ÆÄÀϺ¸´Ù .¿¡ ÀÖ´Â info ÆÄÀÏÀÌ »õ·Î¿î ÆÄÀÏÀÏ ¼ö ÀÖ´Ù
        -if test -f foo.info; then d=.; \
         else d=$(srcdir); fi; \
        $(INSTALL_DATA) $$d/foo.info $@; \
# install-info°¡ Á¸ÀçÇÒ °æ¿ì¿¡¸¸ ½ÇÇàÇÑ´Ù.
# `-'¸¦ ¾Õ¿¡ ºÙÀÌ´Â ´ë½Å¿¡ `if'¸¦ »ç¿ëÇؼ­
# install-info¿¡¼­ ³ª¿À´Â ¾Ö·¯¸¦ ¾Ë ¼ö ÀÖµµ·Ï ÇÑ´Ù.
# ¾Ë ¼ö ¾ø´Â ¸í·É¾î¸¦ ¸¸³ª¸é Á¤»óÀûÀ¸·Î Á¾·áÇÏÁö ¾Ê´Â
# ¼ÐÀÌ Àֱ⠶§¹®¿¡ `$(SHELL) -c'¸¦ »ç¿ëÇÑ´Ù.
        if $(SHELL) -c 'install-info --version' \
           >/dev/null 2>&1; then \
          install-info --dir-file=$(infodir)/dir \
                       $(infodir)/foo.info; \
        else true; fi
install Ÿ°ÙÀ» ÀÛ¼ºÇÒ ¶§, ¸ðµç ¸í·É¾î°¡ ´ÙÀ½ ¼¼°¡ÁöÁß Çϳª·Î ºÐ·ùµÉ ¼ö ÀÖµµ·Ï ÇØ¾ß ÇÑ´Ù: º¸Åë, ¼³Ä¡-Àü ¸í·É, ±×¸®°í ¼³Ä¡-ÈÄ ¸í·ÉÀÌ´Ù. See section ¼³Ä¡ ¸í·É¾î ±¸ºÐ.
`uninstall'
¼³Ä¡µÈ ¸ðµç ÆÄÀÏ---`install' Ÿ°ÙÀ¸·Î ¸¸µé¾îÁø ¸ðµç º¹»ç¹°µéÀ» Áö¿î´Ù. ¼³Ä¡ »èÁ¦ ¸í·É¾îµéÀº ¼³Ä¡ ¸í·É¾î¿Í ¸¶Âù°¡Áö·Î, ¼¼°¡Áö·Î ºÐ·ùµÈ´Ù. See section ¼³Ä¡ ¸í·É¾î ±¸ºÐ.
`install-strip'
install°ú °°Áö¸¸, ½ÇÇà ÆÄÀÏÀ» ¼³Ä¡ÇÒ ¶§ µð¹ö±ë ½Éº¼À» ¾ø¾Ø´Ù. ´ëºÎºÐÀÇ °æ¿ì¿¡, ÀÌ Å¸°ÙÀÇ Á¤ÀÇ´Â ¸Å¿ì °£´ÜÇÏ´Ù:
install-strip:
        $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' \
                install
ÇÁ·Î±×·¥¿¡ ¹ö±×°¡ ¾ø´Ù´Â °É È®½ÅÇÏÁö ¾Ê´Â ÇÑ, ½ÇÇà ÆÄÀÏÀÇ µð¹ö±ë ½Éº¼À» ¾ø¾ÖÁö ¾Ê±â¸¦ ±ÇÇÑ´Ù. ÇÏÁö¸¸, ¹ö±×°¡ ÀÖÀ» °æ¿ì¿¡µµ µð¹ö±ë ½Éº¼À» ¾ø¾Ø ½ÇÇà ÆÄÀÏÀ» ¼³Ä¡ÇÏ°í, µð¹ö±ë ½Éº¼ÀÌ ÀÖ´Â ½ÇÇà ÆÄÀÏÀ» ´Ù¸¥ °÷¿¡ ÀúÀåÇØ µÎ´Â °Íµµ Á¶¸®¿¡ ¸Â´Ù.
`clean'
ÇöÀç µð·ºÅ丮¿¡ ÀÖ´Â, º¸ÅëÀº ÇÁ·Î±×·¥À» ºôµåÇÒ ¶§ ¸¸µé¾îÁö´Â ¸ðµç ÆÄÀϵéÀ» Áö¿î´Ù. ¼³Á¤ »çÇ×À» ±â·ÏÇØ µÎ°í ÀÖ´Â ÆÄÀϵéÀº Áö¿ìÁö ¾Ê´Â´Ù. ºôµåÇÒ ¶§ ¸¸µé¾î Áú ¼öµµ ÀÖÀ¸³ª, ¹èÆ÷º»¿¡ Æ÷ÇԵǴ ÆÄÀÏÀÌ¶ó¼­ º¸ÅëÀº ¸¸µé¾î ÁöÁö ¾Ê´Â ÆÄÀϵéÀº Áö¿ìÁö ¾Ê´Â´Ù. `.dvi' ÆÄÀÏÀÌ ¹èÆ÷º»ÀÇ ÀϺΰ¡ ¾Æ´Ï¶ó¸é `.dvi' ÆÄÀÏÀ» ¿©±â¼­ Áö¿î´Ù.
`distclean'
ÇöÀç µð·ºÅ丮¿¡¼­ ¼³Á¤À̳ª ÇÁ·Î±×·¥ ºôµå °úÁ¤¿¡¼­ ¸¸µé¾îÁö´Â ¸ðµç ÆÄÀϵéÀ» Áö¿î´Ù. ¸¸¾à ¼Ò½º¸¦ Ç®°í, ´Ù¸¥ ÆÄÀÏÀ» ¸¸µéÁö ¾Ê°í ÇÁ·Î±×·¥À» ºôµåÇß´Ù¸é, `make distclean'Àº ¿ø·¡ ¹èÆ÷º»¿¡ ÀÖ´ø ÆÄÀϵ鸸À» ³²°ÜµÖ¾ß ÇÑ´Ù.
`mostlyclean'
`clean'°ú °°Áö¸¸, »ç¶÷µéÀÌ º¸Åë ´Ù½Ã ÄÄÆÄÀÏÇÏ°í ½Í¾îÇÏÁö ¾Ê´Â ¸î°³ÀÇ ÆÄÀϵéÀº Áö¿ìÁö ¾Ê°í ³²°ÜµÐ´Ù. ¿¹¸¦ µé¾î, GCCÀÇ `mostlyclean' Ÿ°ÙÀº `libgcc.a'¸¦ Áö¿ìÁö ¾Ê´Â´Ù. ÀÌ ÆÄÀÏÀ» ´Ù½Ã ÄÄÆÄÀÏÇÏ´Â ÀÏÀº ÇÊ¿äÇÑ ÀÏÀÌ °ÅÀÇ ¾ø°í, ¸Å¿ì ¸¹Àº ½Ã°£ÀÌ ÇÊ¿äÇϱ⠶§¹®ÀÌ´Ù.
`maintainer-clean'
ÇöÀç µð·ºÅ丮¿¡¼­ ¸ÞÀÌÅ©ÆÄÀÏÀ» ÅëÇØ ¸¸µé¾î Áú ¼ö ÀÖ´Â °ÅÀÇ ¸ðµç °ÍµéÀ» Áö¿î´Ù. ÀÌ Å¸°ÙÀº º¸Åë distclean¿¡¼­ Áö¿öÁö´Â ¸ðµç °ÍÀ» Æ÷ÇÔÇÏ°í, ¿©±â¿¡ BisonÀÌ ¸¸µå´Â C ¼Ò½º ÆÄÀÏ, tags Å×À̺í, Info ÆÄÀÏ µîÀ» ´õ Áö¿î´Ù. "°ÅÀÇ ¸ðµç °ÍµéÀ»"À̶ó°í ¸»ÇÑ ÀÌÀ¯´Â `make maintainer-clean'Àº `configure'ÀÇ °æ¿ì´Â ¸ÞÀÌÅ©ÆÄÀÏÀÇ ·ê¿¡¼­ ¸¸µé¾î Áú ¼ö ÀÖ´õ¶óµµ Áö¿ìÁö ¾Ê±â ¶§¹®ÀÌ´Ù. ÀϹÝÀûÀ¸·Î ¸»ÇØ, `make maintainer-clean'Àº `configure'¸¦ ½ÇÇàÇÏ°í, ÇÁ·Î±×·¥À» ºôµåÇϱâ À§ÇØ ÇÊ¿äÇÑ ¾î¶² ÆÄÀϵµ Áö¿ìÁö ¾Ê´Â´Ù. ÀÌ°ÍÀº À¯ÀÏÇÑ ¿¹¿ÜÀÌ´Ù; maintainer-cleanÀº ´Ù½Ã ºôµåµÉ ¼ö ÀÖ´Â ±× ¿ÜÀÇ ¸ðµç °ÍµéÀ» Áö¿î´Ù. `maintainer-clean' Ÿ°ÙÀº º¸ÅëÀÇ »ç¿ëÀÚ°¡ ¾Æ´Ï¶ó, ÆÐÅ°ÁöÀÇ ¸ÞÀÎÅ×À̳ʰ¡ »ç¿ëÇϱâ À§ÇØ ¸¸µé¾îÁ³´Ù. `make maintainer-clean'ÀÌ Áö¿ì´Â ÆÄÀϵéÀ» ´Ù½Ã ¸¸µé±â À§Çؼ­´Â Ưº°ÇÑ µµ±¸°¡ ÇÊ¿äÇÒ ¼öµµ ÀÖ´Ù. ÀÌ ÆÄÀϵéÀº º¸Åë ¹èÆ÷º» ¾È¿¡ Æ÷ÇԵDZ⠶§¹®¿¡, ÀÌ ÆÄÀÏÀ» ´Ù½Ã ¸¸µé±â ½±µµ·Ï ÇÏÁö ¾Ê´Â´Ù. ´Ù½Ã Àüü ¹èÆ÷º»ÀÇ ¾ÐÃàÀ» Ç®¾î¾ß ÇÒ ÀÏÀÌ »ý±â´õ¶óµµ ¿ø¸ÁÇÏÁö ¸»±â ¹Ù¶õ´Ù. »ç¿ëÀÚ°¡ ÀÌ »ç½ÇÀ» ¾Ëµµ·Ï ÇÏ·Á¸é, maintainer-clean Ÿ°ÙÀÇ ¸í·É¾îµéÀº ´ÙÀ½ µÎ ÁÙ·Î ½ÃÀÛÇØ¾ß ÇÑ´Ù:
@echo 'This command is intended for maintainers to use; it'
@echo 'deletes files that may need special tools to rebuild.'
`TAGS'
ÀÌ ÇÁ·Î±×·¥ÀÇ tags Å×À̺íÀ» °»½ÅÇÑ´Ù.
`info'
ÇÊ¿äÇÑ ¸ðµç Info ÆÄÀÏÀ» ¸¸µç´Ù. ·êÀ» ÀÛ¼ºÇÏ´Â °¡Àå ÁÁÀº ¹æ¹ýÀº ´ÙÀ½°ú °°´Ù:
info: foo.info

foo.info: foo.texi chap1.texi chap2.texi
        $(MAKEINFO) $(srcdir)/foo.texi
¸ÞÀÌÅ©ÆÄÀÏ ³»¿¡ MAKEINFO º¯¼ö¸¦ Á¤ÀÇÇØ¾ß ÇÑ´Ù. ÀÌ ·êÀº Texinfo ¹èÆ÷º»ÀÇ ÀϺÎÀÎ makeinfo ÇÁ·Î±×·¥À» ½ÇÇàÇÑ´Ù. º¸Åë GNU ¹èÆ÷º»Àº Info ÆÄÀÏÀÌ µé¾î ÀÖ°í, ±× ¸»Àº Info ÆÄÀÏÀÌ ¼Ò½º µð·ºÅ丮¿¡ µé¾î ÀÖ´Ù´Â ¶æÀÌ´Ù. Áï, Info ÆÄÀÏÀÇ ¸ÞÀÌÅ© ·êÀº ¼Ò½º µð·ºÅ丮 ¾ÈÀÇ Info ÆÄÀÏÀ» °»½ÅÇØ¾ß ÇÑ´Ù. »ç¿ëÀÚ°¡ ÆÐÅ°Áö¸¦ ºôµåÇÒ ¶§ º¸Åë Info ÆÄÀÏÀº ÀÌ¹Ì °»½ÅµÇ¾î ÀÖ´Â »óÅÂÀÏ °ÍÀ̹ǷÎ, Info ÆÄÀÏÀº °»½ÅÇÏÁö ¾Ê´Â´Ù.
`dvi'
¸ðµç Texinfo ¹®¼­¿¡ ´ëÇÑ DVI ÆÄÀϵéÀ» ¸¸µç´Ù. ¿¹¸¦ µé¾î:
dvi: foo.dvi

foo.dvi: foo.texi chap1.texi chap2.texi
        $(TEXI2DVI) $(srcdir)/foo.texi
¸ÞÀÌÅ©ÆÄÀÏ¿¡ TEXI2DVI º¯¼ö¸¦ Á¤ÀÇÇØ¾ß ÇÑ´Ù. ÀÌ ·êÀº Texinfo ¹èÆ÷º»ÀÇ ÀϺÎÀÎ texi2dvi ÇÁ·Î±×·¥À» ½ÇÇàÇØ¾ß ÇÑ´Ù.(3) ¶Ç ´Ù¸¥ ¹æ¹ýÀº, ÀÇÁ¸¼º¸¸ ÀÛ¼ºÇÏ°í, GNU make¿¡¼­ ¸í·É¾î¸¦ Á¦°øÇϵµ·Ï ÇÏ´Â °ÍÀÌ´Ù.
`dist'
ÀÌ ÇÁ·Î±×·¥À» ¹èÆ÷ÇÒ tar ÆÄÀÏÀ» ¸¸µç´Ù. ÀÌ tar ÆÄÀÏ ¾È¿¡ ÀÖ´Â ÆÄÀÏ À̸§Àº ¾î¶² ÇÑ ¼­ºê µð·ºÅ丮 ¾È¿¡ µé¾î ÀÖ¾î¾ß Çϴµ¥, ÀÌ ¼­ºê µð·ºÅ丮ÀÇ À̸§Àº ¹èÆ÷ÇÒ ÆÐÅ°ÁöÀÇ À̸§À¸·Î ½ÃÀÛÇÑ´Ù. ÀÌ ¼­ºêµð·ºÅ丮 À̸§Àº ¹öÀü ¹øÈ£¸¦ Æ÷ÇÔÇÒ ¼öµµ ÀÖ´Ù. ¿¹¸¦ µé¾î, GCC ¹öÀü 1.40 tar ÆÄÀÏ ¹èÆ÷º»Àº `gcc-1.40'À̶ó´Â À̸§ÀÇ ¼­ºê µð·ºÅ丮·Î ¾ÐÃàÀÌ Ç®¸°´Ù. ÀÌ ÀÛ¾÷À» ÇÏ´Â ½¬¿î ¹æ¹ýÀº Àû´çÇÑ À̸§ÀÇ ¼­ºê µð·ºÅ丮¸¦ ¸¸µç ´ÙÀ½¿¡, ±× ¾È¿¡ ÆÄÀϵéÀº lnÀ̳ª cp·Î Áý¾î ³Ö°í, ±× ¼­ºê µð·ºÅ丮¿¡ tar¸¦ ½ÇÇàÇÏ´Â °ÍÀÌ´Ù. tar ÆÄÀÏÀ» gzipÀ¸·Î ¾ÐÃàÇÑ´Ù. ¿¹¸¦ µé¾î, GCC ¹öÀü 1.40ÀÇ ½ÇÁ¦ ¹èÆ÷ ÆÄÀÏÀº `gcc-1.40.tar.gz'ÀÌ´Ù. dist Ÿ°ÙÀº ¹èÆ÷º»¿¡ µé¾îÀÖ´Â ¸ðµç ¼Ò½º°¡ ¾Æ´Ñ ÆÄÀϵ鿡 ÀÇÁ¸ÇØ¾ß ÇÑ´Ù. ÀÌ·¸°Ô ÇÏ¸é ¿ÏÀüÈ÷ ¾÷µ¥ÀÌÆ®µÈ »óŶó´Â °É º¸ÀåÇÑ´Ù. See section `¹ßÇ¥Çϱâ' in GNU ÄÚµù Ç¥ÁØ.
`check'
ÀÚ±â Å×½ºÆ®¸¦ ÇÑ´Ù (¸¸¾à ÀÖ´Ù¸é). »ç¿ëÀÚ´Â Å×½ºÆ®¸¦ ½ÇÇàÇϱâ Àü¿¡ ÇÁ·Î±Û¸ÅÀ» ºôµåÇØ¾ß ÇÏÁö¸¸, ¼³Ä¡ÇÒ ÇÊ¿ä´Â ¾ø´Ù; ÀÚ±â Å×½ºÆ®´Â ÇÁ·Î±×·¥ÀÌ ºôµåµÈ »óÅÂÀÌÁö¸¸ ¼³Ä¡µÇÁö ¾Ê¾ÒÀ» ¶§ µ¿ÀÛÇϵµ·Ï ÀÛ¼ºÇÑ´Ù.

´ÙÀ½ Ÿ°ÙÀº ÀÌ·± Ÿ°ÙÀÌ ÇÊ¿äÇÑ ÇÁ·Î±×·¥ÀÇ °æ¿ì¿¡ »ç¿ëÇϱ⸦ ±ÇÇÏ´Â, °ü½ÀÀûÀΠŸ°Ù À̸§ÀÌ´Ù.

installcheck
¼³Ä¡ Å×½ºÆ®¸¦ ÇÑ´Ù (¸¸¾à ÀÖ´Ù¸é). »ç¿ëÀÚ´Â ÀÌ Å×½ºÆ®¸¦ ½ÇÇàÇϱâ Àü¿¡ ÇÁ·Î±×·¥À» ºôµåÇÏ°í ¼³Ä¡ÇØ¾ß ÇÑ´Ù. `$(bindir)'°¡ ½ÇÇà °æ·Î¿¡ ÀÖ´Ù°í °¡Á¤Çؼ­´Â ¾È µÈ´Ù.
installdirs
ÆÄÀÏÀ» ¼³Ä¡ÇÒ µð·ºÅ丮¿Í, ±× µð·ºÅ丮ÀÇ À­ µð·ºÅ丮µéÀ» ¸¸µå´Â `installdirs'¶ó´Â À̸§ÀÇ Å¸°ÙÀ» Ãß°¡ÇÏ¸é ¾µ¸ð°¡ ÀÖ´Ù. ÀÌ °æ¿ì¿¡ Æí¸®ÇÑ `mkinstalldirs'¶ó´Â ½ºÅ©¸³Æ®°¡ ÀÖ´Ù; ÀÌ ½ºÅ©¸³Æ®´Â Texinfo ÆÐÅ°Áö¿¡¼­ ãÀ» ¼ö ÀÖ´Ù. ´ÙÀ½°ú °°Àº ·êÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù:
# ¸ðµç ¼³Ä¡ µð·ºÅ丮¿¡ ´ëÇؼ­ (¿¹: $(bindir)) ÇÊ¿äÇϸé
# µð·ºÅ丮¸¦ ¸¸µé¾î¼­ µð·ºÅ丮°¡ Á¸ÀçÇϵµ·Ï ¸¸µç´Ù.
installdirs: mkinstalldirs
        $(srcdir)/mkinstalldirs $(bindir) $(datadir) \
                                $(libdir) $(infodir) \
                                $(mandir)
ÀÌ ·êÀº ÄÄÆÄÀÏÀÌ ¼öÇàµÇ´Â µð·ºÅ丮¸¦ ¼öÁ¤ÇÏ¸é ¾È µÈ´Ù. ÀÌ ·êÀº ¼³Ä¡ µð·ºÅ丮µéÀ» ¸¸µå´Â °Í ÀÌ¿Ü¿¡ ¾Æ¹« °Íµµ ÇÏ¸é ¾È µÈ´Ù.

¼³Ä¡ ¸í·É¾î ±¸ºÐ

install Ÿ°ÙÀ» ÀÛ¼ºÇÒ ¶§, ¸ðµç ¸í·É¾î¸¦ ¼¼°¡Áö ÁßÀÇ Çϳª·Î ºÐ·ùÇØ¾ß ÇÑ´Ù; º¸Åë, ¼³Ä¡-Àü ¸í·É, ±×¸®°í ¼³Ä¡-ÈÄ ¸í·ÉÀÌ´Ù.

º¸Åë ¸í·É¾î´Â ÆÄÀϵéÀ» Àû´çÇÑ À§Ä¡·Î ¿Å±â°í, ±× ÆÄÀÏÀÇ ¸ðµå¸¦ °áÁ¤ÇÑ´Ù. ÀÌ ¸í·É¾î´Â ÇØ´ç ÆÐÅ°Áö¿¡ ¼ÓÇØ ÀÖ´Â ÆÄÀÏÀ» Á¦¿ÜÇÑ ¾î¶² ÆÄÀϵ鵵 °íÄ¡¸é ¾È µÈ´Ù.

¼³Ä¡-Àü ¸í·É¾î¿Í ¼³Ä¡-ÈÄ ¸í·É¾î´Â ±× ¿ÜÀÇ ÆÄÀϵ鵵 °íÄ¥ ¼ö ÀÖ´Ù: ƯÈ÷, ÀÌ ¸í·É¾îµéÀº Àüü ¼³Á¤ ÆÄÀÏÀ̳ª µ¥ÀÌŸ º£À̽º¸¦ ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù.

¼³Ä¡-Àü ¸í·É¾î´Â ´ëºÎºÐ º¸Åë ¸í·É¾î Àü¿¡ ½ÇÇàµÇ°í, ¼³Ä¡-ÈÄ ¸í·É¾î´Â º¸Åë ¸í·É¾î µÚ¿¡ ½ÇÇàµÈ´Ù.

¼³Ä¡-ÈÄ ¸í·É¾î¸¦ »ç¿ëÇÏ´Â °¡Àå ÀüÇüÀûÀÎ ¿¹´Â install-info¸¦ ½ÇÇàÇÏ´Â ÀÏÀÌ´Ù. ÀÌ ÀÛ¾÷Àº º¸Åë ¸í·É¾î·Î ÇÒ ¼ö ¾ø´Ù. install-info´Â ¼³Ä¡ÇÒ ÆÐÅ°Áö¿¡¼­ ³ª¿À´Â ÆÄÀÏÀÌ ¾Æ´Ñ (Info µð·ºÅ丮ÀÇ) ÆÄÀÏÀ» ¹Ù²Ù±â ¶§¹®ÀÌ´Ù. install-info´Â ÆÐÅ°ÁöÀÇ Info ÆÄÀϵéÀ» º¹»çÇÏ´Â º¸Åë ¸í·É¾î ´ÙÀ½¿¡ ½ÇÇàÇØ¾ß Çϱ⠶§¹®¿¡ ¼³Ä¡-ÈÄ ¸í·É¾îÀÌ´Ù.

´ëºÎºÐÀÇ ÇÁ·Î±×·¥Àº ¼³Ä¡-Àü ¸í·É¾î°¡ ÇÊ¿ä¾øÁö¸¸, ¿ì¸®´Â ÀÌ·± ¸í·É¾î°¡ ÇÊ¿äÇÑ °æ¿ì¸¦ À§ÇØ ±×·¯ÇÑ ¸í·É¾î¿¡ ´ëÇØ ½á ³õ¾Ò´Ù.

install ·êÀÇ ¸í·É¾î¸¦ ÀÌ ¼¼°¡Áö·Î ºÐ·ùÇÏ·Á¸é, ºÐ·ù ÁÙ(category line)À» ¸í·É¾î »çÀÌ¿¡ ÷°¡ÇÑ´Ù. ºÐ·ù ÁÙÀº ´ÙÀ½¿¡ ³ª¿Ã ¸í·É¾îÀÇ ºÐ·ù¸¦ ÁöÁ¤ÇÑ´Ù.

ºÐ·ù ÁÙÀº ÅÇ°ú Ưº°ÇÑ ¸ÞÀÌÅ© º¯¼ö¿¡ ´ëÇÑ ÂüÁ¶, ±×¸®°í ±× µÚ¿¡ ¿É¼ÇÀ¸·Î ÁÖ¼®ÀÌ µé¾î°£´Ù. °¢°¢ÀÇ ¸í·É¾î ºÐ·ù¿¡ µû¶ó »ç¿ëÇÒ ¼ö ÀÖ´Â ¼¼°³ÀÇ º¯¼ö°¡ ÀÖ´Ù; º¯¼öÀÇ À̸§ÀÌ °¢ ¸í·É¾î ºÐ·ù¸¦ ÁöÁ¤ÇÑ´Ù. ºÐ·ù ÁÙÀº º¸ÅëÀÇ °æ¿ì ¾Æ¹«Àϵµ ÇÏÁö ¾Ê´Âµ¥, ÀÌ ¼¼ °³ÀÇ ¸ÞÀÌÅ© º¯¼ö´Â º¸Åë Á¤ÀǵÇÁö ¾ÊÀº »óÅÂÀ̱⠶§¹®ÀÌ´Ù (±×¸®°í ¸ÞÀÌÅ© ÆÄÀÏ¿¡¼­ Á¤ÀÇÇÏ¸é ¾È µÈ´Ù).

´ÙÀ½Àº °¡´ÉÇÑ ¼¼°³ÀÇ ºÐ·ù ÁÙ·Î, °¢°¢Àº ¹«½¼ ¶æÀÎÁö ¼³¸íÇÏ´Â ÁÖ¼®ÀÌ ºÙ¾î ÀÖ´Ù:

        $(PRE_INSTALL)     # ¼³Ä¡-Àü ¸í·É¾î°¡ µÚ¿¡ ¿Â´Ù.
        $(POST_INSTALL)    # ¼³Ä¡-ÈÄ ¸í·É¾î°¡ µÚ¿¡ ¿Â´Ù.
        $(NORMAL_INSTALL)  # º¸Åë ¸í·É¾î°¡ µÚ¿¡ ¿Â´Ù.

install ·êÀÇ ¾Õ ºÎºÐ¿¡ ºÐ·ù ÁÙÀ» »ç¿ëÇÏÁö ¾Ê´Â´Ù¸é, ¸ðµç ¸í·É¾î´Â ºÐ·ù ÁÙÀÌ ³ª¿Ã ¶§±îÁö º¸ÅëÀ¸·Î ºÐ·ùµÈ´Ù. ºÐ·ù ÁÙÀ» ÀüÇô »ç¿ëÇÏÁö ¾Ê´Â´Ù¸é ¸ðµç ¸í·É¾î´Â º¸ÅëÀ¸·Î ºÐ·ùµÈ´Ù.

´ÙÀ½Àº uninstallÀ» À§ÇÑ ºÐ·ù ÁÙÀÌ´Ù:

        $(PRE_UNINSTALL)     # ¼³Ä¡Á¦°Å-Àü ¸í·É¾î°¡ ´ÙÀ½¿¡ ¿Â´Ù.
        $(POST_UNINSTALL)    # ¼³Ä¡Á¦°Å-ÈÄ ¸í·É¾î°¡ ´ÙÀ½¿¡ ¿Â´Ù.
        $(NORMAL_UNINSTALL)  # º¸Åë ¸í·É¾î°¡ ´ÙÀ½¿¡ ¿Â´Ù.

ÈçÇÑ ¿¹·Î, ¼³Ä¡Á¦°Å-Àü ¸í·É¾î´Â Info µð·ºÅ丮ÀÇ Ç׸ñÀ» Á¦°ÅÇÏ´Â µ¥ »ç¿ëµÉ °ÍÀÌ´Ù.

insatllÀ̳ª uninstall Ÿ°ÙÀÌ ¼³Ä¡ÀÇ ¼­ºê·çƾÀ¸·Î ÀÛ¿ëÇÏ´Â ÀÇÁ¸¼ºÀÌ µé¾î ÀÖ´Ù¸é, °¢°¢ÀÇ ÀÇÁ¸¼ºÀÇ ¸í·É¾î¸¦ ºÐ·ù ÁÙ·Î ½ÃÀÛÇØ¾ß ÇÏ°í, ÁÖ¿ä Ÿ°ÙÀÇ ¸í·É¾îµµ ºÐ·ù ÁÙ·Î ½ÃÀÛÇÑ´Ù. ÀÌ·¸°Ô Çϸé, ¸ðµç ¸í·É¾î°¡ ½ÇÁ¦ ¾î¶² ÀÇÁ¸¼ºÀÌ ½ÇÇàµÇ¾ú´ÂÁö¿¡ °ü°è¾øÀÌ ¿Ã¹Ù¸¥ ºÐ·ù¿¡ µé¾î°¡°Ô µÈ´Ù.

¼³Ä¡ Àü ¸í·É¾î¿Í ¼³Ä¡ ÈÄ ¸í·É¾î´Â ´ÙÀ½À» Á¦¿ÜÇÏ°í´Â ¾î¶² ÇÁ·Î±×·¥µµ »ç¿ëÇÏ¸é ¾È µÈ´Ù:

[ basename bash cat chgrp chmod chown cmp cp dd diff echo
egrep expand expr false fgrep find getopt grep gunzip gzip
hostname install install-info kill ldconfig ln ls md5sum
mkdir mkfifo mknod mv printenv pwd rm rmdir sed sort tee
test touch true uname xargs yes

ÀÌ·± ½ÄÀ¸·Î ¸í·É¾îµéÀ» ±¸ºÐÇÏ´Â ÀÌÀ¯´Â ÀÌÁø ÆÐÅ°Áö¸¦ ¸¸µé °æ¿ì¸¦ À§Çؼ­ÀÌ´Ù. º¸Åë ÇÑ ¹ÙÀ̳ʸ® ÆÐÅ°Áö´Â ¼³Ä¡ÇÒ ½ÇÇà ÆÄÀÏ ¹× ±× ¿ÜÀÇ ÆÄÀϵéÀ» Æ÷ÇÔÇÏ°í ÀÖ°í, ¶Ç ±× ÆÄÀϵéÀ» ¼³Ä¡ÇÏ´Â °íÀ¯ÇÑ ¹æ¹ýÀÌ µé¾î ÀÖ´Ù---Áï º¸ÅëÀÇ ¼³Ä¡ ¸í·ÉÀ» ½ÇÇàÇÒ ÇÊ¿ä°¡ ¾ø´Ù. ÇÏÁö¸¸ ÀÌÁø ÆÐÅ°Áö¸¦ ¼³Ä¡ÇÏ´Â ÀÏÀº ¼³Ä¡-Àü ¸í·É¾î¿Í ¼³Ä¡-ÈÄ ¸í·É¾î¸¦ ½ÇÇàÇØ¾ß ÇÒ ÇÊ¿ä°¡ ÀÖ´Ù.

ÀÌÁø ÆÐÅ°Áö¸¦ ¸¸µå´Â ÇÁ·Î±×·¥Àº ¼³Ä¡-Àü ¸í·É¾î¿Í ¼³Ä¡-ÈÄ ¸í·É¾îµéÀ» »Ì¾Æ³»´Â ½ÄÀ¸·Î µ¿ÀÛÇÑ´Ù. ´ÙÀ½Àº ¼³Ä¡-Àü ¸í·É¾î¸¦ »Ì¾Æ³»´Â ÇÑ°¡Áö ¹æ¹ýÀÌ´Ù.

make -n install -o all \
      PRE_INSTALL=pre-install \
      POST_INSTALL=post-install \
      NORMAL_INSTALL=normal-install \
  | gawk -f pre-install.awk

ÀÌ ¶§, `pre-install.awk'´Â ´ÙÀ½°ú °°´Ù:

$0 ~ /^\t[ \t]*(normal_install|post_install)[ \t]*$/ {on = 0}
on {print $0}
$0 ~ /^\t[ \t]*pre_install[ \t]*$/ {on = 1}

¼³Ä¡-Àü ¸í·É¾îµéÀÌ µé¾îÀÖ´Â ÆÄÀÏÀº ÀÌÁø ÆÐÅ°Áö¸¦ ¼³Ä¡ÇÒ ¶§ ¼Ð ½ºÅ©¸³Æ®·Î ½ÇÇàµÈ´Ù.


Go to the first, previous, next, last section, table of contents.