강좌 & 팁
MCU = atmega128
여기서는 그냥 변수선언 이다. 이런방식은 스크립트 방식이라고 하며 HTML의 형식과 비슷하다.
타입은 문자열타입(스트링타입) 으로 나누며 문자가 들어간다.
# Processor frequency.
F_CPU = 16000000
ATMega128의 프로세서 주파수 설정이다.
# Output format. (can be srec, ihex, binary)
FORMAT = ihex
srec 는 s-record 라고 하여 모토로라사 의 저장 방식이며
ihex 는 인텔사의 저장 방식이다.
# Object files directory
OBJDIR = .
.은 현재 디렉토리를 가리킨다.
# Optimization level, can be [0, 1, 2, 3, s].
OPT = s
최적화 설정이다 숫자는 속도이며 s는 size라고 하여
용량 최적화를 한다.
# Debugging format.
DEBUG = dwarf-2
디버깅 포맷으로 elf, dwarf 등이 있다.
# Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL
C디파인즈
# Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU)
A(어셈블리)디파인즈
CFLAGS = -g$(DEBUG)
CFLAGS += $(CDEFS)
CFLAGS += -O$(OPT)
CFLAGS += -funsigned-char
CFLAGS += -funsigned-bitfields
CFLAGS += -fpack-struct
CFLAGS += -fshort-enums
CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes
#CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
CFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS))
CFLAGS += $(CSTANDARD)
CFLAGS += --save-temps
+=은 앞에 추가로 또 붙이겠다는 뜻이다.
CPPFLAGS += -Wall
W는 워닝이고 all은 워닝을 전부 출력하겠다는 말.
|