make 는 명령을 생성하는 유틸리티이다. make 유틸리티는 기술 파일(description file)과 몇 가지 일반 템플릿을 사용하여 유닉스 셸에서 실행되는 각종 명령들을 만들어낸다. 이를 통해 임시 파일을 제거하는 데서부터, 복잡한 프로그램 그룹의 최종 실행
다음은 program 을 빌드하는 경우에 따라 서로 다른 버전을 생성할 수 있는 명령이다. 위 명령어를 입력하게 되면 해당 파일(program)을 생성하는 데 필요한 모든 컴파일과 링크 작업을 수행할 수 있다. make 유틸리티를 사용하면 수많은
타깃들이 수십 개의 파일들에 종속되거나 여러 개의 서로 다른 버전으로 만들어지기 마련인 실제 프로젝트의 기술 파일에서 반복되는 텍스트의 양을 실로 엄청나리라 생각할 수 있으나 실제 사용되는 기술 파일을 열어보면 뜻밖에도 보통 10~50 줄 정도로 간결하다.
구시대 유물일지라도 이미 작성된 makefile 과의 호환성을 위해서 여전히 유지되고 있는 기능이기 때문이다. 따라서 과거의 작성된 makefile 의 분석을 위해 정리해서 남기려 한다. 그러나 이는 어디까지나 하위 호환성을 위함일 뿐이며 더 이상 사용해선 안될 것이
make 로 실행하는 명령어는 서로 다른 셸에서 실행 되는 것처럼 동작한다. 따라서...수행되는 작업의 순서가 파일 간의 관계 에만 주로 영향을 받는 경우 make 기술 파일을 사용하여 모든 것을 제어할 수 있으나변수 조작 을 여러 번 해야 하거나 실행 순서를 변경
make 는 그 자체로 무척 강력하나 다음과 같은 상황에서 다양한 문제를 야기할 수 있다.