1# -*- Makefile -*-
2#
3# Makefile.PSP - Makefile rules for Sony Play Station Portable Firmware version 1.0
4#   Thanks Shiikuru-san
5#
6
7PSPPRE = $(shell psp-config --psp-prefix)
8PSPDEV = $(shell psp-config --pspdev-path)
9PSPSDK = $(shell psp-config --pspsdk-path)
10
11INCS  = $(shell $(PSPPRE)/bin/sdl-config --cflags) $(shell $(PSPPRE)/bin/freetype-config --cflags)
12LIBS  = $(shell $(PSPPRE)/bin/sdl-config --libs)
13LIBS += -lSDL_ttf -lfreetype -lSDL_mixer -lSDL_image -lSDL -lSDLmain -lbz2 -ljpeg -lpng -lz -lmad -lvorbisidec
14
15# Include PSPSDK and Libc Headers
16INCS += -I$(PSPSDK)/include -I$(PSPDEV)/include -I$(PSPPRE)/include
17
18# Link PSPSDK and Libc Libraries
19LIBS += -L$(PSPSDK)/lib -L$(PSPDEV)/lib -lstdc++ -lc -lm -lpsppower -lpspnet_inet
20
21
22# with OggVorbis (Tremor) in PDA size (QVGA)
23#DEFS = -DPSP -DPDA_WIDTH=320 -DBPP16 -DMP3_MAD -DUSE_OGG_VORBIS -DINTEGER_OGG_VORBIS -DUSE_RWOPS
24# with OggVorbis (Tremor) in PSP size (360x270)
25DEFS = -DPSP -DPDA_WIDTH=360 -DBPP16 -DMP3_MAD -DUSE_OGG_VORBIS -DINTEGER_OGG_VORBIS -DUSE_RWOPS
26# with OggVorbis (Tremor) in PSP size (384x288)
27#DEFS = -DPSP -DPDA_WIDTH=384 -DBPP16 -DMP3_MAD -DUSE_OGG_VORBIS -DINTEGER_OGG_VORBIS -DUSE_RWOPS
28
29EXESUFFIX = .elf
30OBJSUFFIX = .o
31
32.SUFFIXES:
33.SUFFIXES: $(OBJSUFFIX) .cpp .h
34
35CC = psp-gcc
36LD = psp-gcc -o
37
38CFLAGS = -g -G0 -O3 -Wall -Wpointer-arith -fno-exceptions -fno-rtti -fno-check-new -pipe -c $(INCS) $(DEFS)
39RM = rm -f
40
41TARGET = EBOOT.PBP
42EXT_OBJS = MadWrapper$(OBJSUFFIX)
43
44
45# onscripter.elf -> EBOOT.PBP for PSP Firmware version 1.0
46
47FIXUP_IMPORTS = psp-fixup-imports
48STRIP         = psp-strip
49MKSFO         = mksfo
50PACK_PBP      = pack-pbp
51
52PSP_TARGET       = onscripter$(EXESUFFIX)
53PSP_TARGET_FIXUP = onscripter_fixup$(EXESUFFIX)
54PSP_TARGET_STRIP = onscripter_strip$(EXESUFFIX)
55PSP_EBOOT_TITLE  = ONScripter for PSP
56PSP_EBOOT_SFO    = PARAM.SFO
57PSP_EBOOT_ICON   = NULL
58PSP_EBOOT_ICON1  = NULL
59PSP_EBOOT_UNKPNG = NULL
60PSP_EBOOT_PIC1   = NULL
61PSP_EBOOT_SND0   = NULL
62PSP_EBOOT_PSAR   = NULL
63
64EBOOT.PBP : $(PSP_TARGET_STRIP) $(PSP_EBOOT_SFO)
65	$(PACK_PBP) EBOOT.PBP $(PSP_EBOOT_SFO) $(PSP_EBOOT_ICON)  \
66		$(PSP_EBOOT_ICON1) $(PSP_EBOOT_UNKPNG) $(PSP_EBOOT_PIC1)  \
67		$(PSP_EBOOT_SND0)  $(PSP_TARGET_STRIP) $(PSP_EBOOT_PSAR)
68
69$(PSP_EBOOT_SFO) :
70	$(MKSFO) '$(PSP_EBOOT_TITLE)' $(PSP_EBOOT_SFO)
71
72$(PSP_TARGET_FIXUP) : $(PSP_TARGET)
73	$(FIXUP_IMPORTS) $(PSP_TARGET) -o $(PSP_TARGET_FIXUP)
74
75$(PSP_TARGET_STRIP) : $(PSP_TARGET_FIXUP)
76	$(STRIP) $(PSP_TARGET_FIXUP) -o $(PSP_TARGET_STRIP)
77
78include Makefile.onscripter
79
80# overriding
81clean :
82	$(RM) $(TARGET)
83	$(RM) $(PSP_TARGET) $(PSP_TARGET_FIXUP) $(PSP_TARGET_STRIP) $(PSP_EBOOT_SFO)
84	$(RM) *.o
85