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


makefile °ü·Ê(Makefile Conventions)

ÀÌ ÀåÀº GNU ÇÁ·Î±×·¥µé¿¡ ´ëÇÑ makefileÀ» ÀÛ¼ºÇÏ´Â °ü·Ê¸¦ ¼³¸íÇÑ´Ù.

makefile¿¡ ´ëÇÑ ÀÏ¹Ý °ü·Ê(General Conventions for Makefiles)

¸ðµç makefile Àº ´ÙÀ½°ú °°Àº ¶óÀÎÀ» °¡Á®¾ß ÇÑ´Ù:

SHELL = /bin/sh

SHELL º¯¼ö°¡ ȯ°æÀ¸·ÎºÎÅÍ ½Â°ÔµÉ¼öµµ ÀÖ´Â ½Ã½ºÅ۵鿡¼­ ¹®Á¦µéÀ» ÇÇÇϱâ À§Çؼ­. (ÀÌ°ÍÀº GNU make ÀÇ ¹®Á¦°¡ Àý´ë·Î ¾Æ´Ï´Ù.)

´Ù¸¥ make ÇÁ·Î±×·¥µéÀº ºñȣȯ Á¢¹Ì»ç ¸®½ºÆ®µé°ú ¹¬½ÃÀû ±ÔÄ¢µéÀ» °¡Áö°í ÀÌ°ÍÀº ¶§¶§·Î È¥¶õ°ú À߸øµÈ ÇൿÀ» ÀÏÀ¸Å²´Ù. ±×·¡¼­ ƯÁ¤ÇÑ makefile¿¡¼­ ÇÊ¿ä·ÎÇÏ´Â Á¢¹Ì»çµé·Î¸¸ ÀÌ·ç¾îÁø Á¢¹Ì»ç ¸®½ºÆ®¸¦ ´ÙÀ½°ú °°ÀÌ ¼³Á¤ÇÏ´Â °ÍÀº ÁÁÀº »ý°¢ÀÌ´Ù:

.SUFFIXES:
.SUFFIXES: .c .o

ù¹ø° ¶óÀÎÀº Á¢¹Ì»ç ¸®½ºÆ®¸¦ û¼ÒÇÑ´Ù. µÎ¹ø° ¶óÀÎÀº ÀÌ makefile ¿¡¼­ ¹¬½ÃÀû ±ÔÄ¢µé¿¡ Á¾¼ÓÀûÀÎ ¸ðµç Á¢¹Ì»çµéÀ» µµÀÔÇÑ °ÍÀÌ´Ù.

`.' °¡ ¸í·É ½ÇÇàÀ» À§ÇÑ °æ·Î¿¡ ÀÖÀ» °ÍÀ̶ó°í °¡Á¤ÇÏÁö ¸»ÀÚ. make µ¿¾È¿¡ »ç¿ëÀÚÀÇ ÆÑÅ°Áö Áß¿¡¼­ ¾î¶² ÇÁ·Î±×·¥À» ½ÇÇàÇÏ°íÀÚ ÇÒ ¶§, ±× ÇÁ·Î±×·¥ÀÌ make ÀÇ ÀϺÎÀ̶ó¸é ÀÌ°ÍÀÌ `./' ¸¦, ¶Ç´Â ±× ÆÄÀÏÀÌ ¼Ò½º ÄÚµåÀÇ º¯°æµÇÁö ¾ÊÀº ºÎºÐÀÏ °æ¿ì¶ó¸é `$(srcdir)/' ¸¦ »ç¿ëÇÏ´Â °ÍÀ» È®ÀÎÇϱ⠹ٶõ´Ù. ÀÌ·± Á¢µÎ¾îµé ÁßÀÇ Çϳª°¡ ¾ø´Ù¸é ÇöÀç °Ë»ö °æ·Î°¡ »ç¿ëµÈ´Ù.

`./' (ºôµå µð·ºÅ丮(build directory)) ¿Í `$(srcdir)/' (¼Ò½º µð·ºÅ丮(source directory)) »çÀÌÀÇ Â÷ÀÌ´Â »ç¿ëÀÚµéÀÌ `configure' ¿¡ ´ëÇؼ­ `--srcdir' ¿É¼ÇÀ» »ç¿ëÇÏ¿© ºÐ¸®µÈ µð·ºÅ丮 ¾È¿¡¼­ ºôµåÇÒ ¼ö Àֱ⠶§¹®¿¡ Áß¿äÇÏ´Ù. ´ÙÀ½°ú °°Àº ÇüÅÂÀÇ ±ÔÄ¢Àº:

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

ºôµå µð·ºÅ丮°¡ ¼Ò½º µð·ºÅ丮°¡ ¾Æ´Ò ¶§ ½ÇÆÐÇÒ °ÍÀÌ´Ù. ¿Ö³Ä¸é `foo.man' ¿Í `sedscript' ´Â ¼Ò½º µð·ºÅ丮¿¡ Àֱ⠶§¹®ÀÌ´Ù.

GNU make ¸¦ »ç¿ëÇÒ ¶§ `VPATH' ¿¡ ÀÇÁ¸Çؼ­ ¼Ò½º ÆÄÀÏÀ» ã´Â °ÍÀº ´ÜÀÏ Á¾¼Ó ÆÄÀÏÀÌ ÀÖ´Â °æ¿ì¿¡ ÀÛµ¿ÇÒ °ÍÀÌ´Ù. ¿Ö³Ä¸é make ÀÚµ¿ º¯¼ö `$<' ´Â ¼Ò½º ÆÄÀÏÀÌ ¾îµð¿¡ ÀÖ´ø°£¿¡ ±× ¼Ò½º ÆÄÀÏÀ» Ç¥ÇöÇÒ °ÍÀ̱⠶§¹®ÀÌ´Ù. (make ÀÇ ¸¹Àº ¹öÀüµéÀÌ `$<' ¸¦ ¹¬½ÃÀû ±ÔÄ¢µé ¾È¿¡¼­¸¸ ¼³Á¤ÇÑ´Ù.) ´ÙÀ½°ú °°Àº makefile Ÿ°ÙÀº

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, Automake, Bison ¶Ç´Â Flex ·ÎºÎÅÍ ¹ß»ýµÈ °á°ú. ÀÌ·± ÆÄÀϵéÀÌ ÀϹÝÀûÀ¸·Î ¼Ò½º µð·ºÅ丮¿¡ ³ªÅ¸³ª±â ¶§¹®¿¡ ±×µéÀº Ç×»ó ºôµå µð·ºÅ丮°¡ ¾Æ´Ï¶ó ¼Ò½º µð·ºÅ丮¿¡ ÀÖ¾î¾ß ÇÑ´Ù. ±×·¡¼­ À̵éÀ» °»½ÅÇÏ´Â Makefile ±ÔÄ¢µéÀº °»½Å ÆÄÀϵéÀ» ¼Ò½º µð·ºÅ丮¿¡ ³Ö¾î¾ß ÇÑ´Ù.

±×·¯³ª ¾î¶² ÆÄÀÏÀÌ ¹èÆ÷ÆÇ¿¡ ¾ø´Ù¸é Makefile Àº ±×°ÍÀ» ¼Ò½º µð·ºÅ丮¿¡ ³ÖÀ¸¸é ¾ÈµÈ´Ù. ¿Ö³Ä¸é ¾î¶² ÇÁ·Î±×·¥À» º¸ÅëÀÇ È¯°æ¿¡¼­ ºôµåÇÏ´Â °ÍÀº ¼Ò½º µð·ºÅ丮¸¦ ¾î¶² ½ÄÀ¸·Îµç º¯°æÇؼ­´Â ¾ÈµÇ±â ¶§¹®ÀÌ´Ù.

