PROJECT_TITLE 	:= ClassiCube
PROJECT_TITLEID := CUBE00200
TARGET 			:= ClassiCube-vita

BUILD_DIR		:= build-vita
SOURCE_DIR		:= src

CFLAGS 	+= -Wl,-q -I../common
C_FILES := $(wildcard $(SOURCE_DIR)/*.c)
OBJS 	:= $(addprefix $(BUILD_DIR)/, $(C_FILES:$(SOURCE_DIR)/%.c=%.o))

# Needed by psvDebugScreenPrintf
LIBS += -lm -lSceDisplay_stub -lSceCtrl_stub -lSceTouch_stub -lSceGxm_stub


#---------------------------------------------------------------------------------
# main targets
#---------------------------------------------------------------------------------
default: $(BUILD_DIR) $(TARGET).vpk

$(BUILD_DIR):
	mkdir -p $(BUILD_DIR)

$(TARGET).vpk: eboot.bin param.sfo
	vita-pack-vpk -s param.sfo -b eboot.bin $(TARGET).vpk

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

param.sfo:
	vita-mksfoex -s TITLE_ID="$(PROJECT_TITLEID)" "$(PROJECT_TITLE)" param.sfo

$(TARGET).velf: $(TARGET).elf
	arm-vita-eabi-strip -g $<
	vita-elf-create $< $@

$(TARGET).elf: $(OBJS)
	arm-vita-eabi-gcc $(CFLAGS) $^ $(LIBS) -o $@

$(BUILD_DIR)/%.o : src/%.c
	arm-vita-eabi-gcc -c $(CFLAGS) -o $@ $<

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