티스토리 뷰

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


'Development > Unix and Linux' 카테고리의 다른 글

터미널 명령어 - 프로세스 죽이기 (kill, pkill)  (0) 2018.12.24
터미널 명령어 - ab  (0) 2018.06.14
터미널 명령어 - nc  (0) 2018.05.18
Linux  (0) 2018.04.06
터미널 명령어  (0) 2018.04.06
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함