TARGET = snes9xTYL
INCDIR = . psp psp/me psp/openspc++ psp/adhoc zlib danzeff

CFLAGS=  -O3 -g -G0 -Wall \
	-DPSP -D__PSP__  \
	#-mno-fp-exceptions -mno-check-zero-division -ffast-math
	#-mgp32 -mlong32 -fstrict-aliasing \
	#-frename-registers -fschedule-insns2 -fomit-frame-pointer -fforce-addr \
	#-funroll-loops -fdelete-null-pointer-checks
	#-march=allegrex 


CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS = $(CFLAGS) -c

LIBDIR = 
LDFLAGS =
#USE_PSPSDK_LIBC=1
LIBS = -lpng -lm -lpspaudio -lpspgu -lpsppower -ljpeg -lpsputility -lstdc++ -lpspwlan -lpspgum_vfpu  -lpspvfpu -lpspgu  -lpspusb -lpspusbstor
#-lpspgum -lpspgu 


EXTRA_TARGETS = EBOOT.PBP
EXTRA_CLEAN = 

# use my own target - thx to zelurker for pointing this to me in neocdpsp ;-)
PSP_EBOOT_TITLE = toto
ifdef ME_ACTIVE
PSP_EBOOT_TITLE = toto
endif
PSP_EBOOT_ICON = data/icon0.png
 
# Object files
PSP_OBJECTS=apu.o apudebug.o c4.o c4emu.o cheats.o cheats2.o clip.o cpu.o cpuexec_opti.o cpuops.o data.o\
debug.o dma.o dsp1.o fxdbg.o fxemu.o fxinst.o gfx_mode7.o gfx.o gfx_org.o gfx_psp.o globals.o loadzip.o memmap.o\
ppu.o sa1.o sa1cpu.o sdd1.o sdd1emu.o snapshot.o snes9x.o spc700.o srtc.o soundux.o\
tile.o tile_org.o tile_sw.o tile_psp.o unzip.o cheats.o cheats2.o
#sound_mips.o snaporig.o 

PLATFORMOBJ   = psp/psp.o psp/psp_ui.o psp/config.o psp/psplib.o psp/pg.o psp/psp_msg.o \
	psp/filer.o psp/menu.o psp/imageio.o psp/blitter.o psp/decrypt.o psp/img_jpeg.o psp/ram.o psp/psp_net.o \
	psp/menu_fx.o psp/me/mem64.o
	
MEOBJ =	psp/me/mestub.o psp/me/me.o 

SPCOBJ = psp/openspc++/dsp.o psp/openspc++/spc.o psp/openspc++/ospcmain.o psp/openspc++/os9xZ_openspc.o

NETOBJ = psp/adhoc/stubs.o psp/adhoc/loadutil.o psp/adhoc/pspadhoc.o psp/adhoc/selectorMenu.o
	
ZLIBOBJ = zlib/adler32.o zlib/compress.o zlib/crc32.o zlib/gzio.o\
		zlib/uncompr.o zlib/deflate.o zlib/trees.o zlib/zutil.o\
		zlib/inflate.o zlib/infblock.o zlib/inftrees.o zlib/infcodes.o\
		zlib/infutil.o zlib/inffast.o 
		
DANZOBJ = danzeff/danzeff.o

OBJS= $(PLATFORMOBJ) $(PSP_OBJECTS) $(ZLIBOBJ) $(SPCOBJ) $(NETOBJ) $(DANZOBJ)

ifdef ME_ACTIVE
OBJS+= $(MEOBJ)
CFLAGS+= -DME_SOUND
else
# CFLAGS+= -DNOKERNEL
endif

# Rules to make libraries


PSPSDK=$(shell psp-config --pspsdk-path)
include $(PSPSDK)/lib/build.mak

PARAM.SFO: psp/psp.h
	sh make_version_user

# Dependecies
tile_psp.o: tile_psp.h
gfx_psp.o: tile_psp.h
clean_snes:
	rm $(PSP_OBJECTS) $(PLATFORMOBJ)
