TARGET=EVO

AS=as-z80
CC=sdcc
SJASM=sjasmplus
HOSTCC=g++ -m32 -O3

SDKDIR=$(shell pwd)
SDKBIN=$(SDKDIR)/bin

# ӣ   ,  
all: tools prepare startup.bin sound.bin crt0.o evo.o
	

#  crt0
crt0.o: crt0.s
	$(AS) -o $@ $<

#  
prepare:
	@echo "SDK directory: $(SDKDIR)"
	@echo " define $(TARGET)" > target.asm

#    C
startup.bin: lib_startup.asm
	$(SJASM) lib_startup.asm
	mv -f lib_startup.exp startup.exp
	$(SDKBIN)/exp2h startup.exp startup.h

sound.bin:
	$(SJASM) lib_sndpage.asm

%.o:%.c
	$(CC) -mz80 -I./ -c $<

clean: tools_clean
	rm -f *.o *.lst *.sym *.exp *.bin startup.asm target.h evo.asm

#  
TOOLDIR=$(SDKDIR)/tools.src
TOOLS=evoresc makeresh  mktrd

tools:
	@for i in $(TOOLS); do \
	echo "make $$i" ; \
	$(HOSTCC) -o $(SDKBIN)/$$i $(TOOLDIR)/$$i/$$i.cpp > /dev/null 2>&1 ; \
	done
	
	make -C $(TOOLDIR)/megalz
	mv -f $(TOOLDIR)/megalz/megalz $(SDKBIN)/

tools_clean:
	@for i in $(TOOLS); do \
	echo "remove $$i" ; \
	rm -f $(SDKBIN)/$$i ; \
	done
	make -C $(TOOLDIR)/megalz clean
	rm -f $(SDKBIN)/megalz
