Commit | Line | Data |
---|---|---|
d4d62665 | 1 | TARGET ?= PicoDrive |
d6a897aa | 2 | CFLAGS += -Wall |
4835077e | 3 | CFLAGS += -I. -DINLINE=inline |
d4d62665 | 4 | ifndef DEBUG |
88f7643f | 5 | ifeq ($(platform), vita) |
6 | CFLAGS += -O3 -DNDEBUG | |
7 | else | |
948aa481 | 8 | CFLAGS += -O2 -DNDEBUG -ffunction-sections |
88f7643f | 9 | endif |
5cd97263 | 10 | ifneq ($(APPLE),1) |
948aa481 | 11 | LDFLAGS += -Wl,--gc-sections |
d4d62665 | 12 | endif |
ac9abd01 | 13 | endif |
19886062 | 14 | #CFLAGS += -DEVT_LOG |
00faec9c | 15 | #CFLAGS += -DDRC_CMP |
12da51c2 | 16 | #cpu_cmp = 1 |
0219d379 | 17 | #drc_debug = 7 |
00faec9c | 18 | #profile = 1 |
19 | ||
a33a365d | 20 | ifeq ($(WANT_GDB),1) |
d6a897aa | 21 | CFLAGS += ggdb -falign-functions=2 |
22 | endif | |
23 | ||
e743be20 | 24 | |
d4d62665 | 25 | all: config.mak target_ |
26 | ||
27 | ifndef NO_CONFIG_MAK | |
28 | ifneq ($(wildcard config.mak),) | |
29 | config.mak: ./configure | |
30 | @echo $@ is out-of-date, running configure | |
31 | @sed -n "/.*Configured with/s/[^:]*: //p" $@ | sh | |
32 | include config.mak | |
33 | else | |
34 | config.mak: | |
35 | @echo "Please run ./configure before running make!" | |
36 | @exit 1 | |
37 | endif | |
38 | else # NO_CONFIG_MAK | |
39 | config.mak: | |
40 | endif | |
41 | ||
42 | # default settings | |
43 | ifeq "$(ARCH)" "arm" | |
44 | use_cyclone ?= 1 | |
45 | use_drz80 ?= 1 | |
46 | use_sh2drc ?= 1 | |
0a91c6e9 | 47 | use_svpdrc ?= 1 |
d4d62665 | 48 | |
0a91c6e9 | 49 | asm_memory ?= 1 |
50 | asm_render ?= 1 | |
51 | asm_ym2612 ?= 1 | |
52 | asm_misc ?= 1 | |
53 | asm_cdpico ?= 1 | |
54 | asm_cdmemory ?= 1 | |
55 | asm_mix ?= 1 | |
d4d62665 | 56 | else # if not arm |
d4d62665 | 57 | use_fame ?= 1 |
d4d62665 | 58 | use_cz80 ?= 1 |
d4d62665 | 59 | endif |
e743be20 | 60 | |
e743be20 | 61 | -include Makefile.local |
62 | ||
6ce90725 | 63 | ifneq "$(use_cyclone)" "1" |
2446536b | 64 | # due to CPU stop flag access |
d4d62665 | 65 | asm_cdpico = 0 |
66 | asm_cdmemory = 0 | |
e743be20 | 67 | endif |
68 | ||
d4bea61c PC |
69 | ifeq "$(PLATFORM)" "opendingux" |
70 | opk: $(TARGET).opk | |
71 | ||
72 | $(TARGET).opk: $(TARGET) | |
73 | $(RM) -rf .opk_data | |
74 | cp -r platform/opendingux/data .opk_data | |
75 | cp $< .opk_data/PicoDrive | |
76 | $(STRIP) .opk_data/PicoDrive | |
77 | mksquashfs .opk_data $@ -all-root -noappend -no-exports -no-xattrs | |
78 | ||
79 | OBJS += platform/opendingux/inputmap.o | |
80 | ||
81 | # OpenDingux is a generic platform, really. | |
82 | PLATFORM := generic | |
83 | endif | |
2446536b | 84 | ifeq "$(PLATFORM)" "generic" |
85 | OBJS += platform/linux/emu.o platform/linux/blit.o # FIXME | |
86 | OBJS += platform/common/plat_sdl.o | |
87 | OBJS += platform/libpicofe/plat_sdl.o platform/libpicofe/in_sdl.o | |
88 | OBJS += platform/libpicofe/plat_dummy.o | |
89 | USE_FRONTEND = 1 | |
90 | endif | |
91 | ifeq "$(PLATFORM)" "pandora" | |
92 | platform/common/menu_pico.o: CFLAGS += -DPANDORA | |
fcdf2aff | 93 | platform/libpicofe/linux/plat.o: CFLAGS += -DPANDORA |
2446536b | 94 | OBJS += platform/pandora/plat.o |
95 | OBJS += platform/pandora/asm_utils.o | |
96 | OBJS += platform/common/arm_utils.o | |
97 | OBJS += platform/libpicofe/linux/fbdev.o | |
98 | OBJS += platform/libpicofe/linux/xenv.o | |
99 | OBJS += platform/libpicofe/pandora/plat.o | |
100 | USE_FRONTEND = 1 | |
101 | endif | |
75a30842 | 102 | ifeq "$(PLATFORM)" "gp2x" |
103 | OBJS += platform/common/arm_utils.o | |
104 | OBJS += platform/libpicofe/gp2x/in_gp2x.o | |
105 | OBJS += platform/libpicofe/gp2x/soc.o | |
106 | OBJS += platform/libpicofe/gp2x/soc_mmsp2.o | |
107 | OBJS += platform/libpicofe/gp2x/soc_pollux.o | |
108 | OBJS += platform/libpicofe/gp2x/plat.o | |
109 | OBJS += platform/libpicofe/gp2x/pollux_set.o | |
110 | OBJS += platform/gp2x/940ctl.o | |
111 | OBJS += platform/gp2x/plat.o | |
112 | OBJS += platform/gp2x/emu.o | |
113 | OBJS += platform/gp2x/vid_mmsp2.o | |
114 | OBJS += platform/gp2x/vid_pollux.o | |
115 | OBJS += platform/gp2x/warm.o | |
116 | USE_FRONTEND = 1 | |
117 | PLATFORM_MP3 = 1 | |
118 | endif | |
2446536b | 119 | ifeq "$(PLATFORM)" "libretro" |
5345c2b9 | 120 | OBJS += platform/libretro/libretro.o |
2446536b | 121 | endif |
122 | ||
123 | ifeq "$(USE_FRONTEND)" "1" | |
124 | ||
e743be20 | 125 | # common |
d4d62665 | 126 | OBJS += platform/common/main.o platform/common/emu.o \ |
127 | platform/common/menu_pico.o platform/common/config_file.o | |
e743be20 | 128 | |
129 | # libpicofe | |
130 | OBJS += platform/libpicofe/input.o platform/libpicofe/readpng.o \ | |
131 | platform/libpicofe/fonts.o platform/libpicofe/linux/in_evdev.o \ | |
d4d62665 | 132 | platform/libpicofe/linux/plat.o |
e743be20 | 133 | |
d4d62665 | 134 | # libpicofe - sound |
135 | OBJS += platform/libpicofe/sndout.o | |
136 | ifneq ($(findstring oss,$(SOUND_DRIVERS)),) | |
137 | platform/libpicofe/sndout.o: CFLAGS += -DHAVE_OSS | |
138 | OBJS += platform/libpicofe/linux/sndout_oss.o | |
139 | endif | |
140 | ifneq ($(findstring alsa,$(SOUND_DRIVERS)),) | |
141 | platform/libpicofe/sndout.o: CFLAGS += -DHAVE_ALSA | |
142 | OBJS += platform/libpicofe/linux/sndout_alsa.o | |
143 | endif | |
144 | ifneq ($(findstring sdl,$(SOUND_DRIVERS)),) | |
145 | platform/libpicofe/sndout.o: CFLAGS += -DHAVE_SDL | |
146 | OBJS += platform/libpicofe/sndout_sdl.o | |
147 | endif | |
e743be20 | 148 | |
e743be20 | 149 | ifeq "$(ARCH)" "arm" |
d4d62665 | 150 | OBJS += platform/libpicofe/arm_linux.o |
d4d62665 | 151 | endif |
e743be20 | 152 | |
2446536b | 153 | endif # USE_FRONTEND |
154 | ||
fc11dd05 | 155 | OBJS += platform/common/mp3.o |
75a30842 | 156 | ifeq "$(PLATFORM_MP3)" "1" |
157 | else ifeq "$(HAVE_LIBAVCODEC)" "1" | |
fc11dd05 | 158 | OBJS += platform/common/mp3_libavcodec.o |
159 | else | |
2446536b | 160 | OBJS += platform/common/mp3_dummy.o |
fc11dd05 | 161 | endif |
2446536b | 162 | |
bee555ae | 163 | ifneq "$(DONT_COMPILE_IN_ZLIB)" "1" |
e743be20 | 164 | # zlib |
165 | OBJS += zlib/gzio.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o zlib/trees.o \ | |
166 | zlib/deflate.o zlib/crc32.o zlib/adler32.o zlib/zutil.o zlib/compress.o zlib/uncompr.o | |
167 | # unzip | |
168 | OBJS += unzip/unzip.o unzip/unzip_stream.o | |
7eaf128f | 169 | endif |
e743be20 | 170 | |
d4d62665 | 171 | |
e743be20 | 172 | include platform/common/common.mak |
173 | ||
98dbc3ab | 174 | OBJS += $(OBJS_COMMON) |
175 | CFLAGS += $(addprefix -D,$(DEFINES)) | |
176 | ||
9aee8770 | 177 | ifneq ($(findstring gcc,$(CC)),) |
178 | LDFLAGS += -Wl,-Map=$(TARGET).map | |
179 | endif | |
180 | ||
181 | ||
d4d62665 | 182 | target_: $(TARGET) |
e743be20 | 183 | |
184 | clean: | |
d4d62665 | 185 | $(RM) $(TARGET) $(OBJS) |
d4bea61c | 186 | $(RM) -r .opk_data |
e743be20 | 187 | |
d4d62665 | 188 | $(TARGET): $(OBJS) |
f18d0e08 | 189 | ifeq ($(STATIC_LINKING), 1) |
190 | $(AR) rcs $@ $(OBJS) | |
191 | else | |
9aee8770 | 192 | $(CC) -o $@ $(CFLAGS) $^ $(LDFLAGS) $(LDLIBS) |
f18d0e08 | 193 | endif |
e743be20 | 194 | |
195 | pprof: platform/linux/pprof.c | |
196 | $(CC) -O2 -ggdb -DPPROF -DPPROF_TOOL -I../../ -I. $^ -o $@ | |
d4d62665 | 197 | |
98dbc3ab | 198 | tools/textfilter: tools/textfilter.c |
199 | make -C tools/ textfilter | |
200 | ||
201 | .s.o: | |
202 | $(CC) $(CFLAGS) -c $< -o $@ | |
203 | ||
895d1512 | 204 | # special flags - perhaps fix this someday instead? |
205 | pico/draw.o: CFLAGS += -fno-strict-aliasing | |
206 | pico/draw2.o: CFLAGS += -fno-strict-aliasing | |
207 | pico/mode4.o: CFLAGS += -fno-strict-aliasing | |
3124638f | 208 | pico/cd/cd_memory.o: CFLAGS += -fno-strict-aliasing |
895d1512 | 209 | pico/cd/cd_file.o: CFLAGS += -fno-strict-aliasing |
210 | pico/cd/pcm.o: CFLAGS += -fno-strict-aliasing | |
211 | pico/cd/LC89510.o: CFLAGS += -fno-strict-aliasing | |
212 | pico/cd/gfx_cd.o: CFLAGS += -fno-strict-aliasing | |
213 | ||
98dbc3ab | 214 | # random deps |
215 | pico/carthw/svp/compiler.o : cpu/drc/emit_$(ARCH).c | |
216 | cpu/sh2/compiler.o : cpu/drc/emit_$(ARCH).c | |
217 | cpu/sh2/mame/sh2pico.o : cpu/sh2/mame/sh2.c | |
89dbbf2b | 218 | pico/pico.o pico/cd/mcd.o pico/32x/32x.o : pico/pico_cmn.c pico/pico_int.h |
3124638f | 219 | pico/memory.o pico/cd/cd_memory.o pico/32x/32x_memory.o : pico/pico_int.h pico/memory.h |
98dbc3ab | 220 | cpu/fame/famec.o: cpu/fame/famec.c cpu/fame/famec_opcodes.h |