본문 바로가기

Papers/Linux

Definition of Configure, Make, Make Install

<스노트 2.0 마술상자> 에서 발췌

./configure
configure 파일은 자신이 실행되는 머신을 '이해하기' 위한 코드를 포함하고 있는 스크립트이다. 이 스크립트는 환경 변수, 의존성을 조사하여 어떤 소프트웨어가 필요한지를 판단한다. 이 스크립트를 실행하면 화면에는 여러 질문과 답이 나타날 것이다. 바로 그것이 configure가 하는 일이다. configure는 프로그램을 컴파일하는데 필요한 모든 것이 제대로 존재하는지를 검사한다. configure 스크립트는 makefile을 만드는데 이 파일은 다음 단계에서 중요한 역할을 한다. 이 명령을 실행할 때 에러가 났다면 그 에러를 설치함으로써 해결할 수 있다. 모든 의존성 문제를 해결한뒤 configure를 다시 실행해야 한다.

make
make 명령은 오늘날 존쟇는 거의 모든 UNIX/Linux 배포판에 포함돼 있다. 이 명령은 configure와 같은 스크립트가 아닌 실제 유틸리티이다. Make는 이전 단계의 configure 스크립트가 만든 makefile을 이용한다. make의 주요 기능은 최종 설치 단계에서 쓰일 코드를 컴파일하는 것이다. 이를 위해 make는 makefile에 있는 코드를 configure스크립트에서 지정한 순서대로 읽어서 실행한다. makefile은 make 과정의 각 단계마다 '제목'을 붙여 놓는다는 의미에서 초기화 파일과 유사하다고 할 수 있다. 이 제목들 중 하나인 install은 다음 단계인 make install에서 쓰인다. 앞 단계와 마찬가지로 컴파일 과정에서 에러가 났다면 반드시 그것을 해결하고 넘어가야 한다.

make install
이것은 설치 과정의 맨 마지막 단계다. make install이 하는 일은 매우 간단하다. 이 명령은 makefile의 install 부분에서 정보를 읽은 뒤 make가 만든 실행 파일과 기타 파일을 시스템의 적절한 디렉터리에 복사한다. 이 단계가 끝나면(에러 없이) 소프트웨어는 시스템에 잘 설치됐으며 실행 준비를 마친 것이다.