Files
dmxgsm/avr_firmware/Makefile

31 lines
792 B
Makefile

GIT_VERSION := $(shell git describe --dirty=-d --always --tags --abbrev)
CC=avr-gcc
#CCOPTS=-mmcu=atmega164a -std=c11 -flto -Os -ggdb -Wall -Wextra -pedantic -DF_CPU=8000000UL
CCOPTS=-mmcu=atmega32 -std=c11 -flto -Os -ggdb -mrelax -Wall -Wextra -Wno-char-subscripts -pedantic -DF_CPU=8000000UL -DVERSION=\"$(GIT_VERSION)\"
CCSRCS ::= uart.c main.c modem.c timer.c lcd.c ui.c
all: fw.elf
prog: fw.elf
avrdude -c avrisp2 -p m32 -U flash:w:$<
fw.elf: $(addprefix objs/,$(CCSRCS:.c=.o))
$(CC) $(CCOPTS) -o $@ $^
@size $@
objs/%.o: src/%.c
$(CC) $(CCOPTS) -c -MMD -MP -o $@ $<
@cp objs/$*.d objs/$*.P; rm -f objs/$*.d
clean:
rm -f fw.elf\
$(addprefix objs/,$(CCSRCS:.c=.o))\
$(addprefix objs/,$(CCSRCS:.c=.P))
-include $(addprefix objs/,$(CCSRCS:.c=.P))
.PHONY: clean all prog