
NAME := evoketws
NAMEU := EVOKETWS

default: all

TILP ?= sudo tilp
WABBIT ?= bin/wabbit
SPASM ?= spasm

bin/wabbit: wabbit/Makefile
	$(MAKE) -C wabbit/
	@mv -v wabbit/wabbit bin/wabbit

%/:
	@mkdir -vp "$@"

bin/%.8XP: obj/%.bin $(WABBIT) bin/
	cd obj && ../$(WABBIT) "$*.bin" "$*.8XP"
	@mv -v "obj/$*.8XP" "$@"
	@wc -c "$@"

obj/%.bin: src/%.z80 obj/
	$(SPASM) "$<" "$@"

clean:
	@-$(RM) -v obj/* bin/*
distclean: clean
	$(MAKE) -C wabbit/ clean

all: bin/$(NAMEU).8XP

# to 15 d 10 p 1
t: all
	cd bin && $(TILP) -n --calc=ti84+ --cable=DirectLink --delay=10 --timeout=15 --port=1 "$(NAMEU).8XP"

rel: all
	@$(RM) -rvf "rel/k2-$(NAME)"
	@mkdir -p "rel/k2-$(NAME)/src"
	@cp -vr "bin/$(NAMEU).8XP" file_id.diz "rel/k2-$(NAME)"
	@cp -vr README.rel "rel/k2-$(NAME)/k2-$(NAME).nfo"
	@cp -vr src/ wabbit/ Makefile "rel/k2-$(NAME)/src"
	@cd rel/ && zip -vr "k2-$(NAME).zip" "k2-$(NAME)"

.PHONY: default all clean distclean t rel

.PRECIOUS: bin/$(NAMEU).8XP obj/$(NAMEU).bin

