Shell에서 컴파일을 할 때, make 명령어를 활용해서 컴파일을 할 수 있다. Makefile이 디렉토리에 있다면 해당 디렉토리에서 make 명령어만 치면 컴파일이 실행이 된다.

프로그램들과 달리 Shell에서 컴파일을 하려면 어떤 파일들을 컴파일 하고, 어떠한 방식으로 컴파일 할 지 직접 컴파일러에게 알려줘야 한다.

예를들어 아래와 같다.

$gcc a.c b.c

하지만 컴파일 해야하는 파일이 엄청 많아진다면 이것들을 매번 치기도 어려울 것이다. 따라서 이러한 문제들을 해결하기 위해 make 라는 프로그램을 제공하는 것이다.

여기서 make는 파일 관리 유틸리티 이다.

파일 간의 종속관계를 파악하여 Makefile( 기술파일 )에 적힌 대로 컴파일러에 명령하여 SHELL 명령이 순차적으로 실행될 수 있게 합니다.

make를 쓰는 이유

컴파일(Compile)

컴파일(Compile)이라는 과정은 바로 소스 코드를 컴퓨터가 이해할 수 있는 어셈블리어로 변환하는 과정이다.

gcc 에 전달하는 -c 명령어는 다음에 오는 파일을 컴파일해서 목적 파일 (Object file) 을 생성하라는 의미이다. 아래의 코드를 보자.

$gcc -c main.c