53 lines
901 B
Makefile
53 lines
901 B
Makefile
|
|
NAME := sd-reader
|
|
HEX := $(NAME).hex
|
|
OUT := $(NAME).out
|
|
MAP := $(NAME).map
|
|
SOURCES := $(wildcard *.c)
|
|
HEADERS := $(wildcard *.h)
|
|
OBJECTS := $(patsubst %.c,%.o,$(SOURCES))
|
|
|
|
MCU := attiny2313a
|
|
MCU_AVRDUDE := t2313
|
|
MCU_FREQ := 8000000UL
|
|
|
|
CC := avr-gcc
|
|
OBJCOPY := avr-objcopy
|
|
SIZE := avr-size -A
|
|
DOXYGEN := doxygen
|
|
|
|
CFLAGS := -Werror -Wall -pedantic -mmcu=$(MCU) -std=c99 -g -Os -DF_CPU=$(MCU_FREQ)
|
|
|
|
all: $(HEX)
|
|
|
|
clean:
|
|
rm -f $(HEX) $(OUT) $(MAP) $(OBJECTS)
|
|
rm -rf doc/html
|
|
|
|
flash: $(HEX)
|
|
avrdude -y -c avr910 -p $(MCU_AVRDUDE) -U flash:w:$(HEX)
|
|
|
|
$(HEX): $(OUT)
|
|
$(OBJCOPY) -R .eeprom -O ihex $< $@
|
|
|
|
$(OUT): $(OBJECTS)
|
|
$(CC) $(CFLAGS) -o $@ -Wl,-Map,$(MAP) $^
|
|
@echo
|
|
@$(SIZE) $@
|
|
@echo
|
|
|
|
%.o: %.c $(HEADERS)
|
|
$(CC) $(CFLAGS) -c -o $@ $<
|
|
|
|
%.pp: %.c
|
|
$(CC) $(CFLAGS) -E -o $@ $<
|
|
|
|
%.ppo: %.c
|
|
$(CC) $(CFLAGS) -E $<
|
|
|
|
doc: $(HEADERS) $(SOURCES) Doxyfile
|
|
$(DOXYGEN) Doxyfile
|
|
|
|
.PHONY: all clean flash doc
|
|
|