Ÿ°ÙÀ» ºôµåÇÏ°í ¼³Ä¡ÇÏ´Â °ÍÀÌ, Àû¾îµµ(±×¸®°í ¸ðµç ±×µéÀÇ ¼­ºêŸ°ÙµéÀÌ) º´·Ä make·Îµµ Á¤È®ÇÏ°Ô ÀÛµ¿ÇÏ°Ô ¸¸µé·Á°í ³ë·ÂÇÏÀÚ.

makefile ÀÇ À¯Æ¿¸®Æ¼(Utilities in Makefiles)

makefile ¸í·Éµé(±×¸®°í configure ¿Í °°Àº ½© ½ºÅ©¸³Æ®µé)À» ÀÛ¼ºÇÒ ¶§ csh °¡ ¾Æ´Ï¶ó sh ¿¡¼­ ½ÇÇàÇϵµ·Ï ÀÛ¼ºÇÏÀÚ. ksh ³ª bash ÀÇ Æ¯¼ö ±â´ÉµéÀ» »ç¿ëÇÏÁö ¸»ÀÚ.

configure ½ºÅ©¸³Æ®¿Í makefile ÀÇ ºôµå¿Í ¼³Ä¡¸¦ À§ÇÑ ±ÔÄ¢µéÀº ´ÙÀ½°ú °°Àº °ÍµéÀ» Á¦¿ÜÇÏ°í´Â À¯Æ¿¸®Æ¼µéÀ» Á÷Á¢ »ç¿ëÇؼ­´Â ¾ÈµÈ´Ù:

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 ±ÔÄ¢¿¡¼­ »ç¿ëµÉ ¼ö ÀÖ´Ù.

ÀÌ·± ÇÁ·Î±×·¥µé¿¡ ´ëÇؼ­ ÀϹÝÀûÀ¸·Î Áö¿øµÇ´Â ¿É¼ÇµéÀ» »ç¿ëÇÏÀÚ. ¿¹¸¦ µé¾î¼­ ´ëºÎºÐÀÇ ½Ã½ºÅÛµéÀÌ `mkdir -p' ¸¦ Áö¿øÇÏÁö ¾Ê±â ¶§¹®¿¡ ÀÌ°ÍÀÌ ÆíÇÏ´õ¶óµµ ÀÌ°ÍÀ» »ç¿ëÇÏÁö ¸»ÀÚ.

makefile ¾È¿¡¼­ ½Éº¼¸¯ ¸µÅ©¸¦ »ý¼ºÇÏÁö ¾Êµµ·Ï ÇÏ´Â °ÍÀº ÁÁÀº »ý°¢ÀÌ´Ù. ¿Ö³Ä¸é ¼Ò¼öÀÇ ½Ã½ºÅÛµéÀÌ ½Éº¼¸¯ ¸µÅ©¸¦ Áö¿øÇϱ⠶§¹®ÀÌ´Ù.

ºôµå¿Í ¼³Ä¡¸¦ À§ÇÑ Makefile ±ÔÄ¢µéÀº ÄÄÆÄÀÏ·¯µé°ú °ü·ÃµÈ ÇÁ·Î±×·¥µéÀ» »ç¿ëÇÒ ¼ö ÀÖÁö¸¸ 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

ÀÌ·± À¯Æ¿¸®Æ¼µéÀÌ Á¸ÀçÇÑ´Ù°í ¾Ë°í Àִ Ưº°ÇÑ ½Ã½ºÅ۵鿡 ´ëÇؼ­¸¸ ÀǵµµÈ Makefile ÀϺÎ(¶Ç´Â ½ºÅ©¸³Æ®) ¾È¿¡¼­ ±×·± À¯Æ¿¸®Æ¼µéÀ» »ç¿ëÇÏ´Â °ÍÀº ÁÁ´Ù.

¸í·ÉÀ» ÁöÁ¤Çϱâ À§ÇÑ º¯¼ö(Variables for Specifying Commands)

makefile Àº ¾î¶² ¸í·Éµé, ¿É¼Çµé, ±âŸ µîµîÀ» ¿À¹ö¶óÀ̵åÇϱâ À§ÇÑ º¯¼öµéÀ» Á¦°øÇØ¾ß ÇÑ´Ù.

Ưº°È÷ ´ëºÎºÐÀÇ À¯Æ¿¸®Æ¼ ÇÁ·Î±×·¥µéÀ» º¯¼öµéÀ» ÅëÇؼ­ ½ÇÇàÇØ¾ß ÇÒ °ÍÀÌ´Ù. ±×·¡¼­ 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 ÄÄÆÄÀÏ·¯ÀÇ ¸ðµç È£Ãâ¿¡¼­ »ç¿ëµÇ¾î¾ß ÇÑ´Ù. ÄÄÆÄÀÏÇÏ´Â °Í°ú ¸µÅ©¸¦ ÇÏ´Â °Í ¸ðµÎ¿¡¼­.

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

¸ðµç Makefile Àº INSTALL_PROGRAM ¿Í INSTALL_DATA º¯¼öµéÀ» ¶ÇÇÑ Á¤ÀÇÇØ¾ß ÇÑ´Ù. (ÀÌµé °¢°¢¿¡ ´ëÇÑ µðÆúÆ®´Â $(INSTALL) À̾î¾ß ÇÑ´Ù.) ±×¸®°í ÀÌ·± º¯¼öµéÀ» ½ÇÇà ÆÄÀϵé°ú ºñ½ÇÇà ÆÄÀÏµé °¢°¢À» À§ÇÑ ½ÇÁ¦ ¼³Ä¡¸¦ À§ÇÑ ¸í·Éµé·Î »ç¿ëÇØ¾ß ÇÑ´Ù. ÀÌ·± º¯¼öµéÀ» ´ÙÀ½°ú °°ÀÌ »ç¿ëÇÏÀÚ:

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

Ç×»ó ¼³Ä¡ ¸í·ÉµéÀÇ µÎ¹ø° ¸Å°³º¯¼ö·Î½á ÆÄÀÏ À̸§À» »ç¿ëÇÏ°í µð·ºÅ丮 À̸§À» »ç¿ëÇÏÁö ¸»ÀÚ. ¼³Ä¡µÇ´Â °¢ ÆÄÀÏ¿¡ ´ëÇؼ­ ºÐ¸®µÈ ¸í·ÉÀ» »ç¿ëÇÏÀÚ.

¼³Ä¡ µð·ºÅ丮µéÀ» À§ÇÑ º¯¼ö(Variables for Installation Directories)

¼³Ä¡ µð·ºÅ丮µéÀº Ç×»ó º¯¼öµé¿¡ ±× À̸§À» °®°í À־ ºñÇ¥ÁØ À§Ä¡¿¡ ¼³Ä¡ÇÏ´Â °ÍÀÌ ½¬¿ö¾ß ÇÑ´Ù. ÀÌ·± º¯¼öµéÀ» À§ÇÑ Ç¥ÁØ À̸§µéÀÌ ¾Æ·¡¿¡ ¼³¸íµÉ °ÍÀÌ´Ù. ±×µéÀº Ç¥ÁØ ÆÄÀÏ ½Ã½ºÅÛ ·¹À̾ƿô¿¡ ±â¹ÝÇÑ´Ù: ÀÌ°ÍÀÌ º¯Á¾µéÀÌ SVR4, 4.4BSD, Linux, Ultrix v4, ±×¸®°í ´Ù¸¥ Çö´ë ¿î¿µÃ¼Á¦µé¿¡¼­ »ç¿ëµÈ´Ù.

ÀÌ·± µÎ º¯¼öµéÀº ¼³Ä¡¸¦ À§ÇÑ ·çÆ® µð·ºÅ丮¸¦ ¼³Á¤ÇÑ´Ù. ¸ðµç ´Ù¸¥ ¼³Ä¡ µð·ºÅ丮µéÀº À̵é Áß ÇϳªÀÇ ¼­ºêµð·ºÅ丮À̾î¾ß ÇÏ°í ¾î¶² °Íµµ ÀÌ·± µÎ µð·ºÅ丮¿¡ Á÷Á¢ ¼³Ä¡µÇ¾î¼­´Â ¾ÈµÈ´Ù.

`prefix'
prefix ´Â ¾Æ·¡¿¡ ³ª¿Â º¯¼öµéÀÇ µðÆúÆ®°ªµéÀ» ±¸ÃàÇÒ ¶§ »ç¿ëµÈ´Ù. prefix ÀÇ µðÆúÆ® °ªÀº `/usr/local' À̾î¾ß ÇÑ´Ù. ¿ÏÀüÇÑ GNU ½Ã½ºÅÛÀ» ¼³Ä¡ÇÒ ¶§, prefix ´Â ºó °ÍÀÌ µÉ °ÍÀÌ°í `/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/sbin' ÀÌÁö¸¸ `$(exec_prefix)/sbin' ·Î ÀÛ¼ºÇØ¾ß ÇÑ´Ù. (Autoconf ¸¦ »ç¿ëÇÏ°í ÀÖ´Ù¸é ÀÌ°ÍÀ» `@sbindir@' ·Î ÀÛ¼ºÇÏÀÚ.)
`libexecdir'
»ç¿ëÀÚµéÀÌ ¾Æ´Ï¶ó ´Ù¸¥ ÇÁ·Î±×·¥µé¿¡ ÀÇÇؼ­ ½ÇÇàµÇ´Â ½ÇÇà°¡´É ÇÁ·Î±×·¥µéÀ» ¼³Ä¡Çϱâ À§ÇÑ µð·ºÅ丮. ÀÌ µð·ºÅ丮´Â º¸Åë `/usr/local/libexec' ÀÌÁö¸¸ ÀÌ°ÍÀ» `$(exec_prefix)/libexec' ·Î ¾²ÀÚ. (Autoconf ¸¦ »ç¿ëÇÏ°í ÀÖ´Ù¸é ÀÌ°ÍÀ» `@libexecdir@' ·Î ¾²ÀÚ.)

