티스토리 뷰
Makefiile의 예
binary라는 파일이 lib.o와 prog.o로 링크해서 생성한다 할때,
binary: lib.o prog.o
gcc -o binary -g -Wall lib.o prog.o
lib.o: lib.c
gcc -o lib.o -g -Wall -c lib.c
prog.o: prog.c
gcc -o prog.o -g -Wall -c prog.c
clean:
rm *.o binary
binary라는 것이 여러번 사용되고 gcc -g -Wall이 여러번 사용될때, 매크로를 사용하면 된다.
CFLAGS라는 매크로를 사용하면 여러번 -g -Wall을 쓰지 않아도 편하게 컴파일가능하다.
%.o: %.c (%는 현재 디렉토리에 존재하는 어떠한 c파일 o파일이 될수가 있다.)
맨 아래 clean은 파일을 만들 목적으로 사용한것은 아니다.
PHONY target
앞에 타겟이 있을때 타겟이 파일이 아닌경우를 말한다.
예] clean:
/bin/rm -f *.o core
all = 이 프로그램에 있는 모든 규칙들을 다 적용하라는 의미
install = 컴파일된 결과를 해당 디렉토리에 설치하라는 의미
clean = 컴파일 과정에 생성된 여러가지 파일들을 지우라는 의미
distclean = 중간에 생성되었던 파일들 까지도 지우라는 의미
'IT > Embedded Software' 카테고리의 다른 글
[임베디드 SW 공학] 버전 관리 시스템 (0) | 2017.10.11 |
---|---|
[임베디드 SW 공학] Make의 재귀적 사용법 (0) | 2017.09.25 |
[임베디드 SW 공학] Make의 구조 (0) | 2017.09.25 |
[임베디드 SW 공학] Make 빌드시스템의 소개 (0) | 2017.09.25 |
[임베디드 SW 공학] gcc 동적 라이브러리 (0) | 2017.09.18 |
댓글