CC=sdcc -mz80 --std-sdcc99
AS=sdasz80
LD=$(CC)

C_FILES=$(shell find src -type f -iname '*.c')
S_FILES=$(shell find src -type f -iname '*.asm')
O_FILES=$(patsubst src/%.c,build/%.rel,$(C_FILES)) $(patsubst src/%.asm,build/%.rel,$(S_FILES))

all: out/result.ihx

build/%.rel: src/%.c | builddirs
	$(CC) -c -o $@ $^

build/%.rel: src/%.asm | builddirs
	$(AS) -o $@ $^

out/result.ihx: $(O_FILES) | builddirs
	$(LD) -o $@ $^

clean:
	rm -rf build out

builddirs:
	mkdir -p build out
