blob: 702723fd842f46d45d3bcaf709cad3bbdf2ea23e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
PROJECT_TITLE := ClassiCube
PROJECT_TITLEID := CUBE00200
TARGET := ClassiCube-vita
BUILD_DIR := build-vita
SOURCE_DIRS := src third_party/bearssl/src
CFLAGS += -Wl,-q -Ithird_party/bearssl/inc -O1
C_FILES := $(foreach dir,$(SOURCE_DIRS),$(wildcard $(dir)/*.c))
OBJS := $(addprefix $(BUILD_DIR)/, $(notdir $(C_FILES:%.c=%.o)))
LIBS += -lm -lSceDisplay_stub -lSceCtrl_stub -lSceTouch_stub -lSceGxm_stub -lSceCommonDialog_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 -a misc/vita/sce_sys/ICON0.png=sce_sys/ICON0.png $(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 $@ $<
$(BUILD_DIR)/%.o : third_party/bearssl/src/%.c
arm-vita-eabi-gcc -c $(CFLAGS) -o $@ $<
# TODO: There's gotta be a better way of .o to .c than this
clean:
rm $(TARGET).velf $(TARGET).elf $(TARGET).vpk param.sfo eboot.bin $(OBJS)
|