Makefile 참고 문서

2007년 FALinux 세미나에서
박진호 팀장님께서 'Makefile의 이해'를 주제로 강의한 자료입니다.

파일 다운로드          Makefile의 이해(PowerPoint 자료)

위의 파일을 다운받아서 Makefile에 대해서 참고하시면 됩니다.

이전 게시글 "FAIDE에서 arm-linux 컴파일 따라하기" 에서 Makefile을 사용해서 컴파일 하였습니다.
Makefile 문서를 참고로 하여 다음과 같이 수정할 예정입니다.

 

1. Makefile 파일 수정

Makefile 에 arm용 gcc (arm-linux-gcc) 추가하고 컴파일 하도록 하겠습니다.

Makefile (기본 생성 내용)CXXFLAGS =  -O2 -g -Wall -fmessage-length=0

OBJS =      test_a.o

LIBS =

TARGET =    test_a.exe

$(TARGET):  $(OBJS)
    $(CXX) -o $(TARGET) $(OBJS) $(LIBS)

all:    $(TARGET)

clean:
    rm -f $(OBJS) $(TARGET)

위의 내용을 지우고 기본적인 컴파일 방법을 넣어줍니다.

Makefile (컴파일만을 위해서 수정 된 내용)all:
    arm-linux-gcc -o test_a.exe test_a.cpp

clean:
    rm -f test_a.o test_a.exe

위의 내용을 참고로 하여 아래와 같이 수정하도록 합니다.

CXXFLAGS =  -O2 -g -Wall -fmessage-length=0 이 부분을 삭제하거나 주석 처리 합니다.
그 대신 CC = arm-linux-gcc를 추가해 줍니다.
그리고 아래 타켓 부분에 CXX 대신 CC로 지정해줍니다.

Makefile (수정 후)CC = arm-linux-gcc

OBJS =      test_a.o

LIBS =

TARGET =    test_a.exe

$(TARGET):  $(OBJS)
    $(CC) -o $(TARGET) $(OBJS) $(LIBS)

all:    $(TARGET)

clean:
    rm -f $(OBJS) $(TARGET)

2. Build

Project Explorer 창을 엽니다.

▲ test_a.cpp 파일을 test_a.c 파일로 이름을 변경합니다.

 

기존에 생성된 파일을 지워주고 새로 컴파일 하도록 합니다.

▲ 상단 메뉴에서 Project >> Clean... 메뉴를 선택합니다.

▲ 다음과 같은 Clean 창이 뜨는 곳에 적용할 프로젝트를 확인하고, OK 버튼을 누릅니다.

▲ Clean 이 적용된 후에, 자동으로 Build (Compile) 이 됩니다.
    Makefile 파일의 make 명령을 그대로 수행합니다.

Project Explorer 창으로 가서 test_a.exe 이 생성 되었는지 확인합니다.

컴파일이 정상적으로 된 것을 확인 할 수 있었습니다.