ID=firmware
DIR=~/roms
ASM=uxncli ${DIR}/drifblim.rom
LIN=uxncli ${DIR}/uxnlin.rom
PIO=pio
.DEFAULT_GOAL := rom

.PHONY: rom run lint format clean

rom: src/rom.h
	${PIO} run -e x3

run: bin/${ID}.rom
	uxn11 bin/${ID}.rom

lint:
	${LIN} src/${ID}.tal

format:
	clang-format -i src/main.cpp

clean:
	${PIO} run -t clean -e x3

bin:
	mkdir -p bin

bin/${ID}.rom: src/*.tal | bin
	${ASM} src/${ID}.tal $@

src/rom.h: tools/embed_rom.py bin/${ID}.rom
	python3 tools/embed_rom.py bin/${ID}.rom $@
