기본형태의 Makefile
bowling : bowling.o procBoard.o
cc -o bowling bowling.o procBoard.o
bowling.o : bowling.c
cc -c bowling.c
procBoard.o : procBoard.c
cc -c procBoard.c
CFLAGS = -std=c99 //환경변수 for(int i=0; i<10;i++) 를했을때 생기는 에러 없애는법
bowling : bowling.o procBoard.o
cc -o bowling bowling.o procBoard.o
makefile에 메크로 쓰기
CC = gcc
TARGET = bowling
OBJS = bowling.o procBoard.o
$(TARGET) : $(OBJS)
$(cc) -o $@ $^
$@ 매크로로 만들어질 타깃 파일명
$^ 모든 의존 파일을 스페이스로 구분한 목록(중복 제외)
$+ 모든 의존 파일을 스페이스로 구분한 목록(중복 포함)
$? 타깃보다 새로운 의존 파일만 스페이스로 구분한 목록
$< 의존 파일 중 첫 번째 기술된 파일명(확장자 규칙에만 사용)
$* 현재 타깃 파일명에서 확장자를 뺀 이름(확장자 규칙에만 사용)
CC = gcc
TARGET = bowling
OBJS = bowling.o procBoard.o
$(TARGET) : $(OBJS)
$(cc) -o $@ $^
clean :
rm -f *.o $(TARGET)
clean 에 해당하는 오브젝트 파일이랑 실행파일이 지워진다.
Makefile 의 장점은 소스의 길이가 길어졌을때 매크로 이름만 변경해 쉽게 수정할수 있다.
참고하면 좋은 페이지
http://developinghappiness.com/?p=28
'Study > 리눅스' 카테고리의 다른 글
| 리눅스 c언어로 컴파일하기 파일 입출력 (1) (0) | 2014.09.18 |
|---|---|
| 리눅스로 c언어 컴파일하기 arm-linux-gcc (1) (0) | 2014.09.18 |
| 리눅스 C언어로 컴파일하기 Bowling CUI (2) (0) | 2014.09.17 |
| 리눅스 C언어로 컴파일하기 Bowling (1) (0) | 2014.09.17 |
| 리눅스 C언어로 컴파일하기 FIFO (5) (0) | 2014.09.12 |