½ÇÇà µ¿¾È ÇÁ·Î±×·¥¿¡ ÀÇÇؼ­ »ç¿ëµÇ´Â µ¥ÀÌÅÍ ÆÄÀϵéÀº ´ÙÀ½°ú °°Àº µÎ °¡Áö ¹æ¹ýÀ¸·Î ºÐ·ùµÉ ¼ö ÀÖ´Ù.

ÀÌ°ÍÀº ¿©¼¸°¡Áö ´Ù¸¥ °¡´É¼ºµéÀ» ¸¸µç´Ù. ±×·¯³ª ¿ÀºêÁ§Æ® ÆÄÀϵé°ú ¶óÀ̺귯¸®µéÀ» Á¦¿ÜÇÏ°í, ¾ÆÅ°ÅØÃÄ-Á¾¼ÓÀûÀÎ ÆÄÀϵéÀ» »ç¿ëÇÏÁö ¾Ê±â¸¦ ±ÇÇÏ°í ½Í´Ù. µ¥ÀÌÅÍ ÆÄÀϵéÀ» ¾ÆÅ°ÅØÃÄ-µ¶¸³À¸·Î ¸¸µå´Â °ÍÀÌ ´õ ¼±¸íÇÏ´Ù. ±×¸®°í ÀÌ·¸°Ô ÇÏ´Â °ÍÀº ÀϹÝÀûÀ¸·Î ±×¸® ¾î·ÆÁö ¾Ê´Ù.

±×·¡¼­ Makefile µéÀÌ µð·ºÅ丮µéÀ» ÁöÁ¤ÇÏ´Â µ¥ »ç¿ëÇÏ¿©¾ß ÇÒ º¯¼öµéÀ» ´ÙÀ½¿¡ ³õ¾Ò´Ù:

`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'
À̸ƽº 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@' ·Î ¾²ÀÚ.) Makefile ¸í·ÉµéÀº oldincludedir ÀÌ ºó °ªÀΰ¡ ¾Æ´Ñ°¡¸¦ üũÇØ¾ß ÇÑ´Ù. ±×·¸´Ù¸é ±×µéÀº ÀÌ°ÍÀ» »ç¿ëÇÏ·Á°í ½ÃµµÇؼ­´Â ¾ÈµÈ´Ù; ±×µéÀº Çì´õ ÆÄÀϵéÀÇ µÎ¹ø°¼³Ä¡¸¦ Ãë¼ÒÇØ¾ß ÇÒ °ÍÀÌ´Ù. Çì´õ°¡ µ¿ÀÏÇÑ ÆÑÅ°Áö·ÎºÎÅÍ ¿Â °ÍÀÌ ¾Æ´Ï¶ó¸é ÀÌ µð·ºÅ丮¿¡ ±âÁ¸¿¡ ÀÖ´ø Çì´õ¸¦ ±³Ã¼Çؼ­´Â ¾ÈµÈ´Ù. ±×·¡¼­ Foo ¶ó´Â ÆÑÅ°Áö°¡ Çì´õ ÆÄÀÏ `foo.h' ¸¦ Á¦°øÇÑ´Ù¸é, (1) `foo.h' ÆÄÀÏÀÌ °Å±â¿¡ ¾ø°Å³ª (2) `foo.h' ÀÌ Á¸ÀçÇÏÁö¸¸ Foo ÆÑÅ°Áö·ÎºÎÅÍ ¿Â °ÍÀ̶ó¸é, oldincludedir µð·ºÅ丮¿¡ ±× Çì´õÆÄÀÏÀ» ¼³Ä¡ÇØ¾ß ÇÑ´Ù. `foo.h' ÀÌ Foo ÆÑÅ°Áö·ÎºÎÅÍ ¿Â °ÍÀΰ¡¸¦ ¾Ë¾Æ³»·Á¸é ¸ÅÁ÷ ¹®ÀÚ¿­À» ±× ÆÄÀÏ ¾È¿¡ ³ÖÀÚ---ÁÖ¼®ÀÇ ÀϺÎ---±×¸®°í ±× ¹®ÀÚ¿­À» grep ÇÑ´Ù.

À¯´Ð½º-½ºÅ¸ÀÏ ¸Ç ÆäÀÌÁöµéÀº ´ÙÀ½°ú °°Àº °Í ÁßÀÇ Çϳª·Î ¼³Ä¡µÈ´Ù:

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

