ÀÌÀüÆäÀÌÁö ´ÙÀ½ÆäÀÌÁö Â÷·Ê

6. Makefile ÀÛ¼ºÀÇ °¡À̵å¶óÀÎ

make¸¦ ¸¹ÀÌ ½á º» »ç¶÷Àº ¾î´À Á¤µµ ÀڽŸ¸ÀÇ MakefileÀ» ÀÛ¼ºÇÏ´Â ÀÏÁ¤ÇÑ ½ºÅ¸ÀÏ °°Àº °ÍÀÌ ÀÖ´Ù. ÇÁ·Î±×·¥ÀÌ Â¥´Â »ç¶÷¸¶´Ù ´Ù¸£µíÀÌ Makefileµµ °¢°¢ÀÌ´Ù. ¿©±â¼­´Â ±×³É °¡Àå ÀϹÝÀûÀÎ °¡À̵å¶óÀÎÀ» Á¦½ÃÇϱâ·Î ÇÑ´Ù. ´ÙÀ½ Àå¿¡¼­ MakefileÀÇ ¿©·¯ ¿¹Á¦¸¦ »ìÆ캸¸é¼­ ´Ù½Ã Çѹø ÀÚ¼¼È÷ ¼³¸íÇÒ °ÍÀÌ´Ù.

¸ÅÅ©·Î¸¦ Àß »ç¿ëÇϸé MakefileÀÌ ±ò²ûÇØÁú »Ó ¾Æ´Ï¶ó, ³»¿ëÀÇ ¼öÁ¤µµ ¿ëÀÌÇÏ´Ù. Á¶±Ý °úÀåÇؼ­ ¸»ÇÑ´Ù¸é, ÃÖ´ëÇÑ ¸ÅÅ©·Î¸¦ ¸¹ÀÌ »ç¿ëÇ϶ó°í ¸»ÇÏ°í ½Í´Ù. Makefile³»¿¡¼­ µÎ¹ø ÀÌ»ó ³ª¿À´Â °ÍµéÀº ¸ÅÅ©·Î·Î Á¤ÀÇÇØ µÎ¸é ÆíÇÏ´Ù. ÀÚ½ÅÀÇ ÇÁ·Î±×·¥ Ư¼º¿¡ µû¶ó¼­ ±âÁ¸ÀÇ ¸ÅÅ©·Î¸¦ ÀçÁ¤ÀÇ ÇÏ´Â °Íµµ ÁÁ´Ù.

make¿¡¼­ Á¤ÀǵǾî ÀÖ´Â ±ÔÄ¢µéÀ» ÃÖ´ëÇÑ ÀÌ¿ëÇÑ´Ù. È®ÀåÀÚ ±ÔÄ¢Àº ¹«Á¶°Ç ÀÌ¿ëÇϱ⸦ ±ÇÇÑ´Ù. ±âÁ¸ÀÇ ±ÔÄ¢µéÀ» ÀڱⰡ Á¤ÀÇÇÏ´Â °Íµµ ÁÁÁö¸¸, ¾ïÁö·Î ÀÌ·² ÇÊ¿ä´Â ¾ø´Ù.

´ëü·Î ¾Æ·¡¿Í °°ÀÌ MakefileÀ» ±¸¼ºÇÑ´Ù.

  1. ¸ÅÅ©·Î Á¤ÀÇ ºÎºÐ
  2. Ÿ°ÙÀ» ¾ò±â À§ÇÑ ¸í·É¾î ºÎºÐ
  3. ÀÇÁ¸ °ü°è ºÎºÐ

¿¹Á¦ 17


.SUFFIXES = .c .o     --+
CFLAGS = -g             |
                        |
OBJS = main.o \         |
read.o \                | ¸ÅÅ©·Î Á¤ÀÇ ºÎºÐ
write.o                 |
SRCS = $(OBJS:.o=.c)    |
                        |
TARGET = test         --+

$(TARGET): $(OBJS)                    --+
                $(CC) -o $@ $(OBJS)             |
dep :                                   |
                gccmakedpend $(SRCS)            |
new :                                   | ¸í·É¾î Á¤ÀÇ ºÎºÐ
                touch $(SRCS) ; $(MAKE)         |
clean :                                 |
                $(RM) $(OBJS) $(TARGET) core  --+


- ¿©±âºÎÅÍ ÀÇÁ¸°ü°è ºÎºÐ

À§ÀÇ ¿¹Á¦´Â ÃÖ´ëÇÑ ¸ÅÅ©·Î¸¦ ¸¹ÀÌ ÀÌ¿ëÇÏ·Á°í Ç߱⠶§¹®¿¡ µ¶ÇØ(?)Çϱ⠾î·Á¿ï ¼öµµ ÀÖ´Ù.

´ÙÀ½Àå ¿¹°í

´ÙÀ½ Àå¿¡´Â MakefileÀÇ ¿©·¯ °¡Áö ÀÛ¼º ¿¹Á¦¸¦ °¡Áö°í ¼³¸íÀ» ÇÏ°Ú½À´Ï´Ù. ¾ÆÁ÷ make¿¡ Àͼ÷Çϱ⠾ÊÀ» °ÍÀ̶ó°í »ý°¢Çϱ⠶§¹®ÀÔ´Ï´Ù. ÃÖ´ëÇÑ ´Ù¾çÇÑ ¿¹Á¦¸¦ ´Ù·ëÀ¸·Î½á ³ªÁß¿¡ ¸¹Àº µµ¿òÀÌ µÇµµ·Ï ÇÏÁÒ. make ¼öÇà Áß¿¡ ³ª¿Ã ¼ö ÀÖ´Â ¿©·¯ ¿¡·¯µéµµ ´ÙÀ½ Àå¿¡¼­ Çѹø ´Ù·ç¾î º¸ÁÒ. ±×¸®°í °¡´ÉÇÏ´Ù¸é Imakefile¶õ °Íµµ Çѹø °Çµå·Á º¾½Ã´Ù.


ÀÌÀüÆäÀÌÁö ´ÙÀ½ÆäÀÌÁö Â÷·Ê