PSP sleep mode fixed, hopefully for read; 1.50 release
[libpicofe.git] / psp / Makefile
... / ...
CommitLineData
1\r
2# pspdev is expected to be in path\r
3PSPSDK = $(shell psp-config --pspsdk-path)\r
4\r
5# settings\r
6#use_musashi = 1\r
7#use_mz80 = 1\r
8amalgamate = 0\r
9for_15fw = 1\r
10\r
11\r
12CFLAGS += -I../.. -I. -DNO_SYNC\r
13CFLAGS += -Wall -Winline -G0\r
14#CFLAGS += -DLPRINTF_STDIO\r
15#CFLAGS += -pg\r
16ifeq ($(DEBUG),)\r
17CFLAGS += -O2 -ftracer -fstrength-reduce -ffast-math\r
18else\r
19CFLAGS += -ggdb\r
20endif\r
21ifeq "$(for_15fw)" "1"\r
22CFLAGS += -DFW15\r
23endif\r
24\r
25\r
26# frontend and stuff\r
27OBJS += main.o emu.o mp3.o menu.o psp.o asm_utils.o\r
28\r
29# common\r
30OBJS += platform/common/emu.o platform/common/menu.o platform/common/fonts.o platform/common/config.o platform/common/readpng.o\r
31\r
32# Pico\r
33ifeq "$(amalgamate)" "1"\r
34OBJS += ../../PicoAll.o\r
35else\r
36OBJS += Pico/Area.o Pico/Cart.o Pico/Memory.o Pico/Misc.o \\r
37 Pico/Pico.o Pico/Sek.o Pico/VideoPort.o Pico/Draw2.o Pico/Draw.o \\r
38 Pico/Patch.o Pico/Draw_amips.o Pico/Memory_amips.o Pico/Misc_amips.o\r
39# Pico - CD\r
40OBJS += Pico/cd/Pico.o Pico/cd/Memory.o Pico/cd/Sek.o Pico/cd/LC89510.o \\r
41 Pico/cd/cd_sys.o Pico/cd/cd_file.o Pico/cd/cue.o Pico/cd/gfx_cd.o \\r
42 Pico/cd/Area.o Pico/cd/Misc.o Pico/cd/pcm.o Pico/cd/buffering.o\r
43# Pico - carthw\r
44OBJS += Pico/carthw/carthw.o Pico/carthw/svp/svp.o Pico/carthw/svp/Memory.o \\r
45 Pico/carthw/svp/ssp16.o\r
46# Pico - Pico\r
47OBJS += Pico/Pico/Pico.o Pico/Pico/Memory.o Pico/Pico/xpcm.o\r
48endif\r
49\r
50# Pico - sound\r
51ifneq "$(amalgamate)" "1"\r
52OBJS += Pico/sound/sound.o\r
53endif\r
54OBJS += Pico/sound/mix.o\r
55OBJS += Pico/sound/sn76496.o Pico/sound/ym2612.o\r
56# zlib (hacked)\r
57OBJS += zlib/gzio.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o zlib/trees.o \\r
58 zlib/deflate.o zlib/crc32.o zlib/adler32.o zlib/zutil.o zlib/compress.o \\r
59 zlib/uncompr.o\r
60# unzip\r
61OBJS += unzip/unzip.o unzip/unzip_stream.o\r
62# CPU cores\r
63ifeq "$(use_musashi)" "1"\r
64CFLAGS += -DEMU_M68K\r
65OBJS += cpu/musashi/m68kops.o cpu/musashi/m68kcpu.o\r
66else\r
67CFLAGS += -DEMU_F68K\r
68OBJS += cpu/fame/famec.o\r
69endif\r
70# z80\r
71ifeq "$(use_mz80)" "1"\r
72CFLAGS += -D_USE_MZ80\r
73OBJS += cpu/mz80/mz80.o\r
74else\r
75CFLAGS += -D_USE_CZ80\r
76OBJS += cpu/cz80/cz80.o\r
77endif\r
78# bg images\r
79OBJS += data/bg32.o data/bg40.o\r
80\r
81vpath %.c = ../..\r
82vpath %.s = ../..\r
83DIRS = platform platform/psp platform/common Pico Pico/cd Pico/Pico Pico/sound Pico/carthw/svp \\r
84 zlib unzip cpu cpu/musashi cpu/fame cpu/mz80 cpu/cz80\r
85\r
86\r
87LIBS += -lpng -lm -lpspgu -lpsppower -lpspaudio -lpsprtc -lpspaudiocodec -lpspkubridge\r
88#LIBS += -lpspprof\r
89LDFLAGS += -Wl,-Map=PicoDrive.map\r
90\r
91\r
92# target\r
93TARGET = PicoDrive\r
94EXTRA_TARGETS = mkdirs EBOOT.PBP\r
95PSP_EBOOT_TITLE = PicoDrive\r
96PSP_EBOOT_ICON = data/icon.png\r
97#PSP_EBOOT_PIC1 = .png\r
98ifneq "$(for_15fw)" "1"\r
99BUILD_PRX = 1\r
100endif\r
101\r
102CUSTOM_CLEAN = myclean\r
103\r
104include $(PSPSDK)/lib/build.mak\r
105\r
106# some additional rules\r
107mkdirs:\r
108 mkdir -p $(DIRS)\r
109\r
110.c.o:\r
111 @echo ">>>" $<\r
112 $(CC) $(CFLAGS) -c $< -o $@\r
113\r
114AS := psp-as\r
115\r
116.s.o:\r
117 @echo ">>>" $<\r
118 $(AS) -march=allegrex -mtune=allegrex $< -o $@\r
119\r
120../../cpu/musashi/m68kops.c :\r
121 make -C ../../cpu/musashi\r
122\r
123cpu/fame/famec.o : ../../cpu/fame/famec.c\r
124 @echo ">>>" $<\r
125 $(CC) $(CFLAGS) -Wno-unused -c $< -o $@\r
126\r
127Pico/Memory.o : ../../Pico/Memory.c\r
128 @echo ">>>" $<\r
129 $(CC) $(CFLAGS) -O2 -c $< -o $@ -D_ASM_MEMORY_C -D_ASM_MEMORY_C_AMIPS\r
130\r
131Pico/cd/Memory.o : ../../Pico/cd/Memory.c\r
132 @echo ">>>" $<\r
133 $(CC) $(CFLAGS) -O2 -c $< -o $@\r
134\r
135Pico/Draw.o : ../../Pico/Draw.c\r
136 @echo ">>>" $<\r
137 $(CC) $(CFLAGS) -c $< -o $@ -D_ASM_DRAW_C_AMIPS\r
138\r
139Pico/Misc.o : ../../Pico/Misc.c\r
140 @echo ">>>" $<\r
141 $(CC) $(CFLAGS) -c $< -o $@ -D_ASM_MISC_C_AMIPS\r
142\r
143Pico/cd/gfx_cd.o : ../../Pico/cd/gfx_cd.c\r
144 @echo ">>>" $<\r
145 $(CC) $(CFLAGS) -O2 -c $< -o $@\r
146\r
147readme.txt: ../../tools/textfilter ../base_readme.txt\r
148 ../../tools/textfilter ../base_readme.txt $@ PSP\r
149\r
150../../tools/textfilter: ../../tools/textfilter.c\r
151 make -C ../../tools/ textfilter\r
152\r
153data/bg32.o: data/bg32.bin\r
154 bin2o -i $< $@ bgdatac32\r
155\r
156data/bg40.o: data/bg40.bin\r
157 bin2o -i $< $@ bgdatac40\r
158\r
159#\r
160ifndef UPDIR\r
161UPDIR = /media/disk/PSP/GAME/PicoDrive/\r
162endif\r
163up: EBOOT.PBP\r
164 @cp -v $^ $(UPDIR)\r
165\r
166\r
167# cleanup\r
168\r
169myclean:\r
170 rm -rf $(DIRS)\r
171 $(RM) PicoDrive.map\r
172 make -C ../../cpu/musashi clean\r
173\r
174\r
175clean_prof:\r
176 find ../.. -name '*.gcno' -delete\r
177 find ../.. -name '*.gcda' -delete\r
178\r
179# ----------- release -----------\r
180ifneq ($(findstring rel,$(MAKECMDGOALS)),)\r
181ifeq ($(VER),)\r
182$(error need VER)\r
183endif\r
184endif\r
185\r
186# ?\r
187rel: EBOOT.PBP readme.txt ../game_def.cfg\r
188 mkdir -p PicoDrive/skin/\r
189 cp $^ PicoDrive/\r
190 cp skin/* PicoDrive/skin/\r
191 zip -9 -r ../../PicoDrive_psp_$(VER).zip PicoDrive\r
192 rm -rf PicoDrive\r
193 mkdir bin_to_cso_mp3\r
194 cp ../../tools/bin_to_cso_mp3/* bin_to_cso_mp3/\r
195 zip -9 -r ../../PicoDrive_psp_$(VER).zip bin_to_cso_mp3\r
196 rm -rf bin_to_cso_mp3\r
197\r
198rel_kxploit: readme.txt ../game_def.cfg\r
199 mkdir -p PicoDrive/skin/\r
200 cp $^ PicoDrive/\r
201 cp skin/* PicoDrive/skin/\r
202 zip -9 -r ../../PicoDrive_psp_$(VER)_kxploit.zip PicoDrive\r
203 zip -9 -r ../../PicoDrive_psp_$(VER)_kxploit.zip PicoDrive%\r
204 mkdir bin_to_cso_mp3\r
205 cp ../../tools/bin_to_cso_mp3/* bin_to_cso_mp3/\r
206 zip -9 -r ../../PicoDrive_psp_$(VER)_kxploit.zip bin_to_cso_mp3\r
207 rm -rf bin_to_cso_mp3\r
208\r