Shell에서 컴파일을 할 때, make 명령어를 활용해서 컴파일을 할 수 있다. Makefile이 디렉토리에 있다면 해당 디렉토리에서 make 명령어만 치면 컴파일이 실행이 된다.
프로그램들과 달리 Shell에서 컴파일을 하려면 어떤 파일들을 컴파일 하고, 어떠한 방식으로 컴파일 할 지 직접 컴파일러에게 알려줘야 한다.
예를들어 아래와 같다.
$gcc a.c b.c
하지만 컴파일 해야하는 파일이 엄청 많아진다면 이것들을 매번 치기도 어려울 것이다. 따라서 이러한 문제들을 해결하기 위해 make 라는 프로그램을 제공하는 것이다.
여기서 make
는 파일 관리 유틸리티 이다.
파일 간의 종속관계를 파악하여 Makefile( 기술파일 )에 적힌 대로 컴파일러에 명령하여 SHELL 명령이 순차적으로 실행될 수 있게 합니다.
컴파일(Compile)이라는 과정은 바로 소스 코드를 컴퓨터가 이해할 수 있는 어셈블리어로 변환하는 과정이다.
gcc 에 전달하는 -c 명령어는 다음에 오는 파일을 컴파일해서 목적 파일 (Object file) 을 생성하라는 의미이다. 아래의 코드를 보자.
$gcc -c main.c