forked from jonof/jftekwar
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile.vita
127 lines (110 loc) · 3.46 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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
TARGET := jftekwar
TITLE := JFTEKWAR1
GIT_VERSION := $(shell git describe --abbrev=6 --dirty --always --tags)
SHADERS := shaders
LIBS = -lvitaGL -lvitashark -lmathneon -lvorbisfile -lvorbis -logg -lspeexdsp -lmpg123 -lSceShaccCgExt \
-lSDL2 -lc -lSceCommonDialog_stub -lSceAudio_stub -lSceLibKernel_stub -lSceShaccCg_stub \
-lSceNet_stub -lSceNetCtl_stub -lpng -lSceDisplay_stub -lSceGxm_stub -lSceHid_stub -ltaihen_stub \
-lSceSysmodule_stub -lSceCtrl_stub -lSceTouch_stub -lSceMotion_stub -lm -lSceAppMgr_stub \
-lSceAppUtil_stub -lScePgf_stub -ljpeg -lSceRtc_stub -lScePower_stub -lcurl -lssl -lcrypto -lz \
-lSceKernelDmacMgr_stub -lSceIme_stub -lSceAudioIn_stub
# build locations
SRC=src
EINC=$(EROOT)/include
ELIB=$(EROOT)
#engine
EROOT ?= jfbuild
ESRC ?= $(EROOT)/src
MACTROOT ?= jfmact
AUDIOSRC = jfaudiolib/src
JFBUILDOBJS = \
$(ESRC)/a-c.o \
$(ESRC)/asmprot.o \
$(ESRC)/baselayer.o \
$(ESRC)/cache1d.o \
$(ESRC)/compat.o \
$(ESRC)/crc32.o \
$(ESRC)/defs.o \
$(ESRC)/engine.o \
$(ESRC)/kplib.o \
$(ESRC)/osd.o \
$(ESRC)/polymost.o \
$(ESRC)/glbuild.o \
$(ESRC)/hightile.o \
$(ESRC)/mdsprite.o \
$(ESRC)/polymosttex.o \
$(ESRC)/polymosttexcache.o \
$(ESRC)/pragmas.o \
$(ESRC)/scriptfile.o \
$(ESRC)/sdlayer2.o \
$(ESRC)/textfont.o \
$(ESRC)/smalltextfont.o \
$(ESRC)/mmulti_null.o \
$(ESRC)/version.o
JFAUDIOLIBOBJS= \
$(AUDIOSRC)/drivers.o \
$(AUDIOSRC)/fx_man.o \
$(AUDIOSRC)/cd.o \
$(AUDIOSRC)/multivoc.o \
$(AUDIOSRC)/mix.o \
$(AUDIOSRC)/mixst.o \
$(AUDIOSRC)/pitch.o \
$(AUDIOSRC)/vorbis.o \
$(AUDIOSRC)/music.o \
$(AUDIOSRC)/midi.o \
$(AUDIOSRC)/driver_sdl.o \
$(AUDIOSRC)/driver_nosound.o \
$(AUDIOSRC)/asssys.o
LIBSMACKERSRC=libsmacker
LIBSMACKEROBJ= \
$(LIBSMACKERSRC)/smacker.o \
$(LIBSMACKERSRC)/smk_bitstream.o \
$(LIBSMACKERSRC)/smk_hufftree.o
GAMEOBJS= \
$(SRC)/b5compat.o \
$(SRC)/config.o \
$(SRC)/tekcdr.o \
$(SRC)/tekchng.o \
$(SRC)/tekgame.o \
$(SRC)/tekgun.o \
$(SRC)/tekldsv.o \
$(SRC)/tekmap.o \
$(SRC)/tekmsc.o \
$(SRC)/tekprep.o \
$(SRC)/teksmk.o \
$(SRC)/teksnd.o \
$(SRC)/tekspr.o \
$(SRC)/tekstat.o \
$(SRC)/tektag.o \
$(SRC)/tektxt.o \
$(SRC)/tekver.o \
$(LIBSMACKEROBJ)
OBJS := $(GAMEOBJS) $(JFBUILDOBJS) $(JFAUDIOLIBOBJS)
PREFIX = arm-vita-eabi
CC = $(PREFIX)-gcc
CXX = $(PREFIX)-g++
CFLAGS = -fsigned-char -Wl,-q,--wrap,fopen,--wrap,opendir,--wrap,open,--wrap,access \
-O3 -g -fno-optimize-sibling-calls -DUSE_POLYMOST -DUSE_OPENGL=USE_GLES2 \
-ffast-math -mtune=cortex-a9 -mfpu=neon -DHAVE_VORBIS -Isrc -Ilibsmacker \
-Ijfbuild/include -Ijfmact -Ijfaudiolib/include -DVITA -DHAVE_SDL \
-Wno-implicit-function-declaration -I$(VITASDK)/$(PREFIX)/include/SDL2
CXXFLAGS = $(CFLAGS) -fno-exceptions -std=gnu++11
ASFLAGS = $(CFLAGS)
all: $(TARGET).vpk
$(TARGET).vpk: $(TARGET).velf
vita-make-fself -c -s $< build/eboot.bin
vita-mksfoex -s TITLE_ID=$(TITLE) -d ATTRIBUTE2=12 "William Shatner's TekWar" param.sfo
vita-pack-vpk -s param.sfo -b build/eboot.bin \
--add livearea/icon0.png=sce_sys/icon0.png \
--add livearea/bg0.png=sce_sys/livearea/contents/bg0.png \
--add livearea/startup.png=sce_sys/livearea/contents/startup.png \
--add livearea/template.xml=sce_sys/livearea/contents/template.xml \
$(TARGET).vpk
%.velf: %.elf
cp $< $<.unstripped.elf
$(PREFIX)-strip -g $<
vita-elf-create $< $@
$(TARGET).elf: $(OBJS)
$(CXX) $(CXXFLAGS) $^ $(LIBS) -o $@
clean:
@rm -rf $(TARGET).velf $(TARGET).elf $(OBJS) $(TARGET).elf.unstripped.elf $(TARGET).vpk build/eboot.bin ./param.sfo