Makefile FALinux http www falinux com Makefile 1

  • Slides: 29
Download presentation
Makefile의 이해 ㈜FALinux http: //www. falinux. com 박진호

Makefile의 이해 ㈜FALinux http: //www. falinux. com 박진호

Makefile 예제(1) • 예제의 구조 io. h main. c foo. c bar. c main.

Makefile 예제(1) • 예제의 구조 io. h main. c foo. c bar. c main. o foo. o bar. o test 2007 -05 -13

Makefile 예제(2) ♣ 아무런 기능을 사용하지 않았을 경우 all: test : main. o foo.

Makefile 예제(2) ♣ 아무런 기능을 사용하지 않았을 경우 all: test : main. o foo. o bar. o gcc –o test main. o foo. o bar. o main. o : io. h main. c gcc –c main. c foo. o : io. h foo. c gcc –c foo. c bar. o : io. h bar. c gcc –c bar. c 2007 -05 -13

Makefile 예제(3) ♣ 매크로를 사용하였을 경우 OBJS = main. o foo. o bar. o

Makefile 예제(3) ♣ 매크로를 사용하였을 경우 OBJS = main. o foo. o bar. o SRCS = main. c foo. c bar. c CC = gcc CFLAGS = -g -c TARGET = test all: $(TARGET) : $(OBJS) $(CC) -o $(TARGET) $(OBJS) clean : rm -rf $(OBJS) $(TARGET) core main. o : io. h main. c foo. o : io. h foo. c bar. o : io. h bar. c 2007 -05 -13

Makefile 예제(4) ♣ 매크로와 확장자 규칙을 사용했을 경우 CC = gcc CFLAGS = -O

Makefile 예제(4) ♣ 매크로와 확장자 규칙을 사용했을 경우 CC = gcc CFLAGS = -O 2 -g OBJS = main. o foo. o bar. o SRCS = $(OBJS: . o=. c) TARGET = test all: $(TARGET) : $(OBJS) $(CC) -o $@ $(OBJS) dep: gccmakedep $(SRCS) clean : rm -rf $(OBJS) $(TARGET) core 2007 -05 -13