-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile.vita
42 lines (34 loc) · 1.67 KB
/
Makefile.vita
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
TARGET := Beat2x
SOURCES := .
LIBS = -lSDL_Mixer -lSDL_Image -lSDL -lvitaGL -lvitashark -lmathneon -lSceShaccCgExt \
-lSceShaccCg_stub -ltaihen_stub -lvorbisfile -lvorbis -logg -lMikmod -lFLAC -lpng -ljpeg -lwebp \
-lpthread -lSceAudio_stub -lSceAudioIn_stub -lSceHid_stub -lz -lScePower_stub -lSceAppUtil_stub \
-lSceAppMgr_stub -lSceCommonDialog_stub -lSceCtrl_stub -lSceGxm_stub -lSceMotion_stub -lSceNet_stub \
-lSceTouch_stub -lSceSysmodule_stub -lSceKernelDmacMgr_stub -lSceDisplay_stub -lSceIme_stub
CFILES := $(foreach dir,$(SOURCES), $(wildcard $(dir)/*.c))
CPPFILES := $(foreach dir,$(SOURCES), $(wildcard $(dir)/*.cpp))
BINFILES := $(foreach dir,$(DATA), $(wildcard $(dir)/*.bin))
OBJS := $(addsuffix .o,$(BINFILES)) $(CFILES:.c=.o) $(CPPFILES:.cpp=.o)
PREFIX = arm-vita-eabi
CC = $(PREFIX)-gcc
CXX = $(PREFIX)-g++
CFLAGS = -fno-lto -g -Wl,-q,--wrap,fopen,--wrap,stat,--wrap,scandir,--wrap,opendir,--wrap,remove -O3 -I$(VITASDK)/$(PREFIX)/include/SDL
CXXFLAGS = $(CFLAGS) -fno-exceptions -std=gnu++11 -fpermissive
ASFLAGS = $(CFLAGS)
all: $(TARGET).vpk
%.vpk: %.velf
vita-mksfoex -s TITLE_ID=BEAT00002 -d ATTRIBUTE2=12 "Beat2x" param.sfo
vita-pack-vpk -s param.sfo -b eboot.bin $@ \
-a livearea/icon0.png=sce_sys/icon0.png \
-a livearea/bg.png=sce_sys/livearea/contents/bg.png \
-a livearea/startup.png=sce_sys/livearea/contents/startup.png \
-a livearea/template.xml=sce_sys/livearea/contents/template.xml
%.velf: %.elf
cp $< $<.unstripped.elf
$(PREFIX)-strip -g $<
vita-elf-create $< $@
vita-make-fself -c -s $@ eboot.bin
$(TARGET).elf: $(OBJS)
$(CXX) $(CXXFLAGS) $^ $(LIBS) -o $@
clean:
@rm -rf $(TARGET).velf $(TARGET).elf $(TARGET).sysvelf $(OBJS)