BUILD_DIR_PURE := build.raspbian
BUILD_DIR := $(BUILD_DIR_PURE)/

PITREX_DIR  := ../pitrex/pitrex/
VECTREX_DIR := ../pitrex/vectrex/
##CFLAGS      := -g -Os -I../pitrex/ -DPIZERO -DRPI0 -fomit-frame-pointer -DLSB_FIRST #-DDEBUG # -Wall
CFLAGS      := -g       -I../pitrex/ -DPIZERO -DRPI0 -fomit-frame-pointer -DLSB_FIRST #-DDEBUG # -Wall
CC          := gcc $(CFLAGS) # C compiler used
LD          := gcc $(CFLAGS) # Linker used

.PHONY: pitrexLib
.PHONY: dirCheck

all:	dirCheck pitrexLib dkong
	echo All up to date
##################################################################################################

dkong-sbt.c: z80dasm
	./z80dasm 2> dkong-sbt.c

dkong: $(BUILD_DIR)dkong.o $(BUILD_DIR)init.o $(BUILD_DIR)dkvectrex.o pitrexLib
	$(RM) dkong
	$(CC) -o dkong \
	$(PITREX_DIR)$(BUILD_DIR)bcm2835.o \
	$(PITREX_DIR)$(BUILD_DIR)pitrexio-gpio.o \
	$(VECTREX_DIR)$(BUILD_DIR)vectrexInterface.o \
	$(VECTREX_DIR)$(BUILD_DIR)osWrapper.o \
	$(VECTREX_DIR)$(BUILD_DIR)baremetalUtil.o \
	$(BUILD_DIR)dkong.o \
	$(BUILD_DIR)init.o \
	$(BUILD_DIR)dkvectrex.o


z80dasm:    Z80Dasm.o z80.o
	$(LD) -o z80dasm Z80Dasm.o z80.o # -s

clean:
	rm -f z80dasm dkong *.o
	$(RM) $(BUILD_DIR)*.* *~ dkong z80dasm *.o

tar:
	make clean
	# tar -cvf z80.tar .

upload:
	scp Makefile-linux Makefile.raspbian *.[hc] gtoal@gtoal.com:gtoal.com/vectrex/kong/
	#scp Makefile-linux Makefile-pitrex Makefile.raspbian *.[hc] *.txt gtoal@gtoal.com:gtoal.com/vectrex/kong/

$(BUILD_DIR)dkong.o: dkong.c dkong-rom.h dkong-lab.h dkong-sbt.c Z80DAA.h
	$(CC) -o $(BUILD_DIR)dkong.o -c dkong.c
	# $(CC) -Wa,-adhln -g -o $(BUILD_DIR)dkong.o -c dkong.c > dkong.c+asm

$(BUILD_DIR)init.o: init.c dkong-vectors.h
	$(CC) -o $(BUILD_DIR)init.o -c init.c

$(BUILD_DIR)dkvectrex.o: dkvectrex.c
	$(CC) -o $(BUILD_DIR)dkvectrex.o -c dkvectrex.c

z80.o: z80.c Z80.h Z80DAA.h Z80Codes.h Z80IO.h # Z80CDx86.h

Z80Dasm.o: Z80Dasm.c Z80Dasm.h

dkong.o: dkong.c dkong-rom.h dkong-lab.h dkong-sbt.c Z80DAA.h

init.o: init.c dkong-vectors.h

z80.o: z80.c Z80.h Z80DAA.h Z80Codes.h Z80IO.h # Z80CDx86.h

Z80Dasm.o: Z80Dasm.c Z80Dasm.h
##################################################################################################
#### Makefile for dkong z80 stuff:

Z80Dasm.o:  Z80Dasm.c

Z80.o:      Z80.c Z80.h Z80Codes.h Z80IO.h Z80DAA.h
z80.o:      z80.c Z80.h Z80Codes.h Z80IO.h Z80DAA.h
Z80Dasm.o: Z80Dasm.h

dirCheck:
	if [ ! -d $(BUILD_DIR_PURE) ]; then mkdir $(BUILD_DIR_PURE); fi

pitrexLib:
	$(MAKE) -C $(PITREX_DIR) -f Makefile.raspbian all
	$(MAKE) -C $(VECTREX_DIR) -f Makefile.raspbian all

install:
	install -o root -g games -m 6555 dkong /opt/pitrex/bin
