BUILD_PRX          = 0
PSP_LARGE_MEMORY   = 1
DEBUG              = 0
HAVE_KERNEL_PRX    = 1
HAVE_LOGGER        = 0
HAVE_FILE_LOGGER   = 0
HAVE_THREADS       = 1
BIG_STACK          = 0
WHOLE_ARCHIVE_LINK = 0

TARGET = retroarchpsp

ifeq ($(DEBUG), 1)
   OPTIMIZE_LV	:= -O0 -g
else
   OPTIMIZE_LV	:= -O3
endif

ifeq ($(WHOLE_ARCHIVE_LINK), 1)
   WHOLE_START := -Wl,--whole-archive
   WHOLE_END := -Wl,--no-whole-archive
endif

INCDIR = deps deps/stb deps/7zip deps/pthreads deps/pthreads/platform/psp deps/pthreads/platform/helper libretro-common/include libretro-common/include/compat/zlib
CFLAGS = $(OPTIMIZE_LV) -G0 -std=gnu99 -ffast-math -fsingle-precision-constant
ASFLAGS = $(CFLAGS)

RARCH_DEFINES = -DPSP -D_MIPS_ARCH_ALLEGREX -DHAVE_LANGEXTRA -DHAVE_ZLIB -DHAVE_RPNG -DHAVE_RJPEG -DHAVE_GRIFFIN=1 -DRARCH_INTERNAL -DRARCH_CONSOLE -DHAVE_MENU -DHAVE_RGUI -DHAVE_FILTERS_BUILTIN -DHAVE_7ZIP -DHAVE_CC_RESAMPLER

LIBDIR =
LDFLAGS =
LIBS = $(WHOLE_START) -lretro_psp1 $(WHOLE_END) -lstdc++ -lpspgu -lpspgum -lm -lpspaudio -lpspfpu -lpsppower -lpsprtc

ifeq ($(HAVE_THREADS), 1)
RARCH_DEFINES += -DHAVE_THREADS
endif

ifeq ($(HAVE_FILE_LOGGER), 1)
CFLAGS += -DHAVE_FILE_LOGGER
endif

ifeq ($(HAVE_KERNEL_PRX), 1)
CFLAGS += -DHAVE_KERNEL_PRX
endif

ifeq ($(BIG_STACK), 1)
CFLAGS += -DBIG_STACK
endif

CFLAGS += $(RARCH_DEFINES)

EXTRA_TARGETS = EBOOT.PBP
PSP_EBOOT_TITLE = RetroArch PSP1

PSP_OBJECTS = griffin/griffin.o bootstrap/psp1/kernel_functions.o

OBJS = $(PSP_OBJECTS)

PSPSDK=$(shell psp-config --pspsdk-path)
include $(PSPSDK)/lib/build.mak