ÀÌ Àå¿¡¼´Â 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
ÀÇ ±âº» °ªÀº `/usr/local' À̾î¾ß ÇÑ´Ù. ¿ÏÀüÇÑ GNU
½Ã½ºÅÛÀ» ¸¸µå´Â °æ¿ì, ÀÌ Á¢µÎ¾î´Â ºñ¾î Àְųª `/usr'°¡ `/'ÀÇ
½Éº¼¸¯ ¸µÅ©ÀÏ °ÍÀÌ´Ù. (Autoconf¸¦ »ç¿ëÇÑ´Ù¸é, ÀÌ °ªÀ»
`@prefix@'·Î ÇÑ´Ù.)
exec_prefix
ÀÇ ±âº»°ªÀº $(prefix)
À̾î¾ß ÇÑ´Ù. (Autoconf¸¦
»ç¿ëÇÑ´Ù¸é, ÀÌ °ªÀ» `@exec_prefix@'·Î ÇÑ´Ù.)
ÀϹÝÀûÀ¸·Î, $(exec_prefix)
´Â (½ÇÇà ÆÄÀÏÀ̳ª ¼ºê·çƾ ¶óÀ̺귯¸®¿Í
°°Àº) ±â°è-ÀÇÁ¸ÀûÀÎ ÆÄÀϵéÀ» ´ã°í ÀÖ´Â µð·ºÅ丮¿¡¼ »ç¿ëµÈ´Ù. ¹Ý¸é
$(prefix)
´Â ±× ¿ÜÀÇ µð·ºÅ丮¿¡¼ »ç¿ëµÈ´Ù.
½ÇÇà °¡´ÉÇÑ ÇÁ·Î±×·¥Àº ´ÙÀ½ µð·ºÅ丮ÁßÀÇ Çϳª¿¡ ¼³Ä¡µÈ´Ù.
ÇÁ·Î±×·¥ ½ÇÇà Áß¿¡ »ç¿ëÇÏ´Â µ¥ÀÌŸ ÆÄÀÏÀº Å©°Ô µÎ°¡Áö ¹æ¹ýÀ¸·Î ±¸ºÐÇÒ ¼ö ÀÖ´Ù.
ÀÌ·¸°Ô ¿©¼¸ °¡ÁöÀÇ °¡´É¼ºÀÌ »ý±ä´Ù. ÇÏÁö¸¸, ¿ÀºêÁ§Æ® ÆÄÀÏ°ú ¶óÀ̺귯¸®¸¦ Á¦¿ÜÇÑ ¾ÆÅ°ÅØÃÄ¿¡ ÀÇÁ¸ÇÏ´Â ÆÄÀϵéÀº »ç¿ëÇÏÁö ¸»¶ó°í ±ÇÇÏ°í ½Í´Ù. ±× ¿Ü µ¥ÀÌŸ ÆÄÀϵéÀº ¾ÆÅ°ÅØÃÄ¿¡ »ó°ü¾øÀÌ ¸¸µå´Â ÆíÀÌ ÈξÀ ±ú±ßÇÏ°í, ÀÌ°Ç ´ëºÎºÐ ¾î·Á¿î ÀÛ¾÷ÀÌ ¾Æ´Ï´Ù.
±×·¯¹Ç·Î, ´ÙÀ½ÀÌ ¸ÞÀÌÅ©ÆÄÀÏ¿¡¼ µð·ºÅ丮¸¦ ÁöÁ¤ÇÏ´Â º¯¼öÀÌ´Ù:
libdir
ÀÇ °ªÀº º¸Åë
`/usr/local/lib'ÀÌÁö¸¸, `$(exec_prefix)/lib'¶ó°í ¾´´Ù.
(Autoconf¸¦ »ç¿ëÇÑ´Ù¸é, `@libdir@'¶ó°í ¾´´Ù.)
lispdir='${datadir}/emacs/site-lisp' AC_SUBST(lispdir)
includedir
ÀÌ°í, ¶Ç
Çϳª´Â oldincludedir
ÀÌ´Ù.
oldincludedir
ÀÇ °ªÀÌ ¾ø´ÂÁö ÀÖ´ÂÁö °Ë»çÇؾß
ÇÑ´Ù. ±× °ªÀÌ ¾ø´Ù¸é, ÀÌ °ªÀ» »ç¿ëÇÏÁö ¾Ê´Â´Ù; Çì´õ ÆÄÀÏÀ» ¿©±â¿¡
¼³Ä¡ÇÏÁö ¸»¾Æ¾ß ÇÑ´Ù.
ÆÐÅ°Áö´Â °°Àº ÆÐÅ°Áö¿¡¼ ³ª¿Â Çì´õ ÆÄÀÏÀÌ ¾Æ´Ñ ÇÑ ÀÌ µð·ºÅ丮¿¡ À̹Ì
Á¸ÀçÇÏ´Â Çì´õ ÆÄÀÏÀ» µ¤¾î ¾º¿ì¸é ¾È µÈ´Ù. Áï, Foo¶ó´Â ÆÐÅ°Áö°¡
`foo.h'¶ó´Â Çì´õ ÆÄÀÏÀ» »ç¿ëÇÑ´Ù¸é, (1) `foo.h'°¡
oldincludedir
µð·ºÅ丮¿¡ ¾ø°Å³ª (2) ÀÌ µð·ºÅ丮¿¡ ÀÖ´Â
`foo.h'°¡ Foo ÆÐÅ°Áö¿¡¼ ³ª¿Â °ÍÀÏ ¶§ ÀÌ Çì´õ ÆÄÀÏÀ»
oldincludedir
¿¡ ¼³Ä¡ÇÑ´Ù.
`foo.h'°¡ Foo ÆÐÅ°Áö¿¡¼ ³ª¿Â ÆÄÀÏÀÎÁö ¾Æ´ÑÁö ¾Ë·Á¸é, ±× ÆÄÀÏÀ»
ÆǺ°ÇÒ ¼ö ÀÖ´Â ¹®ÀÚ¿À» `foo.h'¿¡ (ÁÖ¼®À¸·Î) ³Ö°í, ±× ¹®ÀÚ¿À»
grep
ÇÑ´Ù.
À¯´Ð½º ½ºÅ¸ÀÏÀÇ ¸Ç ÆäÀÌÁö´Â ´ÙÀ½Áß Çϳª¿¡ ¼³Ä¡µÈ´Ù:
¸¶Áö¸·À¸·Î, ´ÙÀ½ º¯¼ö °ªÀ» °áÁ¤ÇØ¾ß ÇÑ´Ù:
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¿¡ ´ÙÀ½ Ÿ°ÙÀ» °¡Áö°í ÀÖ¾î¾ß ÇÑ´Ù:
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 ¼³Ä¡ ¸í·É¾î ±¸ºÐ.
install
°ú °°Áö¸¸, ½ÇÇà ÆÄÀÏÀ» ¼³Ä¡ÇÒ ¶§ µð¹ö±ë ½Éº¼À» ¾ø¾Ø´Ù.
´ëºÎºÐÀÇ °æ¿ì¿¡, ÀÌ Å¸°ÙÀÇ Á¤ÀÇ´Â ¸Å¿ì °£´ÜÇÏ´Ù:
install-strip: $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' \ installÇÁ·Î±×·¥¿¡ ¹ö±×°¡ ¾ø´Ù´Â °É È®½ÅÇÏÁö ¾Ê´Â ÇÑ, ½ÇÇà ÆÄÀÏÀÇ µð¹ö±ë ½Éº¼À» ¾ø¾ÖÁö ¾Ê±â¸¦ ±ÇÇÑ´Ù. ÇÏÁö¸¸, ¹ö±×°¡ ÀÖÀ» °æ¿ì¿¡µµ µð¹ö±ë ½Éº¼À» ¾ø¾Ø ½ÇÇà ÆÄÀÏÀ» ¼³Ä¡ÇÏ°í, µð¹ö±ë ½Éº¼ÀÌ ÀÖ´Â ½ÇÇà ÆÄÀÏÀ» ´Ù¸¥ °÷¿¡ ÀúÀåÇØ µÎ´Â °Íµµ Á¶¸®¿¡ ¸Â´Ù.
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.'
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: foo.dvi foo.dvi: foo.texi chap1.texi chap2.texi $(TEXI2DVI) $(srcdir)/foo.texi¸ÞÀÌÅ©ÆÄÀÏ¿¡
TEXI2DVI
º¯¼ö¸¦ Á¤ÀÇÇØ¾ß ÇÑ´Ù. ÀÌ ·êÀº Texinfo
¹èÆ÷º»ÀÇ ÀϺÎÀÎ texi2dvi
ÇÁ·Î±×·¥À» ½ÇÇàÇؾß
ÇÑ´Ù.(3) ¶Ç ´Ù¸¥ ¹æ¹ýÀº,
ÀÇÁ¸¼º¸¸ ÀÛ¼ºÇÏ°í, GNU make
¿¡¼ ¸í·É¾î¸¦ Á¦°øÇϵµ·Ï ÇÏ´Â °ÍÀÌ´Ù.
ln
À̳ª cp
·Î Áý¾î ³Ö°í, ±× ¼ºê µð·ºÅ丮¿¡
tar
¸¦ ½ÇÇàÇÏ´Â °ÍÀÌ´Ù.
tar ÆÄÀÏÀ» gzip
À¸·Î ¾ÐÃàÇÑ´Ù. ¿¹¸¦ µé¾î, GCC ¹öÀü 1.40ÀÇ ½ÇÁ¦
¹èÆ÷ ÆÄÀÏÀº `gcc-1.40.tar.gz'ÀÌ´Ù.
dist
Ÿ°ÙÀº ¹èÆ÷º»¿¡ µé¾îÀÖ´Â ¸ðµç ¼Ò½º°¡ ¾Æ´Ñ ÆÄÀϵ鿡 ÀÇÁ¸Çؾß
ÇÑ´Ù. ÀÌ·¸°Ô ÇÏ¸é ¿ÏÀüÈ÷ ¾÷µ¥ÀÌÆ®µÈ »óŶó´Â °É º¸ÀåÇÑ´Ù.
See section `¹ßÇ¥Çϱâ' in GNU ÄÚµù Ç¥ÁØ.
´ÙÀ½ Ÿ°ÙÀº ÀÌ·± Ÿ°ÙÀÌ ÇÊ¿äÇÑ ÇÁ·Î±×·¥ÀÇ °æ¿ì¿¡ »ç¿ëÇϱ⸦ ±ÇÇÏ´Â, °ü½ÀÀûÀΠŸ°Ù À̸§ÀÌ´Ù.
installcheck
installdirs
# ¸ðµç ¼³Ä¡ µð·ºÅ丮¿¡ ´ëÇؼ (¿¹: $(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.