±×¸®°í ¸¶Áö¸·À¸·Î ´ÙÀ½°ú °°Àº º¯¼ö¸¦ ¼³Á¤ÇØ¾ß ÇÒ °ÍÀÌ´Ù:

`srcdir'
ÄÄÆÄÀϵǴ ¼Ò½ºµéÀ» À§ÇÑ µð·ºÅ丮. ÀÌ º¯¼öÀÇ °ªÀº º¸Åë configure ½© ½ºÅ©¸³Æ®¿¡ ÀÇÇؼ­ »ðÀԵȴÙ. (Autoconf ¸¦ »ç¿ëÇÏ°í ÀÖ´Ù¸é `srcdir = @srcdir@' ¸¦ ¾²ÀÚ.)

¿¹¸¦ µé¾î¼­:

# Common prefix for installation directories.
# NOTE: This directory must exist when you start the install.
prefix = /usr/local
exec_prefix = $(prefix)
# Where to put the executable for the command `gcc'.
bindir = $(exec_prefix)/bin
# Where to put the directories used by the compiler.
libexecdir = $(exec_prefix)/libexec
# Where to put the Info files.
infodir = $(prefix)/info

¸¹Àº °³¼öÀÇ ÆÄÀϵéÀ» Ç¥ÁØ »ç¿ëÀÚ-ÁöÁ¤ µð·ºÅ丮µé ÁßÀÇ Çϳª·Î ¼³Ä¡ÇÑ´Ù¸é ±×°ÍµéÀ» ±× ÇÁ·Î±×·¥¸¸ÀÇ ¼­ºêµð·ºÅ丮·Î ¹­¾î ÁÖ´Â °ÍÀÌ À¯¿ëÇÒ °ÍÀÌ´Ù. ÀÌ·¸°Ô ÇÑ´Ù¸é ÀÌ·± ¼­ºêµð·ºÅ丮µéÀ» ¸¸µé±â À§ÇÑ install ±ÔÄ¢À» ÀÛ¼ºÇØ¾ß ÇÒ °ÍÀÌ´Ù.

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

»ç¿ëÀÚµéÀ» À§ÇÑ Ç¥ÁØ Å¸°Ù(Standard Targets for Users)

¸ðµç GNU ÇÁ·Î±×·¥µéÀº ´ÙÀ½°ú °°Àº Ÿ°ÙµéÀ» ±×µéÀÇ makefile ¾È¿¡ °¡Á®¾ß ÇÑ´Ù:

`all'
Àüü ÇÁ·Î±×·¥À» ÄÄÆÄÀÏÇÑ´Ù. ÀÌ°ÍÀº µðÆúÆ® Ÿ°ÙÀ̾î¾ß ÇÑ´Ù. ÀÌ Å¸°ÙÀº ¹®¼­ ÆÄÀϵéÀ» ´Ù½Ã ºôµåÇÒ ÇÊ¿ä´Â ¾ø´Ù; Info ÆÄÀϵéÀº ÀϹÝÀûÀ¸·Î ¹èÆ÷ÆÇ ¾È¿¡ Æ÷ÇԵǾî¾ß ÇÏ°í, DVI ÆÄÀϵéÀº »ç¿ëÀÚ¿¡ ÀÇÇؼ­ ¸í½ÃÀûÀ¸·Î ¿ä±¸µÉ ¶§¿¡¸¸ ¸¸µé¾îÁ®¾ß ÇÑ´Ù. µðÆúÆ®·Î Make ±ÔÄ¢µéÀº `-g' ¿É¼ÇÀ¸·Î ÄÄÆÄÀÏÇÏ°í ¸µÅ©Çؼ­ ±× ½ÇÇà ÇÁ·Î±×·¥µéÀÌ µð¹ö±ë ½É¹úµéÀ» °¡Áöµµ·Ï ÇØ¾ß ÇÑ´Ù. ¹«·ÂÇØÁö´Â °Í¿¡ ½Å°æ¾²Áö ¾Ê´Â »ç¿ëÀÚµéÀº ±×µéÀÌ ¿øÇÒ ¶§ ±× ½ÇÇàÆÄÀϵéÀ» strip ÇÒ ¼ö ÀÖ´Ù.
`install'
ÇÁ·Î±×·¥À» ÄÄÆÄÀÏÇÏ°í ½ÇÇà ÆÄÀϵé°ú ¶óÀ̺귯¸®µé, ±âŸ µîµîÀ» À̵éÀÌ ½ÇÁ¦ »ç¿ëÀ» À§Çؼ­ À§Ä¡ÇØ¾ß ÇÒ °÷¿¡ ÆÄÀÏ À̸§µé·Î º¹»çÇÑ´Ù. ¾î¶² ÇÁ·Î±×·¥ÀÌ ÀûÀýÇÏ°Ô ¼³Ä¡µÇ¾ú´Â°¡¸¦ °ËÁõÇϱâ À§ÇÑ ´Ü¼øÇÑ Å×½ºÆ®°¡ ÀÖ´Ù¸é ÀÌ Å¸°ÙÀº ±× Å×½ºÆ®¸¦ ½ÇÇàÇØ¾ß ÇÑ´Ù. ½ÇÇàÆÄÀϵéÀ» ¼³Ä¡ÇÒ ¶§ ±×µéÀ» stripÇÏÁö ¸»ÀÚ. ¾ÆÁÖ ÅÂÆò½º·¯¿î »ç¿ëÀÚµéÀº ±×·¸°Ô Çϱâ À§Çؼ­ install-strip ¸¦ »ç¿ëÇÒ ¼öÀÖ´Ù. °¡´ÉÇÏ´Ù¸é install Ÿ°Ù ±ÔÄ¢ÀÌ ÇÁ·Î±×·¥ÀÌ ºôµåµÇ´Â µð·ºÅ丮¿¡¼­, `make all' ÀÌ ¹æ±Ý ¼öÇàµÇ¾ú´Ù¸é, ¾Æ¹«°Íµµ º¯°æÇÏÁö ¾Êµµ·Ï ÀÛ¼ºÇÏÀÚ. ÀÌ°ÍÀº ÇÁ·Î±×·¥À» ÇÑ À¯Àú°¡ ºôµåÇÏ°í ±×°ÍÀ» ´Ù¸¥ À¯Àú°¡ ¼³Ä¡ÇÏ´Â °æ¿ì¿¡ ÁÁ´Ù. ¸í·ÉµéÀº ÆÄÀϵéÀÌ ¼³Ä¡µÉ ¸ðµç µð·ºÅ丮µéÀ» ±×µéÀÌ ¾Õ¼­ Á¸ÀçÇÏÁö ¾Ê´Â´Ù¸é »ý¼ºÇØ¾ß ÇÑ´Ù. ÀÌ°ÍÀº prefix ¿Í exec_prefix º¯¼öµéÀÇ °©µé·Î ÁöÁ¤µÈ µð·ºÅ丮µé°ú ÇÊ¿äÇÑ ¸ðµç ¼­ºêµð·ºÅ丮µéÀ» Æ÷ÇÔÇÑ´Ù. ÀÌ·¸°Ô Çϱâ À§ÇÑ ÇÑ°¡Áö ¹æ¹ýÀº ¾Æ·¡¿¡ ¼³¸íµÈ installdirs Ÿ°ÙÀ» »ç¿ëÇÏ´Â °ÍÀÌ´Ù. ¸Ç ÆäÀÌÁö¸¦ ¼³Ä¡Çϱâ À§ÇÑ ÀÓÀÇÀÇ ¸í·É ¾Õ¿¡´Ù `-' ¸¦ »ç¿ëÇؼ­ make °¡ ÀÓÀÇÀÇ ¿¡·¯µéÀ» ¹«½ÃÇϵµ·Ï ÇÏÀÚ. ÀÌ°ÍÀº ¼³Ä¡µÈ À¯´Ð½º ¸Ç ÆäÀÌÁö ¹®¼­ ½Ã½ºÅÛÀ» °¡ÁöÁö ¾Ê´Â ½Ã½ºÅÛµéÀÌ ÀÖ´Â °æ¿ì¸¦ À§ÇÑ °ÍÀÌ´Ù. Info ÆÄÀϵéÀ» ¼³Ä¡ÇÏ´Â ¹æ¹ýÀº À̵éÀ» `$(infodir)' ¿¡´Ù $(INSTALL_DATA) ·Î (see section ¸í·ÉÀ» ÁöÁ¤Çϱâ À§ÇÑ º¯¼ö(Variables for Specifying Commands)) º¹»çÇÏ°í install-info ÇÁ·Î±×·¥ÀÌ Á¸ÀçÇÑ´Ù¸é ÀÌ°ÍÀ» ½ÇÇàÇÏ´Â °ÍÀÌ´Ù. install-info ´Â Info `dir' ÆÄÀÏÀ» ÆíÁýÇؼ­ ÁÖ¾îÁø Info ÆÄÀÏÀ» À§ÇÑ ¸Þ´º ¿£Æ®¸®¸¦ Ãß°¡Çϰųª °»½ÅÇÏ´Â ÇÁ·Î±×·¥ÀÌ´Ù; ÀÌ°ÍÀº Texinfo ÆÑÅ°ÁöÀÇ ÀϺÎÀÌ´Ù. ´ÙÀ½Àº Info ÆÄÀÏÀ» ¼³Ä¡ÇÏ´Â ¿¹Á¦ ±ÔÄ¢ÀÌ´Ù:
$(infodir)/foo.info: foo.info
        $(POST_INSTALL)
