# Chaosknoten - animated logo board
# Copyright (C) 2019 Stefan Schuermans <stefan@blinkenarea.org>
# Copyleft: GNU public license - http://www.gnu.org/copyleft/gpl.html
# a BlinkenArea project - http://www.blinkenarea.org/
NAME := Chaosknoten
INC := tn2313def
LFUSE := 0x64
HFUSE := 0xDF
EFUSE := 0xFF
LOCK := 0xFC
PROGRAMMER := avrisp2
CONNECTION := usb
DEVICE := t2313
AVRA := avra
AVRDUDE := avrdude
AVRDUDE_CALL := $(AVRDUDE) -c $(PROGRAMMER) -P $(CONNECTION) -p $(DEVICE)
SUFFIXES :=
.PHONY: all prog prog_fuses prog_auto clean
.SUFFIXES:
.SECONDARY:
all: $(NAME).hex
$(NAME).hex: $(NAME).asm $(INC).inc Makefile
$(AVRA) -l $(NAME).lst $(NAME).asm
prog_fuses: Makefile
$(AVRDUDE_CALL) -u -e
$(AVRDUDE_CALL) -u -U lfuse:w:$(LFUSE):m -U hfuse:w:$(HFUSE):m \
-U efuse:w:$(EFUSE):m
prog: $(NAME).hex Makefile
$(AVRDUDE_CALL) -u -e
$(AVRDUDE_CALL) -u -U flash:w:$(NAME).hex
$(AVRDUDE_CALL) -u -V -U lock:w:$(LOCK):m
prog_auto: $(NAME).hex Makefile
while ! $(MAKE) prog_fuses || ! $(MAKE) prog; do echo -n; done
clean:
rm -f $(addprefix $(NAME)., lst obj cof hex eep.hex)