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