# There may be a newer info file in . than in srcdir.
        -if test -f foo.info; then d=.; \
         else d=$(srcdir); fi; \
        $(INSTALL_DATA) $$d/foo.info $@; \
# Run install-info only if it exists.
# Use `if' instead of just prepending `-' to the
# line so we notice real errors from install-info.
# We use `$(SHELL) -c' because some shells do not
# fail gracefully when there is an unknown command.
        if $(SHELL) -c 'install-info --version' \
           >/dev/null 2>&1; then \
          install-info --dir-file=$(infodir)/dir \
                       $(infodir)/foo.info; \
        else true; fi
install Ÿ°ÙÀ» ÀÛ¼ºÇÒ ¶§, ¸ðµç ¸í·ÉµéÀ» ´ÙÀ½°ú °°Àº ¼¼ ¹üÁÖµé·Î ºÐ·ùÇØ¾ß ÇÑ´Ù: ÀÏ¹Ý ¸í·É, ¼³Ä¡-ÀÌÀü(pre-installation) ¸í·É, ±×¸®°í ¼³Ä¡-ÀÌÈÄ(post-installation) ¸í·É. See section ¼³Ä¡ ¸í·É ¹üÁÖ(Install Command Categories).
`uninstall'
¸ðµç ¼³Ä¡µÈ ÆÄÀϵéÀ» »èÁ¦ÇÑ´Ù---`install' Ÿ°ÙÀÌ »ý¼ºÇÑ º¹»ç¹°µé. ÀÌ ±ÔÄ¢Àº ÄÄÆÄÀÏÀÌ ¼öÇàµÈ µð·ºÅ丮µéÀ» º¯°æÇؼ­´Â ¾ÈµÈ´Ù. ÆÄÀϵéÀÌ ¼³Ä¡µÈ µð·ºÅ丮µé¸¸ º¯°æÇØ¾ß ÇÑ´Ù. ¼³Ä¡ Á¦°Å ¸í·ÉµéÀº ¼³Ä¡ ¸í·Éµé°ú °°ÀÌ ¼¼°³ÀÇ ¹üÁÖµé·Î ³ª´¶´Ù. See section ¼³Ä¡ ¸í·É ¹üÁÖ(Install Command Categories).
`install-strip'
install ¿Í °°Áö¸¸ ½ÇÇà ÆÄÀϵéÀ» ¼³Ä¡ÇÒ ¶§ À̵éÀÇ ½É¹úµéÀ» Á¦°ÅÇÑ´Ù. ¸¹Àº °æ¿ì¿¡ ÀÌ Å¸°ÙÀÇ Á¤ÀÇ´Â ´ÙÀ½Ã³·³ ¾ÆÁÖ ´Ü¼øÇÒ ¼ö ÀÖ´Ù:
install-strip:
        $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' \
                install
º¸Åë ÇÁ·Î±×·¥ÀÌ ¹ö±×°¡ ¾ø´Ù´Â °ÍÀ» È®½ÅÇÏÁö ¸øÇÑ´Ù¸é ½ÇÇà ÆÄÀÏÀÇ ½É¹úµéÀ» Á¦°ÅÇÏ´Â °ÍÀ» ±ÇÀåÇÏ°í ½ÍÁö ¾Ê´Ù. ±×·¯³ª ¹ö±×°¡ ÀÖÀ» °æ¿ì¸¦ ´ëºñÇؼ­ ½É¹úµéÀ» Á¦°ÅÇÏÁö ¾Ê´Â ½ÇÇàÆÄÀÏÀ» ¾îµò°¡¿¡ ÀúÀåÇÏ°í ½ÇÁ¦ ½ÇÇà ÆÄÀÏÀº ½É¹úµéÀ» Á¦°ÅÇؼ­ ¼³Ä¡ÇÏ´Â °Íµµ ÇÕ¸®ÀûÀÏ ¼ö ÀÖ´Ù.
`clean'
º¸Åë ÇÁ·Î±×·¥À» ºôµåÇϸ鼭 »ý¼ºµÇ´Â, ÇöÀç µð·ºÅ丮¿¡ ÀÖ´Â, ¸ðµç ÆÄÀϵéÀ» Á¦°ÅÇÑ´Ù. ȯ°æ¼³Á¤À» ±æ°íÇÑ ÆÄÀϵéÀº Áö¿ìÁö ¾Ê´Â´Ù. ¶ÇÇÑ ºôµå¿¡ ÀÇÇؼ­ »ý¼ºµÉ ¼ö ÀÖÁö¸¸ º¸ÅëÀº ¸¸µé¾îÁöÁö ¾Ê´Â ÆÄÀϵéÀ», ¹èÆ÷ÆÇÀÌ ±×µéÀ» ´ã°í Àֱ⠶§¹®¿¡, º¸Á¸ÇÑ´Ù. `.dvi' ÆÄÀϵéÀÌ ¹èÆ÷ÆÇÀÇ ÀϺΰ¡ ¾Æ´Ï¶ó¸é À̵éÀ» Áö¿ö¶ó.
`distclean'
ÇöÀç µð·ºÅ丮·ÎºÎÅÍ È¯°æ ¼³Á¤°ú ÇÁ·Î±×·¥ ºôµå °úÁ¤¿¡ ÀÇÇؼ­ »ý¼ºµÈ ¸ðµç ÆÄÀϵéÀ» Áö¿î´Ù. ¼Ò½º¸¦ unpack Çß°í ±× ÇÁ·Î±×·¥À» ´Ù¸¥ ÆÄÀϵéÀ» »ý¼ºÇÏÁö ¾Ê°í¼­ ºôµåÇß´Ù¸é `make distclean' ´Â ¹èÆ÷ÆÇ¿¡ ÀÖ¾ú´ø ÆÄÀϵ鸸À» Áö¿ï °ÍÀÌ´Ù.
`mostlyclean'
`clean' °ú ºñ½ÁÇÏÁö¸¸ »ç¶÷µéÀÌ º¸Åë ÀçÄÄÆÄÀÏÇÏ°íÀÚ ÇÏÁö ¾Ê´Â ¸î°¡Áö ÆÄÀϵéÀ» »èÁ¦ÇÏÁö ¾ÊÀ» ¼ö ÀÖ´Ù. ¿¡¸¦ µé¾î¼­ GCC ¸¦ À§ÇÑ `mostlyclean' Ÿ°ÙÀº `libgcc.a' ¸¦ »èÁ¦ÇÏÁö ¾Ê´Â´Ù. ¿Ö³Ä¸é ÀÌ°ÍÀ» ÀçÄÄÆÄÀÏÇÏ´Â °ÍÀº °ÅÀÇ ÇÊ¿ä°¡ ¾ø°í ½Ã°£¸¸ ¸¹ÀÌ °É¸®±â ¶§¹®ÀÌ´Ù.
`maintainer-clean'
ÇöÀç µð·ºÅ丮·ÎºÎÅÍ, Makefile ·Î ´Ù½Ã ¸¸µé¾îÁú ¼ö ÀÖ´Â °ÅÀÇ ¸ðµç °ÍÀ» »èÁ¦ÇÑ´Ù. ÀÌ°ÍÀº ÀüÇüÀûÀ¸·Î distclean ·Î »èÁ¦µÇ´Â ¸ðµç °Í°ú ±× ¿ÜÀÇ °ÍµéÀ» Æ÷ÇÔÇÑ´Ù: Bison ¿¡ ÀÇÇؼ­ ¸¸µé¾îÁø C ¼Ò½º ÆÄÀÏ, ÅÂ±× Å×À̺í, Info ÆÄÀϵé, ±âŸ µîµî. ¿ì¸®°¡ "°ÅÀÇ ¸ðµç°Í" À̶ó°í ¸»ÇÑ ÀÌÀ¯´Â ¸í·É `make maintainer-clean' ¸¦ ½ÇÇàÇÏ´Â °ÍÀº `configure' °¡ Makefile ÀÇ ÇÑ ±ÔÄ¢À» »ç¿ëÇؼ­ ¸¸µé¾îÁú ¼ö ÀÖ´Ù°í ÇÏ´õ¶óµµ, `configure' ¸¦ Áö¿ìÁö ¾ÊÀ» °ÍÀ̱⠶§¹®ÀÌ´Ù. Á» ´õ ÀϹÝÀûÀ¸·Î `make maintainer-clean' ´Â `configure' ¸¦ ½ÇÇàÇϱâ À§Çؼ­ Á¸ÀçÇØ¾ß ÇÏ´Â ¾î¶² °Íµµ Áö¿ìÁö ¾Ê°í ÇÁ·Î±×·¥À» ºôµåÇϱ⠽ÃÀÛÇÏ´Â ¾î¶² °Íµµ Áö¿ìÁö ¾Ê´Â´Ù. ÀÌ°ÍÀº À¯ÀÏÇÑ ¿¹¿ÜÀÌ´Ù; maintainer-clean ´Â ´Ù½Ã ºôµåµÉ ¼ö ¾ø´Â ´Ù¸¥ ¸ðµç °ÍµéÀ» »èÁ¦ÇÒ °ÍÀÌ´Ù. `maintainer-clean' Ÿ°ÙÀº ÀÏ¹Ý »ç¿ëÀڵ鿡 ÀÇÇؼ­°¡ ¾Æ´Ï¶ó ÆÑÅ°ÁöÀÇ °ü¸®ÀÚ¿¡ ÀÇÇؼ­ »ç¿ëµÉ °ÍÀ¸·Î °í¾ÈµÈ °ÍÀÌ´Ù. `make maintainer-clean' °¡ »èÁ¦ÇÑ ÆÄÀÏµé ¸î°¡Áö¸¦ Àç°ÇÃàÇÏ·Á¸é Ư¼öÇÑ ÅøµéÀÌ ÇÊ¿äÇÒ ¼ö ÀÖ´Ù. ÀÌ·± ÆÄÀϵéÀº ÀϹÝÀûÀ¸·Î ¹èÆ÷ÆÇ ¾È¿¡ Æ÷ÇԵDZ⠶§¹®¿¡ ¿ì¸®´Â ±×µéÀÌ ´Ù½Ã ¸¸µé¾îÁö±â ½±µµ·Ï ½Å°æ¾²Áö ¾Ê´Â´Ù. Àüü ¹èÆ÷ÆÇÀ» ´Ù½Ã unpack ÇÏ´Â °ÍÀÌ ÇÊ¿äÇÏ´Ù°í »ý°¢µÇ´õ¶óµµ ¿ì¸®¸¦ ¿ø¸ÁÇÏÁö ¸»¶ó. »ç¿ëÀÚµéÀÌ ÀÌ·± °ÍÀ» ¾Ëµµ·Ï Çϱâ À§Çؼ­ Ư¼ö maintainer-clean Ÿ°ÙÀÇ ¸í·ÉµéÀº ´ÙÀ½°ú °°Àº µÎ ¶óÀÎÀ¸·Î ½ÃÀÛÇØ¾ß ÇÑ´Ù.
@echo 'This command is intended for maintainers to use; it'
@echo 'deletes files that may need special tools to rebuild.'
`TAGS'
ÀÌ°ÍÀº ÇÁ·Î±×·¥¿¡ ´ëÇÑ ÅÂ±× Å×À̺íÀ» °»½ÅÇÑ´Ù.
`info'
ÇÊ¿äÇÑ ÀÓÀÇÀÇ Info ÆÄÀϵéÀ» »ý¼ºÇÑ´Ù. ±ÔÄ¢À» ÀÛ¼ºÇÏ´Â °¡Àå ÁÁÀº ¹æ¹ýÀº ´ÙÀ½°ú °°Àº °ÍÀÌ´Ù:
info: foo.info

