idle debug removed, vpath added to Makefiles
[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 \r
11 \r
12 CFLAGS += -I../.. -I. -DNO_SYNC\r
13 CFLAGS += -Wall -Winline -G0\r
14 #CFLAGS += -DLPRINTF_STDIO\r
15 #CFLAGS += -pg\r
16 ifeq ($(DEBUG),)\r
17 CFLAGS += -O2 -ftracer -fstrength-reduce -ffast-math\r
18 else\r
19 CFLAGS += -ggdb\r
20 endif\r
21 ifeq "$(for_15fw)" "1"\r
22 CFLAGS += -DFW15\r
23 endif\r
24 \r
25 \r
26 # frontend and stuff\r
27 OBJS += main.o emu.o mp3.o menu.o psp.o asm_utils.o\r
28 \r
29 # common\r
30 OBJS += 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
33 ifeq "$(amalgamate)" "1"\r
34 OBJS += ../../PicoAll.o\r
35 else\r
36 OBJS += 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
40 OBJS += 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
44 OBJS += 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
47 OBJS += Pico/Pico/Pico.o Pico/Pico/Memory.o Pico/Pico/xpcm.o\r
48 endif\r
49 \r
50 # Pico - sound\r
51 ifneq "$(amalgamate)" "1"\r
52 OBJS += Pico/sound/sound.o\r
53 endif\r
54 OBJS += Pico/sound/mix.o\r
55 OBJS += Pico/sound/sn76496.o Pico/sound/ym2612.o\r
56 # zlib (hacked)\r
57 OBJS += 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
61 OBJS += unzip/unzip.o unzip/unzip_stream.o\r
62 # CPU cores\r
63 ifeq "$(use_musashi)" "1"\r
64 CFLAGS += -DEMU_M68K\r
65 OBJS += cpu/musashi/m68kops.o cpu/musashi/m68kcpu.o\r
66 else\r
67 CFLAGS += -DEMU_F68K\r
68 OBJS += cpu/fame/famec.o\r
69 endif\r
70 # z80\r
71 ifeq "$(use_mz80)" "1"\r
72 CFLAGS += -D_USE_MZ80\r
73 OBJS += cpu/mz80/mz80.o\r
74 else\r
75 CFLAGS += -D_USE_CZ80\r
76 OBJS += cpu/cz80/cz80.o\r
77 endif\r
78 # bg images\r
79 OBJS += data/bg32.o data/bg40.o\r
80 \r
81 vpath %.c = ../..\r
82 vpath %.s = ../..\r
83 DIRS = 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
87 LIBS += -lpng -lm -lpspgu -lpsppower -lpspaudio -lpsprtc -lpspaudiocodec -lpspkubridge\r
88 #LIBS += -lpspprof\r
89 LDFLAGS += -Wl,-Map=PicoDrive.map\r
90 \r
91 \r
92 # target\r
93 TARGET = PicoDrive\r
94 EXTRA_TARGETS = mkdirs EBOOT.PBP\r
95 PSP_EBOOT_TITLE = PicoDrive\r
96 PSP_EBOOT_ICON = data/icon.png\r
97 #PSP_EBOOT_PIC1 = .png\r
98 ifneq "$(for_15fw)" "1"\r
99 BUILD_PRX = 1\r
100 endif\r
101 \r
102 CUSTOM_CLEAN = myclean\r
103 \r
104 include $(PSPSDK)/lib/build.mak\r
105 \r
106 # some additional rules\r
107 mkdirs:\r
108         mkdir -p $(DIRS)\r
109 \r
110 .c.o:\r
111         @echo ">>>" $<\r
112         $(CC) $(CFLAGS) -c $< -o $@\r
113 \r
114 AS := 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
123 cpu/fame/famec.o : ../../cpu/fame/famec.c\r
124         @echo ">>>" $<\r
125         $(CC) $(CFLAGS) -Wno-unused -c $< -o $@\r
126 \r
127 Pico/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
131 Pico/cd/Memory.o : ../../Pico/cd/Memory.c\r
132         @echo ">>>" $<\r
133         $(CC) $(CFLAGS) -O2 -c $< -o $@\r
134 \r
135 Pico/Draw.o : ../../Pico/Draw.c\r
136         @echo ">>>" $<\r
137         $(CC) $(CFLAGS) -c $< -o $@ -D_ASM_DRAW_C_AMIPS\r
138 \r
139 Pico/Misc.o : ../../Pico/Misc.c\r
140         @echo ">>>" $<\r
141         $(CC) $(CFLAGS) -c $< -o $@ -D_ASM_MISC_C_AMIPS\r
142 \r
143 Pico/cd/gfx_cd.o : ../../Pico/cd/gfx_cd.c\r
144         @echo ">>>" $<\r
145         $(CC) $(CFLAGS) -O2 -c $< -o $@\r
146 \r
147 readme.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
153 data/bg32.o: data/bg32.bin\r
154         bin2o -i $< $@ bgdatac32\r
155 \r
156 data/bg40.o: data/bg40.bin\r
157         bin2o -i $< $@ bgdatac40\r
158 \r
159 #\r
160 ifndef UPDIR\r
161 UPDIR = /media/disk/PSP/GAME/PicoDrive/\r
162 endif\r
163 up: EBOOT.PBP\r
164         @cp -v $^ $(UPDIR)\r
165 \r
166 \r
167 # cleanup\r
168 \r
169 myclean:\r
170         rm -rf $(DIRS)\r
171         $(RM) PicoDrive.map\r
172         make -C ../../cpu/musashi clean\r
173 \r
174 \r
175 clean_prof:\r
176         find ../.. -name '*.gcno' -delete\r
177         find ../.. -name '*.gcda' -delete\r
178 \r
179 # ----------- release -----------\r
180 ifneq ($(findstring rel,$(MAKECMDGOALS)),)\r
181 ifeq ($(VER),)\r
182 $(error need VER)\r
183 endif\r
184 endif\r
185 \r
186 # ?\r
187 rel: 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
198 rel_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