# Edit this configuration to match your system. Currently every one of
# these but LD is used directly, but you might as well be complete.

TARGET=sh-elf
DCBASE=/usr/local
CC=$(DCBASE)/bin/$(TARGET)-gcc -ml -O -m4-single-only -Wall
LD=$(DCBASE)/bin/$(TARGET)-ld
AS=$(DCBASE)/bin/$(TARGET)-as
AR=$(DCBASE)/bin/$(TARGET)-ar
OBJCOPY=$(DCBASE)/bin/$(TARGET)-objcopy

INCS=-I./include
LIBS=-L./lib -ldream
OBJS= phoenix.o Z80.o memory.o malloc.o video.o input.o sound.o vmulcd.o gui.o

all: phoenix.srec phoenix.bin

phoenix.srec: phoenix.elf
	$(OBJCOPY) -O srec phoenix.elf phoenix.srec

phoenix.bin: phoenix.elf
	$(OBJCOPY) -O binary phoenix.elf phoenix.bin

phoenix.elf: $(OBJS)
	$(CC) -Wl,-Ttext,0x8c010000 -o phoenix.elf $(OBJS) $(LIBS)

phoenix.o: phoenix.c 
	$(CC) $(INCS) -c phoenix.c

Z80.o: ./Z80/Z80.c 
	$(CC) $(INCS) -c ./Z80/Z80.c

memory.o: memory.c
	$(CC) $(INCS) -c memory.c
	
malloc.o: malloc.c
	$(CC) $(INCS) -c malloc.c
	
video.o: video.c
	$(CC) $(INCS) -c video.c

input.o: input.c
	$(CC) $(INCS) -c input.c
	
sound.o: sound.c
	$(CC) $(INCS) -c sound.c
	
vmulcd.o: vmulcd.c
	$(CC) $(INCS) -c vmulcd.c
	
gui.o: gui.c
	$(CC) $(INCS) -c gui.c

clean:
	-rm -f *.o *.elf *.srec 

send:
	-dc-tool.exe -t com1 -x phoenix.bin