foo.info: foo.texi chap1.texi chap2.texi
        $(MAKEINFO) $(srcdir)/foo.texi
º¯¼ö MAKEINFO ´Â ¹Ýµå½Ã Makefile ¾È¿¡¼­ Á¤ÀÇÇØ¾ß ÇÑ´Ù. ÀÌ°ÍÀº makeinfo ÇÁ·Î±×·¥À» ½ÇÇàÇØ¾ß Çϸç, ÀÌ°ÍÀº Texinfo ¹èÆ÷ÆÇÀÇ ÀϺÎÀÌ´Ù. ÀϹÝÀûÀ¸·Î GNU ¹èÆ÷ÆÇÀº Info ÆÄÀϵéÀÌ µû¶ó ¿Â´Ù. Áï Info ÆÄÀϵéÀÌ ¼Ò½º µð·ºÅ丮¿¡ Á¸ÀçÇÑ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. ±×·¯¹Ç·Î info ÆÄÀÏÀ» À§ÇÑ Make ±ÔÄ¢Àº ±×°ÍÀ» ¼Ò½º µð·ºÅ丮¿¡¼­ °»½ÅÇØ¾ß ÇÒ °ÍÀÌ´Ù. »ç¿ëÀÚ°¡ ÆÑÅ°Áö¸¦ ºôµåÇÒ ¶§ ÀϹÝÀûÀ¸·Î Make ´Â Info ÆÄÀϵéÀ» °»½ÅÇÏÁö ¾ÊÀ»°ÍÀÌ´Ù. ¿Ö³Ä¸é ±×µéÀÌ ÀÌ¹Ì °»½ÅµÇ¾úÀ» °ÍÀ̱⠶§¹®ÀÌ´Ù.
`dvi'
¸ðµç Texinfo ¹®¼­µé¿¡ ´ëÇؼ­ DVI ÆÄÀϵéÀ» »ý¼ºÇÑ´Ù. ¿¹¸¦ µé¾î¼­:
dvi: foo.dvi

foo.dvi: foo.texi chap1.texi chap2.texi
        $(TEXI2DVI) $(srcdir)/foo.texi
¹Ýµå½Ã Makefile ¾È¿¡ TEXI2DVI º¯¼ö¸¦ Á¤ÀÇÇØ¾ß ÇÑ´Ù. ÀÌ°ÍÀº texi2dvi ¸¦ ¹Ýµå½Ã ½ÇÇàÇØ¾ß ÇÑ´Ù. ÀÌ°ÍÀº Texinfo ¹èÆ÷ÆÇÀÇ ÀϺΠ(texi2dvi´Â TeX ¸¦ »ç¿ëÇؼ­ Æ÷¸äÆÃÀÇ ½ÇÁ¦ ÀÛ¾÷À» ¼öÇàÇÑ´Ù. TeX ´Â Texinfo ¿Í ÇÔ²² ¹èÆ÷µÇÁö ¾Ê´Â´Ù) ÀÌ´Ù. ¶Ç´Â, ´ÜÁö Á¾¼Ó¹°µé¸¸ ½á¼­ GNU make °¡ ±× ¸í·ÉÀ» Á¦°øÇϵµ·Ï ÇÏÀÚ.
`dist'
ÀÌ ÇÁ·Î±×·¥¿¡ ´ëÇÑ ¹èÆ÷ÆÇ tar ÆÄÀÏÀ» »ý¼ºÇÑ´Ù. 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 `Making Releases' in GNU Coding Standards.
`check'
ÀÚü-Å×½ºÆ®(¸¸ÀÏ ÀÖ´Ù¸é)¸¦ ¼öÇàÇÑ´Ù. »ç¿ëÀÚ´Â Å×½ºÆ®¸¦ ¼öÇàÇϱâ Àü¿¡ ¹Ýµå½Ã ÇÁ·Î±×·¥À» ºôµåÇØ¾ß ÇÑ´Ù. ±×·¯³ª ±× ÇÁ·Î±×·¥À» ¼³Ä¡ÇÒ ÇÊ¿ä´Â ¾ø´Ù; ±× ÇÁ·Î±×·¥ÀÌ ºôµåµÇ¾úÁö¸¸ ÀνºÅçµÇÁö ¾Ê¾Ò´õ¶óµµ Àß ÀÛµ¿Çϵµ·Ï ÀÚü-Å×½ºÆ®µéÀ» ÀÛ¼ºÇØ¾ß ÇÑ´Ù.

