$(shell mkdir -p build)

aseprite := /Applications/Aseprite.app/Contents/MacOS/aseprite

sources := $(shell find src -name '*.js')

sprites := $(wildcard res/*.aseprite)
mp3s := $(wildcard res/*.mp3)
mp3s := $(patsubst res/%.mp3,build/%.mp3,$(mp3s))
anims := $(patsubst res/%.aseprite,build/%.json,$(sprites))

all: Makefile build/index.html build/script.js $(anims) $(mp3s)

cog: $(anims) $(mp3s)
	mkdir -p build && rg -lF '[[[cog' src | xargs -P0 -t cog -r

run: all
	npx live-server build

watch:
	watchexec --verbose -r --ignore='build/*' make

build/index.html: dev.html
	cp $< $@

build/%.json: res/%.aseprite
	$(aseprite) --batch $< --save-as build/$*.png --data $@

build/%.mp3: res/%.mp3
	cp $< $@

build/WorldData.js: res/world.tmx res/*.tsx tools/*
	python3 tools/export_world.py $@

build/script.js: cog tools/build.py $(sources) build/WorldData.js
	python3 tools/build.py $(sources) build/WorldData.js > $@
