make
ÀÇ ±â´É
´ÙÀ½Àº ´Ù¸¥ ¹öÀüÀÇ ºñ±³¸¦ À§Çؼ, ±×¸®°í °¨»ç¸¦ µå¸®±â À§Çؼ,
GNU make
ÀÇ ±â´É ¿ä¾àÀÌ´Ù. ¿ì¸®´Â 4.2 BSD ½Ã½ºÅ۵鿡
ÀÖ´Â make
ÀÇ ±â´ÉµéÀ» º£À̽º¶óÀÎÀ¸·Î »ý°¢ÇÑ´Ù. Æ÷ÅͺíÇÑ makefileÀ»
ÀÛ¼ºÇÏ´Â °Í¿¡ °ü½ÉÀÌ ÀÖ´Ù¸é ¿©·¯ºÐÀº section ºñȣȯ¼º°ú ºüÁø ±â´Éµé(Incompatibilities and Missing Features)¿¡¼ ¶Ç´Â ¿©±â¿¡¼
³ª¿ÀÁö ¾ÊÀº make
ÀÇ ±â´Éµé¸¸ »ç¿ëÇØ¾ß ÇÑ´Ù.
¸¹Àº ±â´ÉµéÀÌ make
System V ¹öÀüÀ¸·ÎºÎÅÍ ¿Â °ÍÀÌ´Ù.
VPATH
º¯¼ö¿Í ÀÌ°ÍÀÇ Æ¯¼öÇÑ ÀǹÌ.
See section Á¾¼Ó¹°À» À§ÇÑ µð·ºÅ丮 °Ë»ö(Searching Directories for Dependencies).
ÀÌ ±â´ÉÀº System V make
¿¡ Á¸ÀçÇÏÁö¸¸ ¹®¼ÈµÇÁö ¾Ê¾Ò´Ù. ÀÌ°ÍÀº
4.3 BSD make
¿¡ ¹®¼ÈµÇ¾ú´Ù (ÀÌ°ÍÀº System V ÀÇ VPATH
±â´ÉÀ» Èä³»³½ °ÍÀ̶ó°í ¸»ÇÏ°í ÀÖ´Ù).
make
È£Ãâµé¿¡ ´ëÇؼ, MAKEFLAGS
º¯¼ö¸¦ ÅëÇØ
¿É¼ÇµéÀÌ Àü´ÞµÈ´Ù.
See section ¼ºê-make
¿¡ ´ëÇÑ Åë½Å ¿É¼Ç(Communicating Options to a Sub-make
).
$%
°¡ ¾ÆÄ«À̺ê ÂüÁ¶¿¡¼ ¸â¹ö À̸§À¸·Î ¼³Á¤µÈ´Ù.
See section ÀÚµ¿ º¯¼öµé(Automatic Variables).
$@
, $*
, $<
, $%
, ±×¸®°í
$?
°¡ $(@F)
¿Í $(@D)
°ú °°Àº ´ëÀÀµÇ´Â ÇüÀ»
°¡Áø´Ù. ÀÌ°ÍÀ» ¸í¹éÇÑ È®ÀåÀ¸·Î½á $^
·Î ÀϹÝÈÇÏ¿´´Ù.
See section ÀÚµ¿ º¯¼öµé(Automatic Variables).
make
¿¡¼ ÀÌ ¿É¼ÇµéÀº ½ÇÁ¦·Î ¹«¾ð°¡¸¦ ÇÏ´Â
°ÍµéÀÌ´Ù.
MAKE
º¯¼ö¸¦ ÅëÇؼ make
¸¦ ½ÇÇàÇÏ´Â Àç±ÍÀû ¸í·ÉµéÀÇ
½ÇÇà. See section make
ÀÇ Àç±ÍÀû »ç¿ë(Recursive Use of make
).
make
¿¡¼ »çÀåµÈ °ÍÀÌ´Ù. ¿Ö³Ä¸é ±ÔÄ¢
¿¬¼â (see section ¹¬½ÃÀû ±ÔÄ¢ÀÇ ¿¬¼â(Chains of Implicit Rules)) ÀÇ ÀϹÝÀûÀÎ
±â´ÉÀÌ ÇÑ ¾ÆÄ«À̺꿡 ÀÖ´Â ¸â¹öµéÀ» ¼³Ä¡Çϱâ À§Çؼ ÇÑ ÆÐÅÏ ±ÔÄ¢ÀÌ
ÃæºÐÇϵµ·Ï Çã¿ëÇϱ⠶§¹®ÀÌ´Ù (see section ¾ÆÄ«ÀÌºê ¸â¹ö Ÿ°Ùµé¿¡ ´ëÇÑ ¹¬½ÃÀû ±ÔÄ¢(Implicit Rule for Archive Member Targets)).
´ÙÀ½ ±â´ÉµéÀº ´Ù¸¥ ¹öÀüµéÀÇ make
·ÎºÎÅÍ µµÀÔµÈ °ÍÀÌ´Ù. ¾î¶²
°æ¿ì ¾î¶² ¹öÀüµéÀÌ ´Ù¸¥ °Í¿¡ ¿µ°¨À» ÁØ °ÍÀÎÁö Á¤È®ÇÏÁö ¾Ê´Ù.
make
ÀÇ ¹öÀüµé¿¡¼ ±¸ÇöµÈ ¹Ù ÀÖ´Ù. ÀÌ°ÍÀ» ¸ÇóÀ½
°í¾ÈÇÑ »ç¶÷ÀÌ ´©±¸ÀÎÁö ¸ð¸¥´Ù. ±×·¯³ª ÀÌ°ÍÀº ´Ù¼Ò ³Î¸® ÆÛÁø °ÍÀÌ´Ù.
See section ÆÐÅÏ ±ÔÄ¢À» Á¤ÀÇÇÏ°í ÀçÁ¤Çϱâ(Defining and Redefining Pattern Rules).
make
¹öÀü¿¡¼
±¸ÇöµÇ¾ú´ø °ÍÀÌ´Ù. ±×¸®°í ³ªÁß¿¡ AT&T º§ ¿¬±¸¼ÒÀÇ ¾Øµå·ù Èâ(Andrew
Hume)¿¡ ÀÇÇؼ ±×ÀÇ mk
ÇÁ·Î±×·¥¿¡¼ (¿©±â¼ ±×´Â ÀÌ°ÍÀ» "ÀüÀÌ
´ÝÈû(transitive closure)" ¶ó°í ºÒ·¶´Ù) ±¸ÇöµÇ¾ú´ø °ÍÀÌ´Ù. ½ÇÁ¦ À̵é
Áß ¾î¶² °ÍÀ¸·ÎºÎÅÍ ÀÌ°ÍÀ» ¾ò¾ú´ÂÁö ¸ð¸£°Å³ª ÀÌ°ÍÀÌ µ¿ÀÏÇÑ ½ÃÁ¡¿¡
¿ì¸®µµ ±×°ÍÀ» °¡Áö°í ÀÖ¾ú´Ù°í »ý°¢ÇÑ´Ù(thought it up ourselves at the
same time). See section ¹¬½ÃÀû ±ÔÄ¢ÀÇ ¿¬¼â(Chains of Implicit Rules).
$^
. ¿ì¸®´Â ÀÌ°ÍÀ» ¹ß¸íÇÏÁö ¾Ê¾Ò´Ù. ±×·¯³ª ´©°¡ ¹ß¸íÇÑ °ÍÀÎÁöµµ
¸ð¸¥´Ù. See section ÀÚµ¿ º¯¼öµé(Automatic Variables). ÀÚµ¿ º¯¼ö $+
´Â
$^
ÀÇ ´Ü¼øÇÑ È®ÀåÀÌ´Ù.
make
¿¡¼´Â `-W') ´Â (¿ì¸®°¡ ¾Æ´Â
ÇÑ) ¾Øµå·ù ÈâÀÇ mk
¿¡¼ °í¾ÈµÇ¾ú´Ù.
See section ¸í·É ½ÇÇà ´ë½Å¿¡...(Instead of Executing the Commands).
make
°ú ºñ½ÁÇÑ
ÇÁ·Î±×·¥µéÀÇ ±¸Çö¿¡ Á¸ÀçÇÑ´Ù. ºñ·Ï ÀÌ°ÍÀÌ System V ³ª BSD ±¸Çöµé¿¡¼´Â
¾øÁö¸¸. See section ¸í·É ½ÇÇà(Command Execution).
make
¿¡¼ patsubst
ÇÔ¼ö¿¡ ÀÇÇؼ, ´ë¾È ¹®¹ýÀÌ
SunOS 4 ¿ÍÀÇ È£È¯¼ºÀ» À§Çؼ ±¸ÇöµÇ±âÀü¿¡, Á¦°øµÇ¾ú´Ù. ´©°¡ ´©±¸¿¡°Ô
°í¹«Çß´ÂÁö ÀüÇô ºÐ¸íÇÏÁö ¾Ê´Ù. ¿Ö³Ä¸é GNU make
´Â SunOS 4 °¡
¸±¸®ÁîµÇ±â Àü¿¡ patsubst
¸¦ °®°í ÀÖ¾ú±â ¶§¹®ÀÌ´Ù.
make
·ÎºÎÅÍ
¿Â °ÍÀÌ´Ù. See section º¯¼ö¿¡ ÅؽºÆ®¸¦ µ¡ºÙÀ̱â(Appending More Text to Variables).
make
·ÎºÎÅÍ ¿Â °ÍÀÌ´Ù. See section Ÿ°ÙÀ¸·Î½á ¾ÆÄ«ÀÌºê ¸â¹ö(Archive Members as Targets0.
-include
Áö½Ã¾î´Â SunOS 4 make
·ÎºÎÅÍ ¿Â °ÍÀÌ´Ù. (±×·¯³ª
SunOS 4 make
´Â ´ÜÀÏ -include
Áö½Ã¾î·Î ´Ù¼öÀÇ makefile
µéÀÌ ÁöÁ¤µÇ´Â °ÍÀ» Çã¿ëÇÏÁö ¾Ê´Â´Ù.) µ¿ÀÏÇÑ ±â´ÉÀÌ SGI make
¿¡
ÀÖ´Â sinclude
¶ó´Â À̸§ÀÇ °ÍÀ¸·Î ÀÖ´Ù. ¾Æ¸¶ ´Ù¸¥ make
µéµµ ÀÖÀ» °ÍÀÌ´Ù.
´ÙÀ½ ±â´ÉµéÀº GNU make
¿¡¼ »õ·Î ¹ß¸íµÈ °ÍµéÀÌ´Ù:
make
ÀÇ ¿É¼ÇµéÀ» ¿ä¾àÇÑ `-h' ³ª `--help' ¿É¼ÇÀ» »ç¿ëÇÑ´Ù.
make
È£Ãâ¿¡°Ô º¯¼ö MAKE
¸¦ ÅëÇؼ Àü´ÞÇÑ´Ù.
See section make
ÀÇ Àç±ÍÀû »ç¿ë(Recursive Use of make
).
define
·Î verbatim º¯¼ö Á¤ÀǸ¦ ¸¸µç´Ù.
See section Ãà¾î º¯¼ö Á¤ÀÇ(Defining Variables Verbatim).
.PHONY
¸¦ °¡Áö°í Æ÷´Ï Ÿ°ÙµéÀ» ¼±¾ðÇÑ´Ù.
AT&T Bell Labs ÀÇ ¾Øµå·ù Èâ(Andrew Hume)ÀÌ mk
ÇÁ·Î±×·¥¾È¿¡ ´Ù¸¥
¹®¹ýÀ¸·Î ºñ½ÁÇÑ ±â´ÉÀ» ±¸ÇöÇÏ¿´´Ù. ÀÌ°ÍÀº µ¿½Ã ¹ß°ß(parallel
discovery) ÀÇ °æ¿ìÀÎ °Íó·³ ºÎÀδÙ. See section °¡Â¥ ¸ñÀû¹°(Phony Targets).
make
¹öÀüµé¿¡¼ ¿©·¯¹ø ±¸ÇöµÇ¾î¿Ô´Ù; ÀÌ°ÍÀº C
¼±Çà󸮱â¿Í ºñ½ÁÇÑ ¸ÅÅ©·Î ¾ð¾îµéÀÇ ±â´ÉÀ¸·ÎºÎÅÍ À¯µµµÈ ÀÚ¿¬½º·¯¿î
È®ÀåÀ¸·Î º¸À̸ç Çõ½ÅÀûÀÎ °³³äÀº ¾Æ´Ï´Ù. See section MakefileÀÇ Á¶°Ç ºÎºÐ(Conditional Parts of Makefiles).
MAKEFILES
º¯¼ö(The Variable MAKEFILES
).
make
¹öÀüµé¿¡ ÀÖ¾î¼ ±×µéÀº ¹Ýµå½Ã `.' ·Î ½ÃÀÛÇÏ°í `/' ¹®ÀÚµéÀ»
´ã°í À־ ¾ÈµÈ´Ù.
MAKELEVEL
º¯¼ö¸¦ »ç¿ëÇؼ make
Àç±ÍÀÇ ÇöÀç ±íÀ̸¦
ÃßÀûÇÑ´Ù. See section make
ÀÇ Àç±ÍÀû »ç¿ë(Recursive Use of make
).
MAKECMDGOALS
·Î, ¸í·ÉÇà¿¡¼ ÁÖ¾îÁø ÀÓÀÇÀÇ ¸ñÇ¥(goal)µéÀ»
Á¦°øÇÑ´Ù. See section goalÀ» ÁöÁ¤ÇÏ´Â ¸Å°³º¯¼ö(Arguments to Specify the Goals).
vpath
°Ë»öÀ» Á¦°ø.
See section Á¾¼Ó¹°À» À§ÇÑ µð·ºÅ丮 °Ë»ö(Searching Directories for Dependencies).
make
´Â ÀÌ·± ±â´É¿¡ ´ëÇؼ ¾ÆÁÖ Á¦ÇѵÈ
ÇüŸ¦ °¡Áö°í ÀÖ´Ù. ÀÌ°Í¿¡¼´Â make
°¡ makefileµé¿¡ ´ëÇؼ SCCS
ÆÄÀϵéÀ» üũ¾Æ¿ôÇÒ °ÍÀÌ´Ù.
make
ÀÇ ¹öÀü ³Ñ¹ö¸¦ Á¦°øÇÑ´Ù.
Go to the first, previous, next, last section, table of contents.