보통 리눅스에서 개발을 하다보면 파일을 컴파일 하고 링크 할 때, make를 많이 사용합니다.
필자도 학교에서 아주 간단한 make만 배워서 사용하곤 했는데, 회사에 오니 그 make가 make가 아닌것이였네요...
그래서 별도로 공부를 시작하려고 합니다.
맨 먼저 만난 블로그는 어느 분이 후배들에게 가르치려고 정리하신 것이라고 합니다.
http://developinghappiness.com/?p=26
http://developinghappiness.com/?p=28
위의 블로그를 보면 그동안 이유없이 사용했던 make의 기본적인 기능들을 알 수 있습니다.
가장 핵심적인 부분은 타겟(target), 선행조건(prerequisites), 레시피(recipe)입니다.
타겟은 선행조건의 의존적이고 선행조건이 만족될 때, 레시피가 실행되는데 레시피는 반드시 TAP 문자로 시작해야 합니다.
예를 한번 만들어봤습니다.
이렇게 하면 결과는
echo "test.o is here"
test.o is here
이렇게 됩니다.
이와 같이 의존성 갖는 make에 대해서 알아보았습니다.
(시작은 그냥 make였는데..ㅋ)