#Neogeo cd SDL by fosters 
#Back from the dead thanks to Quzar =P

INC =-DFASTCALL= -I.  -Iz80 -DDREAMCAST -DFRAME_POINTERS -DINLINE=__inline__ -DLOWERCASEFILES #-DFAME
#FAME = 1

TARGET = NeoDC.elf

ifdef FAME
PROBJS = 68k/fame.o
else
PROBJS = c68k/c68k.o c68k/c68kexec.o
endif

OBJS= memory/memory.o sound/MixAudio.o sound/aica.o sound/2610intf.o z80/z80intrf.o vmu/vmu.o sound/fm.o sound/sound.o neocdc.o  cdrom/cdrom.o cdaudio/cdaudio.o  sound/streams.o sound/ay8910.o  sound/timer.o sound/ymdeltat.o video/draw_fix.o video/video_draw_fix.o video/videopvr.o input/input.o pd4990adc.o
PROBJS +=  z80/z80.o

all: NeoDC.bin  rm-elf $(TARGET)

include $(KOS_BASE)/Makefile.rules

OPT1= -Os -fno-omit-frame-pointer -falign-loops -fstrict-aliasing -fno-gcse -freorder-blocks -funsigned-char -funsigned-char -funroll-all-loops -frerun-loop-opt  -falign-loops -fstrict-aliasing
#OPT1 = -Os -fno-gcse

KOS_CFLAGS = $(INC) -ml -m4-single-only -D_arch_dreamcast -D_arch_sub_pristine  \
$(OPT1) \
-I$(KOS_BASE)/../kos-ports/include -I$(KOS_BASE)/include -I$(KOS_BASE)/kernel/arch/dreamcast/include -I$(KOS_BASE)/addons/include-I$(KOS_BASE)/include -I$(KOS_BASE)/addons/include -I$(KOS_BASE)/../kos-ports/include  -I$(KOS_BASE)/../kos-ports/include/zlib -I$(KOS_BASE)/../kos-ports/libpng

clean:
	-rm -f $(TARGET) $(OBJS) romdisk.* NeoDC.bin 1ST_READ.bin

cleam:
	-rm -f $(TARGET) NeoDC.bin 1ST_READ.bin

rm-elf:
	-rm -f $(TARGET) romdisk.*

$(TARGET): $(OBJS) $(PROBJS) romdisk.o
	$(KOS_CC) $(KOS_CFLAGS) $(KOS_LDFLAGS) -o $(TARGET) $(KOS_START) \
		$(OBJS) $(PROBJS) romdisk.o -L$(KOS_BASE)/lib -lgcc -ljpeg -lm $(KOS_LIBS)


romdisk.img:
	$(KOS_GENROMFS) -f romdisk.img -d romdisk -v

romdisk.o: romdisk.img
	$(KOS_BASE)/utils/bin2o/bin2o romdisk.img romdisk romdisk.o

NeoDC.bin: $(TARGET)
	#/usr/local/dc/sh-elf/bin/sh-elf-strip -s $(TARGET)
	$(KOS_OBJCOPY) -O binary -R .stack $(TARGET) NeoDC.bin
	$(KOS_BASE)/utils/scramble/scramble NeoDC.bin 1ST_READ.bin

run: $(TARGET)
	arp -s 192.168.0.2 00-d0-f1-02-a5-a6
	dc-tool -t 192.168.0.2 -x NeoDC.bin