2015. 7. 27. 16:41

빌드 과정의 각 단계를 Makefile에 명시적으로 지정했으나, make에 있는 여러 내장 규칙(built-in rule)들을 이용하면 Makefile들을 더 간단하게 만들 수 있다. 이런 접근 방식은 소스 파일들이 많은 경우에 더욱 유용하다


우선 Hello world 프로그램을 만든다 - foo.cpp


#include <iostream>

#include <stdlib.h>


int main( )

{

std::cout << "Hello world~~!\n";

exit(EXIT_SUCCESS);

}


Makefile을 지정하지 않고 make를 실행해보자

$ make foo

g++ foo.cpp -o foo


놀랍게도 make는 자신이 알고 있는 내장 규칙을 이용해서 소스 파일을 성공적으로 컴파일한다. 종종 이런 내장 규칙들을 추론 규칙(inference rules)이라고 부른다. 내장 규칙들은 매크로등을 사용하므로, 매크로들을 적절히 설정함으로써 내장 규칙의 기본 행동 방식을 변경할 수 있다.


make의 내장 규칙들은 -p 옵션으로 확인할 수 있다.


make -p