티스토리 뷰
자동화 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
TAG
- rl
- Linux
- Preprocessing
- MySQL
- Android Studio
- #ausg
- p-value
- OS
- #ab
- branch
- #handsonlab
- 통계적 가설 검정
- gitgnore
- commands
- Algorithm
- Markov Decision Process
- sequelize
- Gradient descent algorithm
- 강화학습
- MDP
- ausg
- #AWS
- Confustion Matrix
- Memory segmetation
- Reinforcement Learniing
- git
- System
- AWS
- Reinforcement Learning
- Android
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함