[make] make의 묵시적 룰
정리/Make 2018. 11. 29. 10:31 |make는 rule에 정의될 recipe를 추론할 수 있다.
.. 원문을 매끄럽게 번역 하기가 참 어렵다.
make는 우리가 굳이 recipe에 뻔한 내용을 적지 않아도 recipe 내용을 스스로 추론하여 처리할 수 있다고 한다.
간단한 makefile로 예를 들어보자.
main.o : main.c
gcc -c main.c -o main.o
위와같은 target을 작성 후 make를 수행한다고 가정했을 때
gcc -c main.c -o main.o 는 매우 보편적인 컴파일 명령이기 때문에 target과 prerequisite의 명칭만 보고도 make는 해당 명령어를 충분히 유추해 낼 수있다.
이렇게 유추하기 쉬운 명령은 굳이 명시하지 않아도 make는 알아서 recipe를 만들어 처리하게 된다.
해서,
hello : main.o
gcc -o hello main.o
main.o : main.c
위와 같이 간단하게 target : prerequisite 만 명시해서 make를 수행할 수 있다.
단, goal이 되는 hello는 직접 recipe를 명시 해야한다.
위의 예에서 target main.o는
$(CC) -c -o main.o main.c 를 알아서 수행하게 된다.
makefile에 recipe가 비어있다면 묵시적 룰을 사용하고 있는 것이다.
'정리 > Make' 카테고리의 다른 글
[MAKE] Secondary Expansion (0) | 2018.12.17 |
---|---|
[make] makefile 이 없는경우 ? (0) | 2018.12.03 |
[make] makefile의 명칭 (0) | 2018.12.03 |