블로그>hyona02님의 블로그 | 꿈지기 http://blog.naver.com/hyona02/100020808045 * Makefile 강좌 요약 >makefile을 사용하기 전에 makefile에 파일이름을 추가할 때 각각의 파일마다 main이 있으면 실행이 안된다. main은 파일들 중 하나에만 있어야 한다. 모든 파일이 하나의 main을 사용해야 한다. (main파일은 main.o를 링크해서 사용하고, 다른 함수들은 makefile에 넣어 컴파일 경우도 있다.) >makefile 이란 쉽게 말하면 다음과 같은 경우에 make를 쓰면 유리합니다. 1. 입력 파일이 바뀌면 자동적으로 결과 파일이 바뀌기를 원할 때, 기왕이면 좀 지능적으로 일이 수행되기를 바랄 때 말입니다. 2. 위의 LaTeX 파일처럼 자동적으로 프로그램이 수행이 되기를 바랄 때... (배치(batch)의 개념이죠) => make는 위의 두 가지 개념을 모두 포함하고 있다고 봅니다. 보통 리눅스 프로그램에서는 make all을 입력하면 자세한 내막은 모르지만 자기가 알아서 모든 일을 다하죠... 그 다음으로 make install만 입력하면 되구요... 히... GNU make는 보통 GNUmakefile, Makefile, makefile 중에서 하나가 있으면 그 파일을 읽게 된다. 하지만 일반적으로 Makefile을 추천하게 되는데, 그 이유는 우선 GNUmakefile은 기존의 make에서 인식을 못한다는 단점이 있고, makefile은 보통 소스 파일에 묻혀서 잘 안보이게 되기 때문이다. >구조 Makefile은 기본적으로 아래와 같이 목표(target), 의존 관계(dependency), 명령(command)의 세개로 이루어진 기본적인 규칙(rule)들이 계속적으로 나열되어 있다고 봐도 무방하다. make가 지능적으로 파일을 갱신하는 것도 모두 이 간단한 규칙에 의하기 ...