´ÙÀ½ Ÿ°ÙµéÀº °ü·ÊÀûÀÎ À̸§µé·Î Á¦¾ÈµÈ °ÍÀÌ´Ù.

installcheck
¼³Ä¡ Å×½ºÆ®(¸¸ÀÏ ÀÖ´Ù¸é)¸¦ ¼öÇàÇÑ´Ù. »ç¿ëÀÚ´Â ÀÌ Å×½ºÆ®¸¦ ¼öÇàÇϱâ Àü¿¡ ¹Ýµå½Ã ºôµåÇØ¾ß ÇÏ°í ¼³Ä¡ÇØ¾ß ÇÑ´Ù. `$(bindir)' µð·ºÅ丮°¡ °Ë»ö °æ·Î¿¡ ÀÖÀ» °ÍÀ̶ó°í °¡Á¤Çؼ­´Â ¾ÈµÈ´Ù.
installdirs
ÆÄÀϵéÀÌ ¼³Ä¡µÇ´Â µð·ºÅ丮µé°ú ±×µéÀÇ ºÎ¸ð µð·ºÅ丮µéÀ» »ý¼ºÇϱâ À§ÇÑ `installdirs' ¶ó´Â À̸§ÀÇ Å¸°ÙÀ» Ãß°¡ÇÏ´Â °ÍÀÌ À¯¿ëÇÏ´Ù. ÀÌ·± °Í¿¡ Æí¸®ÇÑ `mkinstalldirs' ¶ó°í ºÒ¸®´Â ½ºÅ©¸³Æ®°¡ Á¸ÀçÇÑ´Ù; ÀÌ°ÍÀº Texinfo ÆÑÅ°Áö¿¡¼­ ãÀ» ¼ö ÀÖ´Ù. ¿©·¯ºÐÀº ´ÙÀ½°ú °°Àº ±ÔÄ¢À» »ç¿ëÇÒ ¼ö ÀÖ´Ù:
# Make sure all installation directories (e.g. $(bindir))
# actually exist by making them if necessary.
installdirs: mkinstalldirs
        $(srcdir)/mkinstalldirs $(bindir) $(datadir) \
                                $(libdir) $(infodir) \
                                $(mandir)
ÀÌ ±ÔÄ¢Àº ÄÄÆÄÀÏÀÌ ¼öÇàµÈ µð·ºÅ丮µéÀ» º¯°æÇؼ­´Â ¾ÈµÈ´Ù. ÀÌ°ÍÀº ¼³Ä¡ µð·ºÅ丮µéÀ» »ý¼ºÇÏ´Â Àϸ¸ ÇØ¾ß ÇÑ´Ù.

¼³Ä¡ ¸í·É ¹üÁÖ(Install Command Categories)

install Ÿ°ÙÀ» ÀÛ¼ºÇÒ ¶§, ¸ðµç ¸í·ÉµéÀ» ´ÙÀ½°ú °°Àº ¼¼°¡Áö ¹üÁÖ·Î ºÐ·ùÇØ¾ß ÇÑ´Ù: Á¤±ÔÀûÀÎ °Í, ¼³Ä¡-ÀÌÀü(pre-installation) ¸í·É¾îµé, ±×¸®°í ¼³Ä¡-ÀÌÈÄ(post-installation) ¸í·É¾îµé.

