make¸¦ ¼öÇàÇÏ°Ô µÇ¸é ÀÌ»óÇÑ ¿¡·¯¿¡ ´çȲÀ» ÇÏ°Ô µÇ´Â °æ¿ì°¡ ¸¹¾Æ, µµ´ëü ¾îµð°¡ Ʋ·È´ÂÁö °¨À» ¸øÀâ´Â °æ¿ì°¡ Çã´ÙÇÏ´Ù. ±×·±µ¥ make ¸Å´º¾ó¿¡µµ ¿¡·¯¿¡ ´ëÇÑ Á¾·ù¿Í ±× ´ëó ¹æ¾È¿¡ ´ëÇؼ´Â °ÅÀÇ ¾ð±ÞÀÌ ¾ø´Â °ü°è·Î ÀÌ ºÎºÐÀº ÇÊÀÚÀÇ °æÇè¿¡ ÀÇ°ÅÇؼ ÀÛ¼ºÇÑ´Ù. (¿¡·¯ÀÇ ¿øÀÎ, ´ëó ¹æ¾ÈÀÌ ¸ðµÎ ´Ù Ʋ·ÈÀ» ¼öµµ ÀÖ´Ù´Â °ÍÀ» ¿°µÎ¿¡ µÎ±â ¹Ù¶ø´Ï´Ù.)
Makefile:17: *** missing separator. Stop.
Makefile
À» ÀÛ¼ºÇÒ ¶§ ¸í·É¾î(command)ºÎºÐÀº ¸ðµÎ TAB ¹®ÀÚ·Î
½ÃÀÛÇØ¾ß ÇÑ´Ù°í ù ¹ø° ÀåºÎÅÍ °Á¶ÇÏ¿´´Ù. À§ÀÇ ¿¡·¯´Â TAB
¹®ÀÚ¸¦ ¾²Áö ¾Ê¾Ò±â ¶§¹®¿¡ make°¡ ¸í·É¾îÀÎÁö ¾Æ´ÑÁö¸¦ ±¸º° ¸øÇÏ´Â
°æ¿ìÀÌ´Ù.
´ëó: 17¹ø° ÁÙ(±Ùó)¿¡¼ ¸í·É¾î°¡ TAB ¹®ÀÚ·Î ½ÃÀÛÇÏ°Ô ¹Ù²Û´Ù.
make: *** No rule to make target `io.h', needed by `read.o'.
Stop.
À§ÀÇ ¿¡·¯´Â ÀÇÁ¸ °ü°è¿¡¼ ¹®Á¦°¡ ¹ß»ýÇ߱⠶§¹®ÀÌ´Ù. Áï read.c°¡ io.h¿¡ ÀÇÁ¸ÇÑ´Ù°í Á¤ÀǵǾî Àִµ¥, io.h¸¦ ãÀ» ¼ö ¾ø´Ù´Â ¿¡·¯ÀÌ´Ù.
´ëó: ÀÇÁ¸ °ü°è¿¡¼ Á¤ÀÇµÈ io.h°¡ ½ÇÁ¦·Î Á¸ÀçÇÏ´ÂÁö Á¶»çÇØ º»´Ù. ¾ø´Ù¸é ±× ÀÌÀ¯¸¦ Çѹø »ý°¢ÇØ º»´Ù. make dep¸¦ ´Ù½Ã ½ÇÇà½ÃÄѼ ÀÇÁ¸ °ü°è¸¦ ´Ù½Ã »ý¼º½ÃÄÑ ÁÖ´Â °Íµµ ÇϳªÀÇ ¹æ¹ýÀÌ´Ù.
Makefile:10: *** commands commence before first target. Stop.
À§ÀÇ ¿¡·¯´Â 'ù ¹ø° Ÿ°ÙÀÌ ³ª¿À±â Àü¿¡ ¸í·É¾î°¡ ½ÃÀ۵Ǿú´Ù'´Â ¾Ö¸ÅÇÑ ¿¡·¯ ¸Þ½ÃÁöÀÌ´Ù. ÇÊÀÚ°¡ °æÇèÇÑ ÀÌ ¿¡·¯ÀÇ ¿øÀÎÀº ÁÖ·Î ±ä ¹®ÀåÀ» ¿©·¯ ¶óÀο¡ Ç¥½Ã¸¦ Çϱâ À§Çؼ '\'¸¦ »ç¿ëÇÒ ¶§, À̸¦ À߸ø »ç¿ëÇ߱⠶§¹®ÀÎ °Í °°´Ù. Áï '\'ºÎºÐÀº ¶óÀÎÀÇ °¡Àå ³¡¹®ÀÚ°¡ µÇ¾î¾ß Çϴµ¥ ½Ç¼ö·Î '\'µÚ¿¡ ½ºÆäÀ̽º¸¦ ¸î °³ Áý¾î³ÖÀ¸¸é ¿©Áö¾øÀÌ À§ÀÇ ¿¡·¯°¡ ¹ß»ýÇÑ´Ù.
´ëó: 10¹ø° ÁÙ(±Ùó)¿¡¼ '\'¹®ÀÚ°¡ Àְŵç ÀÌ ¹®ÀÚ°¡ ¶óÀÎÀÇ °¡Àå ³¡¹®ÀÚ°¡ µÇµµ·Ï ÇÑ´Ù. Áï '\'¹®ÀÚ ´ÙÀ½¿¡ ³ª¿À´Â ±ÛÀÚ(½ºÆäÀ̽º°¡ ´ëºÎºÐ) ´Â ¸ðÁ¶¸® ¾ø¾Ö ¹ö¸°´Ù.
make´Â õÀç°¡ ¾Æ´Ï¶ó´Â Á¡À» »ý°¢ÇØ¾ß ÇÑ´Ù. make´Â Makefile
ÀÇ ³»¿ëÀ»
Àдٰ¡ ù ¹ø° Ÿ°ÙÀ¸·Î º¸ÀÌ´Â °ÍÀ» ÀÚ½ÅÀÌ »ý¼º½ÃÄÑ¾ß ÇÒ °á°ú ÆÄÀÏÀ̶ó°í
»ý°¢ÇÑ´Ù. µû¶ó¼ clean ºÎºÐÀ» Makefile
ÀÇ Ã¹¹ø° Ÿ°ÙÀ¸·Î Á¤ÇØ ¹ö¸®¸é
À§¿Í °°Àº °á°ú°¡ ³ªÅ¸³ª°Ô µÈ´Ù.
´ëó: Makefile
ÀÇ ³¡ºÎºÐ¿¡ ¸¸µé¾î
µÎ´Â °ÍÀÌ ¾ÈÀüÇÏ´Ù.
ÀÌ ÇൿÀº make°¡ ÀÇÁ¸ °ü°è¸¦ ¸ð¸£±â ¶§¹®ÀÌ´Ù. Áï »ç¿ëÀÚ°¡ ÀÇÁ¸ °ü°è¸¦ ¼³Á¤ÇØ ÁÖÁö ¾Ê¾Ò´Ù´Â ¸»ÀÌ µÈ´Ù. µû¶ó¼ make´Â ¹«Á¶°Ç ¸ðµç ÆÄÀÏÀ» ÄÄÆÄÀÏÇؼ ½ÇÇà ÆÄÀÏÀ» ¸¸µå´Â ÀÏÀÌ ÀÚ½ÅÀÌ ÇÒ ÀÏÀ̶ó°í »ý°¢ÇÏ°Ô µÈ´Ù.
´ëó: ¸ñÀû ÆÄÀÏ, ¼Ò½º ÆÄÀÏ, Çì´õ ÆÄÀϵéÀÇ ÀÇÁ¸ °ü°è¸¦ ¼³Á¤ÇØ ÁÖ¾î¾ß
ÇÑ´Ù. gccmakedep *.c ¶ó°í Çϸé Makefile
ÀÇ µÞºÎºÐ¿¡ ÀÚµ¿ÀûÀ¸·Î
ÀÇÁ¸ °ü°è¸¦ ¸¸µé¾î ÁØ´Ù. ±×¿ÜÀÇ ´Ù¸¥ ÆÄÀϵ鿡 ´ëÇؼ´Â »ç¿ëÀÚ°¡ ÀûÀýÇÏ°Ô
ÀÇÁ¸ °ü°è¸¦ ¼³Á¤ÇØ ÁÖ¾î¾ß ÇÑ´Ù.
main.o : main.c io.h
read.o : read.c io.h
write.o : write.c io.h
À§ÀÇ ¿¹Á¦´Â ù ¹ø° Àå¿¡¼µµ Á¦½ÃÇß´ø °Çµ¥... TARGET : DEPENDENCYÀÇ Çü½ÄÀ¸·Î ÀÇÁ¸ °ü°è¸¦ ÀÛ¼ºÇÑ °ÍÀÌ´Ù. (make¿¡°Ô ÀÇÁ¸ °ü°è¸¦ ¾Ë·ÁÁÖ´Â ¹æ¹ýÀÌÁÒ)
°Á¸¦ ¸¶Ä¡¸é¼
À̹ø make °Á´ make À¯Æ¿¸®Æ¼¿¡ ´ëÇÑ Àü¹ÝÀûÀÎ ÀÌÇØ¿Í °£´ÜÇÑ Makefile
ÀÛ¼ºÀ» ¸ñÀûÀ¸·Î ÇÏ¿´½À´Ï´Ù. make¿¡ °üÇÑ ¸ðµç °ÍÀ» ´Ù ¼Ò°³ÇÏÁö´Â
¾Ê¾Ò½À´Ï´Ù. (°³ÀÎÀûÀÎ ´É·ÂÀÇ ÇÑ°è !!) make¸¦ ¾ÆÁÖ Àß ¾²±â À§Çؼ´Â
make ÀÚü¿¡ ´ëÇÑ Áö½Äº¸´Ù´Â À¯´Ð½º(¸®´ª½º)ÀÇ »ø ÇÁ·Î±×·¥°ú
°í³À̵µ(?)ÀÇ ¸í·É¾î±îÁö ¾Ë°í ÀÖ¾î¾ß Çϱ⠶§¹®ÀÌÁÒ. ÇØÄ¿°¡ µÇ·Á¸é ÀÌ·±
Áö½ÄÀ» ¸¹ÀÌ ¾Ë°í ÀÖ¾î¾ß ÇÕ´Ï´Ù. ÇÑ°¡Áö ¾Æ½¬¿î °Ô imake¿¡ ´ëÇؼ ¼³¸íÀ»
¸øÇÑ °ÍÀÔ´Ï´Ù. imake¿¡ ´ëÇؼ´Â Makefile
À» »ý¼º½ÃÄÑ ÁØ´Ù°í »ý°¢Çϼ¼¿ä)
Áö±Ý make ´ÙÀ½ÀÇ °Á·Π¹»ÇØ¾ß ÇÒÁö °í¹Î ÁßÀÔ´Ï´Ù. ¿ì¼± X °Á¸¦ ÇϽô ºÐ(¾ÆÁ÷Àº Á¶¿ëÇϳ׿ä)ÀÇ °ÁÂÀÇ ÀÌÇظ¦ ³ôÀ̱â À§Çؼ XÀÇ °³³äÀ» 2ȸ Á¤µµÀÇ °Á·ΠÇÒ »ý°¢ÀÔ´Ï´Ù. X °¡ ¿Ö X ÀÌ°í ¾î¶² Ư¡À» °¡Áö°í ÀÖ´ÂÁö Çѹø »ìÆ캸±â·Î ÇÏÁÒ.