Development/Unix and Linux
Makefile
궁선이
2018. 6. 7. 15:10
자동화 or 테스팅 용도로 많이 사용되는 Makefile 사용법을 포스팅하겠습니다.
1. 이름이 'Makefile' 인 파일을 만든다.
-> Makefile.c, Makefile.txt 가 아닙니다. 그냥 Makefile입니다.
-> ex) touch Makefile
2. 실행
-> 콘솔에서 make 를 칩니다.
3. 내부 문법
-> 최 상단의 매크로, targer부터 실행을 합니다. 만약 dependency가 있다면 dependency를 찾아 재귀 호출을 합니다.
-> 아래 코드를 보시면 CC 는 gcc라 선언했습니다. 이렇게 한다면 긴 커맨드를 짧게 축약할 수 있겠죠.,
-> target의 커맨드부터 실행이 됩니다. 그랜데 dependency가 있네요. dependency를 찾아 다음 줄로 넘어갑니다.
-> dependency1을 찾았습니다. 그럼 이제 커맨드를 실행시키고 해당 dependency1를 불러옵니다.
-> dependency2도 마찬가지 입니다.
-> 마지막 clear는 재귀적으로 호출이 되지 않습니다.
-> Makefile은 특정 target만 호출이 그낭합니다. 예를들어 make target, make clear 이런 식으로 호출이 가능합니다.
-> 이렇게 Makefile로 컴파일, 중간파일들 삭제, 설치까지 전부 해결하기도 합니다.
//Makekfile CC = gcc target : dependency1 dependency2 CC -o target dependency1 dependency2 dependency1 : command dependency2 : command clear : rm -rf *.exe *.o
//예제 run : main ./main main : main.o gcc -o main main.o main.o : main.c gcc -c -o main.o main.c clean : rm -rf *.o