HAVE_FILE_LOGGER  = 0
DEBUG             = 0

TARGET = retroarchvita_salamander
TITLE_ID = RETROVITA

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

PREFIX  = arm-vita-eabi
CC      = $(PREFIX)-gcc

INCDIR = libretro-common/include
CFLAGS = -Wl,-q $(OPTIMIZE_LV) -I$(INCDIR) -std=gnu99 -mfloat-abi=hard -ffast-math -fsingle-precision-constant -mword-relocations
ASFLAGS = $(CFLAGS)

RARCH_DEFINES = -DVITA -DIS_SALAMANDER -DRARCH_CONSOLE

LIBDIR =
LDFLAGS =
LIBS = -lSceDisplay_stub -lSceGxm_stub -lSceNet_stub -lSceNetCtl_stub\
     -lSceSysmodule_stub -lSceCtrl_stub -lSceHid_stub -lSceAudio_stub -lSceFiber_stub\
     -lScePower_stub -lSceRtc_stub -lSceCommonDialog_stub -lScePgf_stub \
     -lSceMotion_stub -lSceAppMgr_stub -lfreetype -lpng -lm -lc

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

CFLAGS += $(RARCH_DEFINES)

OBJS = frontend/frontend_salamander.o \
		 frontend/frontend_driver.o \
		 frontend/drivers/platform_psp.o \
		 frontend/drivers/platform_null.o \
		 libretro-common/file/file_path.o \
		 libretro-common/string/stdstring.o \
		 libretro-common/lists/string_list.o \
		 libretro-common/lists/dir_list.o \
		 libretro-common/file/retro_dirent.o \
		 libretro-common/encodings/encoding_utf.o \
		 libretro-common/compat/compat_strl.o \
		 libretro-common/compat/compat_strcasestr.o \
		 libretro-common/compat/fopen_utf8.o \
		 libretro-common/file/config_file.o \
		 libretro-common/streams/file_stream.o \
		 libretro-common/vfs/vfs_implementation.o \
		 libretro-common/hash/rhash.o \
		 file_path_str.o \
		 verbosity.o

all: $(TARGET).vpk

%.vpk: eboot.bin
	vita-mksfoex -s TITLE_ID=$(TITLE_ID) "$(TARGET)" param.sfo
	vita-pack-vpk -s param.sfo -b eboot.bin $@

eboot.bin: $(TARGET).velf
	vita-make-fself $< $@

%.velf: %.elf
	vita-elf-create $< $@

$(TARGET).elf: $(OBJS)
	$(CC) $(CFLAGS) $^ $(LIBS) -o $@

%.o: %.png
	$(PREFIX)-ld -r -b binary -o $@ $^

clean:
	@rm -rf $(TARGET).vpk $(TARGET).velf $(TARGET).elf $(OBJS) \
		eboot.bin param.sfo

vpksend: $(TARGET).vpk
	curl -T $(TARGET).vpk ftp://$(PSVITAIP):1337/ux0:/
	@echo "Sent."

PSVITAIP = 192.168.1.15

send: eboot.bin
	curl -T eboot.bin ftp://$(PSVITAIP):1337/ux0:/app/$(TITLE_ID)/
	@echo "Sent."