본문 바로가기
프로그래밍 관련/프로그래밍 관련 잡지식

빌드.컴파일 그리고 makefile에 대하여

by 존버매니아.임베디드 개발자 2021. 11. 25.
반응형

 

make 파일의 개요

리눅스 gcc에 대하여 1 (tistory.com)에서 gcc의 개념에 대해서 간략하게 알아보았다.

gcc는 컴파일러 중 하나라고 하였다.

그래서 위 글에서 설명하는 내용은 사실 gcc에만 해당되는건 아니고 대부분의 다른컴파일러도

사용방법이 비슷하다.

 

근데 빌드해야 할 소스코드의 갯수가 몇 개 없을 때는 앞에서 말한것처럼 타이핑 해서 컴파일 하면되는데

프로젝트가 방대해지면 빌드 할 때 마다 이렇게 일일이 cmd에 명령을 쳐서 빌드하기가 어려워진다.

 

그래서 빌드와 관련된 이런저런 옵션,셋팅과 관련된 내용을

makefile 이라는 파일에 미리 작성해놓으면

일일이 cmd 창에 "gcc ... 어쩌구" 명령을 칠 필요가 없게 된다.

 

대신에 그냥 make 라는 명령만 실행하면

makefile 안에 있는 내용을 컴퓨터가 읽어본 후, 적힌 내용을 바탕으로 빌드를 하게 된다.

(makefile 안에는 컴파일러의 설치경로도 적혀있다.)

 

사실 우리가 사용했던 비쥬얼 스튜디오, 이클립스 기반의 IDE 에서

우리가 sw 빌드를 할 때 그냥 SW 빌드 버튼만 누르면 빌드가 됐었는데,

그것도 알고보면

우리가 해당 툴에서 이런저런 셋팅을 한 내용들이 makefile 이라는곳에 작성이 되고

우리가 마우스로 build 버튼을 누르면, 실제 컴퓨터 내부에서는 make 명령을 실행한것과 같은 효과를 내게된다.

 

근데 왜 우리가 이런 내용을 모르고도 여태까지 그걸 잘 써왔냐면,

비쥬얼스튜디오 같은 툴이 자동으로 적절하게 makefile을 작성해줬기 때문이다.

 

그러나 그런 툴이 없는 상황에서 gcc 같은 컴파일러를 사용하거나

혹은 cmd 환경에서 직접 빌드를 하려면

우리가 직접 makefile을 작성해야한다. 


 

 

 

 

 

 

 

 

반응형