IT

간단한 gcc + Makefile 사용법

by 모아레 posted Oct 10, 2010
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄

리눅스 상에서 gcc 사용하는 방법

 

1. 컴파일 하는 법

$> gcc -c main.c

     gcc -c book.c

이와 같이 하면 해당 c파일에 대한 오브젝트 파일이 생성된다.

 

2. 실행 파일 생성 및 링킹하는 법

$> gcc -o booklist book.o list.o main.o

이와 같이 하면 생성된 오브젝트 파일들을 링크하여 booklist라는 실행파일(exe)이 생성된다.

 

 

* tip

2번에서와 같이 오브젝트 파일들의 양이 많아지는 경우에는

Makefile을 사용하면 한 번에 컴파일 및 링킹/실행 파일 생성이 가능하다.

 

아래의 내용을 Makefile로 저장을 한다.(리눅스 상에서 gedit나 쉘 상에서 emacs, vi, vim을 이용한다)

주의할 점은 확장자 없이 바로 Makefile로 저장을 하고 첫 글자는 일반적으로 대문자 M으로 쓴다.

 

/* Makefile */

BIN = booklist                        /* 실행 파일 이름 */

OBJECTS = book.o list.o main.o        /* 오브젝트 파일 이름 */

 

 

all : ${OBJECTS}                     /*타겟 : 오브젝트 파일 이용하여 실행 파일 생성 */

       gcc -o ${BIN} ${CFLAGS} ${OBJECTS}        /* 쉘 상에서 실행될 gcc 명령어  */

                                                                        /* 처음에 입력한 변수명으로 대치된다. */

 

 

%.o : %.c                                  /* C코드에 대한 컴파일 */

       gcc -c -Wall ${CFLAGS} $<           /* 컴파일 옵션 : -Wall은 모든 모호한 코드에 대한 경고 메시지를 보여줌 */

                                                          /* Error는 물론이고 Warning도 보여준다고 생각하면 ok */

                                                          /* ${CFLAGS} $< 의 의미는 입력파일( < 리다이렉션 )로  */

                                                          /* 현재 경로에 있는 C파일들을 모두 불러오는 것을 의미함 */

 

 

clean :                           /* 재컴파일시 기존 object파일을 모두 지우고 다시 생성 */

       rm -rf *.o                   

 

 

위와 같이 Makefile을 작성하고 저장 후 쉘 상에서 make를 입력하면 컴파일~실행 파일 생성까지

한번에 완료된다.

 

 

<출처> http://wiki.kldp.org/KoreanDoc/html/gcc_and_make/gcc_and_make.html 및 관련 도서


Articles

1 2 3 4 5 6 7 8 9 10