티스토리 뷰

리눅스 makefile과 make의 이해

makefile과 make가 무엇인지 알아 보도록 합니다.

make와 makefile의 차이점

보통 프로그래밍 언어로 작성된 파일(원시코드)를 실행 가능한 기계어(목적코드)로 옮기는 과정을 컴파일(compile)이라 합니다. 소스코드로 한 두개로 이뤄진 간단한 컴파일은 문제가 없지만 수십개 수백개 이상의 원시코드로 이뤄진 프로그램의 빌드 시에는 여러 파일들끼리의 의존성이라던가 각 파일에 필요한 명령등 여러가지 신경써줘야 할 부분들이 많게됩니다. 매번 그러한 과정들을 반복해줘야 하는것 또한 불합리한 점이죠. 이러한 프로그램 빌드의 과정을 표준적인 문법으로 기술한 파일을 보통 Makefile이란 이름으로 부르고 이를 이용해서 프로그램 빌드를 수행하는 빌드 도구를 Make라 합니다. 주로 Unix 운영체제에서 사용됩니다.

정리

make에게 어떤 프로그램을 컴파일하고 링크해야 하는지 그 방법을 설명한 것이 makefile이다.