#
CC = gcc
CXBE = cxbe

SDLFLAGS = -DENABLE_XBOX -DDISABLE_AUDIO -DDISABLE_CDROM -DDISABLE_THREADS -DDISABLE_TIMERS -DDISABLE_ENDIAN -DDISABLE_FILE
CC_FLAGS = -c -g -std=gnu99 -ffreestanding -nostdlib -fno-builtin -fno-exceptions -mno-cygwin -march=i386 $(SDLFLAGS)
INCLUDE  = -I/usr/local/openxdk/i386-pc-xbox/include -I/usr/local/openxdk/include

CLINK = -nostdlib
ALIGN = -Wl,--file-alignment,0x20 -Wl,--section-alignment,0x20 
SHARED = -shared
ENTRYPOINT = -Wl,--entry,_WinMainCRTStartup 
STRIP = -Wl,--strip-all
LD_FLAGS = $(CLINK) $(ALIGN) $(SHARED) $(ENTRYPOINT) $(STRIP)
LD_DIRS = -L/usr/local/openxdk/i386-pc-xbox/lib -L/usr/local/openxdk/lib 
LD_LIBS  = $(LD_DIRS) -lSDL -lopenxdk -lhal -lc -lhal -lc -lusb -lxboxkrnl


all: comingSoon.exe debugPrint.exe reboot.exe testNewlib.exe fileHal.exe fileStdio.exe sdlVideo.exe padTest.exe sdlJoystick.exe 

.c.o:
	$(CC) -c $< $(CC_FLAGS) $(INCLUDE)

comingSoon.exe: comingSoon.o 
	$(CC) -o $@ $< $(LD_LIBS) $(LD_FLAGS)
	$(CXBE) -TITLE:"$@" -DUMPINFO:"comingSoon.cxbe" -OUT:"comingSoon.xbe" $@ > /dev/null

debugPrint.exe: debugPrint.o 
	$(CC) -o $@ $< $(LD_LIBS) $(LD_FLAGS) 
	$(CXBE) -TITLE:"$@" -DUMPINFO:"debugPrint.cxbe" -OUT:"debugPrint.xbe" $@ > /dev/null

reboot.exe: reboot.o 
	$(CC) -o $@ $< $(LD_LIBS) $(LD_FLAGS)
	$(CXBE) -TITLE:"$@" -DUMPINFO:"reboot.cxbe" -OUT:"reboot.xbe" $@ > /dev/null

testNewlib.exe: testNewlib.o 
	$(CC) -o $@ $< $(LD_LIBS) $(LD_FLAGS)
	$(CXBE) -TITLE:"$@" -DUMPINFO:"testNewlib.cxbe" -OUT:"testNewlib.xbe" $@ > /dev/null

fileHal.exe: fileHal.o 
	$(CC) -o $@ $< $(LD_LIBS) $(LD_FLAGS)
	$(CXBE) -TITLE:"$@" -DUMPINFO:"fileHal.cxbe" -OUT:"fileHal.xbe" $@ > /dev/null

fileStdio.exe: fileStdio.o 
	$(CC) -o $@ $< $(LD_LIBS) $(LD_FLAGS)
	$(CXBE) -TITLE:"$@" -DUMPINFO:"fileStdio.cxbe" -OUT:"fileStdio.xbe" $@ > /dev/null

sdlVideo.exe: sdlVideo.o 
	$(CC) -o $@ $< $(LD_LIBS) $(LD_FLAGS)
	$(CXBE) -TITLE:"$@" -DUMPINFO:"sdlVideo.cxbe" -OUT:"sdlVideo.xbe" $@ > /dev/null

sdlJoystick.exe: sdlJoystick.o 
	$(CC) -o $@ $< $(LD_LIBS) $(LD_FLAGS)
	$(CXBE) -TITLE:"$@" -DUMPINFO:"sdlJoystick.cxbe" -OUT:"sdlJoystick.xbe" $@ > /dev/null

padTest.exe: padTest.o 
	$(CC) -o $@ $< $(LD_LIBS) $(LD_FLAGS)
	$(CXBE) -TITLE:"$@" -DUMPINFO:"padTest.cxbe" -OUT:"padTest.xbe" $@ > /dev/null

clean: 
	rm -f *.o *.exe *.dll *.xbe *.cxbe


