diff options
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 21 | 
1 files changed, 15 insertions, 6 deletions
@@ -1,21 +1,30 @@  .PHONY: flash love -TARGET=lightctrl +TARGETS=door lightctrl +  CFLAGS_OPT=-Os \  	-fpredictive-commoning -fmerge-all-constants -fmodulo-sched -fmodulo-sched-allow-regmoves \  	-fgcse-sm -fgcse-las -fgcse-after-reload -fconserve-stack \  	-fwhole-program  CFLAGS_WARN=-std=gnu99 -Wall -Wextra -Wno-unused -pedantic  CFLAGS_LD=-Wl,-T,avr4-signature.x  -CFLAGS=-mmcu=atmega48 ${CFLAGS_WARN} ${CFLAGS_OPT} ${CFLAGS_LD} +CFLAGS=${CFLAGS_WARN} ${CFLAGS_OPT} ${CFLAGS_LD} +MCU_door=48 +MCU_lightctrl=88 -love: ${TARGET}.elf +love: $(foreach target,$(TARGETS),$(target).elf) +	avr-size $^ +ifdef TARGET  flash: ${TARGET}.flash -	avrdude -p m48 -c stk500v2 -P avrdoper -y -U flash:w:$< +	avrdude -p m$(MCU_$(basename $<)) -c stk500v2 -P avrdoper -y -U flash:w:$< +else +flash: +	@echo the flash target is available only with TARGET set to something. use e.g. \"make flash TARGET=door\" >&2 +	@false +endif  %.flash: %.elf Makefile  	avr-objcopy -j .text -j .data -O ihex $< $@  %.elf: %.c *.c *.x Makefile -	avr-gcc ${CFLAGS} -o $@ $< -	avr-size $@ +	avr-gcc -mmcu=atmega$(MCU_$(basename $@)) ${CFLAGS} -o $@ $<  | 
