-
20140520 (make, makefile 실습)부산IT학원/스마트컨트롤러 2014. 5. 20. 14:10
64일차
----------------------
make, makefile
----------------------
--- makefile
ATMega128 makefile 처럼 흉내 내보기.
소스
: 변수
: 라벨
: 화면에 출력 안함
CC=gcc
CFLAGS=--save-temps -DNUM=50
TARGET=main
MSG_BEGIN=---------- begin ----------
MSG_END=----------- end -----------
run: rebuild
@echo
@./$(TARGET)
rebuild: clean build
build: begin smart end
smart:
$(CC) $(CFLAGS) -o $(TARGET) $(TARGET).c
begin:
@echo
@echo $(MSG_BEGIN)
@echo
@echo
end:
@echo
@echo
@echo $(MSG_END)
@echo
clean:
rm -rf $(TARGET)
rm -rf $(TARGET).i
rm -rf $(TARGET).o
rm -rf $(TARGET).s
명령 줄에서 make 만 쳤을 시 처음 나오는 라벨이 실행되므로
run이 먼저 실행된다.
먼저 소스파일만 있을 경우
make.
빨강줄이 가리키는 파일들이 생긴걸 볼 수 있다.
make clean
컴파일된 파일들이 삭제되는 것을 볼 수 있다.
makefile을 이용하면 컴파일시 여러 옵션, 파일 삭제등등
좀더 쉽고 편하게 컴파일을 할 수 있다.
--- 라벨 오른쪽에 라벨이 아니면?
run: main.exe
@.\main.exe
@rm -f main.exe
라벨 다음에 라벨이 오지 않으면 그 이름에 해당하는 파일이 있는지 확인하고
없으면 라벨을 실행시키지 않고 그 파일이 존재하면 아래 코드를 실행한다.
예제)
'부산IT학원 > 스마트컨트롤러' 카테고리의 다른 글
20140522 (ATMeaga2560 외부 LED, LCD) (0) 2014.05.22 20140521 (ATMega2560) (0) 2014.05.21 20140519 (make, makefile) (0) 2014.05.19 20140516 (초음파 모듈) (0) 2014.05.16 20140515 (초음파 모듈) (0) 2014.05.15