Á¤±Ô ¸í·É¾îµéÀº ÆÄÀϵéÀ» ±×µéÀÇ ÀûÀýÇÑ À§Ä¡¿¡ ¿Å±â°í, ±×µéÀÇ ¸ðµå¸¦ ¼³Á¤ÇÑ´Ù. ±×µéÀº À̵éÀÌ ¼ÓÇÑ ÆÑÅ°Áö·ÎºÎÅÍ ÀüüÀûÀ¸·Î ¿À´Â °ÍµéÀ» Á¦¿ÜÇÏ°í´Â ¾î¶² ÆÄÀϵ鵵 º¯°æÇÏÁö ¾Ê´Â´Ù.

¼³Ä¡-ÀÌÀü°ú ¼³Ä¡-ÀÌÈÄ ¸í·ÉµéÀº ´Ù¸¥ ÆÄÀϵéÀ» º¯°æÇÒ ¼öµµ ÀÖ´Ù; Ưº°È÷ ±×µéÀº ±Û·Î¹ú ¼³Á¤ ÆÄÀϵéÀ̳ª µ¥ÀÌÅÍ º£À̽ºµéÀ» ÆíÁýÇÒ ¼ö ÀÖ´Ù.

¼³Ä¡-ÀÌÀü ¸í·É¾îµéÀº ÀüÇüÀûÀ¸·Î Á¤±Ô ¸í·Éµé ÀÌÀü¿¡ ½ÇÇàµÇ°í, ¼³Ä¡-ÀÌÈÄ ¸í·É¾îµéÀº ÀüÇüÀûÀ¸·Î Á¤±Ô ¸í·É¾îµé ÀÌÈÄ¿¡ ½ÇÇàµÈ´Ù.

¼³Ä¡-ÈÄ ¸í·É¿¡ ´ëÇÑ ´ëºÎºÐÀÇ ÀϹÝÀûÀÎ »ç¿ëÀº install-info ¸¦ ½ÇÇàÇÏ´Â °ÍÀÌ´Ù. ÀÌ°ÍÀº ÀϹÝÀûÀÎ ¸í·ÉÀ¸·Î ½ÇÇàµÉ ¼ö ¾ø´Ù. ¿Ö³Ä¸é ÀÌ°ÍÀº ¼³Ä¡ÁßÀÎ ÆÑÅ°Áö·ÎºÎÅÍ ¿ÏÀüÈ÷ ±×¸®°í ÀÌ°ÍÀ¸·ÎºÎÅ͸¸ ¿Â °ÍÀÌ ¾Æ´Ñ ÆÄÀÏ(Info µð·ºÅ丮)À» º¯°æÇϱ⠶§¹®ÀÌ´Ù. ÆÑÅ°ÁöÀÇ Info ÆÄÀϵéÀ» ¼³Ä¡ÇÏ´Â ÀÏ¹Ý ¸í·É µÚ¿¡ ¼öÇàµÇ¾î¾ß Çϱ⠶§¹®¿¡ ÀÌ°ÍÀº ¼³Ä¡-ÀÌÈÄ ¸í·ÉÀÌ´Ù.

´ëºÎºÐÀÇ ÇÁ·Î±×·¥µéÀº ¾î¶² ¼³Ä¡-ÀÌÀü ¸í·ÉµéÀ» ÇÊ¿ä·ÎÇÏÁö ¾Ê´Â´Ù. ±×·¯³ª ÇÊ¿äÇÒ ¶§¸¦ ´ëºñÇؼ­ ±× ±â´ÉÀ» °¡Áö°í ÀÖ´Ù.

install ±ÔÄ¢¿¡ ÀÖ´Â ¸í·ÉµéÀ» ÀÌ·± ¼¼°¡Áö ¹üÁÖµé·Î ±¸ºÐÇϱâ À§Çؼ­ ±×µé »çÀÌ¿¡ ¹üÁÖ ¶óÀÎ(category lines) ¸¦ »ðÀÔÇÏÀÚ. ¹üÁÖ ¶óÀÎÀº ±× µÚ¿¡ ¿À´Â ¸í·Éµé¿¡ ´ëÇÑ ¹üÁÖ¸¦ ÁöÁ¤ÇÑ´Ù.

¹üÁÖ ¶óÀÎÀº ÇϳªÀÇ ÅÇ°ú ƯÁ¤ Make º¯¼ö¿¡ ´ëÇÑ ÂüÁ¶, ±×¸®°í ¸¶Áö¸·¿¡ ¿É¼ÇÀÎ ÁÖ¼®À¸·Î ÀÌ·ç¾îÁ® ÀÖ´Ù. »ç¿ëÇÒ ¼ö ÀÖ´Â º¯¼öµéÀº ¼¼°³ ÀÖÀ¸¸ç ÀÌµé °¢°¢Àº °¢ ¹üÁÖ¸¦ À§ÇÑ °ÍÀÌ´Ù; º¯¼ö À̸§ÀÌ ¹üÁÖ¸¦ ÁöÁ¤ÇÑ´Ù. ¹üÁÖ ¶óÀεéÀº ÀϹÝÀûÀÎ ½ÇÇà¿¡¼­´Â ¾Æ¹«·± ÀÛµ¿µµ ÇÏÁö ¾Ê´Â´Ù. ¿Ö³Ä¸é ÀÌ·± ¼¼ Make º¯¼öµéÀº ÀϹÝÀûÀ¸·Î Á¤ÀǵÇÁö ¾Ê±â ¶§¹®ÀÌ´Ù(±×¸®°í ¿©·¯ºÐÀº ±×°ÍµéÀ» makefile ¾È¿¡¼­ Á¤ÀÇÇؼ­´Â ¾ÈµÈ´Ù).

´ÙÀ½Àº °¡´ÉÇÑ ¼¼°¡Áö ¹üÁÖ ¶óÀεéÀ̸ç ÀÌµé °¢°¢Àº ±×°ÍÀÌ ÀǹÌÇÏ´Â ¹Ù¸¦ ¼³¸íÇÏ´Â ÁÖ¼®À» ´Þ°í ÀÖ´Ù:

        $(PRE_INSTALL)     # Pre-install commands follow.
        $(POST_INSTALL)    # Post-install commands follow.
        $(NORMAL_INSTALL)  # Normal commands follow.

install ±ÔÄ¢ÀÇ Ã³À½¿¡ ¹üÁÖ ¶óÀÎÀ» ¾²Áö ¾Ê´Â´Ù¸é ¸ðµç ¸í·ÉµéÀº ù¹ø° ¹üÁÖ ¶óÀÎ ÀÌÀü±îÁö ÀϹÝÀ¸·Î ±¸ºÐµÈ´Ù. ¹üÁÖ ¶óÀεéÀ» ÀüÇô »ç¿ëÇÏÁö ¾Ê´Â´Ù¸é ¸ðµç ¸í·ÉµéÀÌ ÀϹÝÀ¸·Î ±¸ºÐµÈ´Ù.

´ÙÀ½ÀÌ uninstall ¿¡ ´ëÇÑ ¹üÁÖ ¶óÀεéÀÌ´Ù:

        $(PRE_UNINSTALL)     # Pre-uninstall commands follow.
        $(POST_UNINSTALL)    # Post-uninstall commands follow.
        $(NORMAL_UNINSTALL)  # Normal commands follow.

ÀüÇüÀûÀ¸·Î ¼³Ä¡-ÀÌÀü ¸í·ÉÀº Info µð·ºÅ丮·ÎºÎÅÍ Ç׸ñµéÀ» Áö¿ì´Â ÀÏÀ» ÇÏ´Â µ¥ »ç¿ëµÈ´Ù.

install ¶Ç´Â 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.