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.