32x: fix FM handling
[picodrive.git] / Makefile
CommitLineData
d4d62665 1TARGET ?= PicoDrive
2CFLAGS += -Wall -ggdb -falign-functions=2
3CFLAGS += -I.
4# FIXME
5CFLAGS += -Iplatform/linux/
6ifndef DEBUG
7CFLAGS += -O2 -DNDEBUG
8endif
19886062 9#CFLAGS += -DEVT_LOG
00faec9c 10#CFLAGS += -DDRC_CMP
11#drc_debug = 4
12#profile = 1
13
e743be20 14
d4d62665 15all: config.mak target_
16
17ifndef NO_CONFIG_MAK
18ifneq ($(wildcard config.mak),)
19config.mak: ./configure
20 @echo $@ is out-of-date, running configure
21 @sed -n "/.*Configured with/s/[^:]*: //p" $@ | sh
22include config.mak
23else
24config.mak:
25 @echo "Please run ./configure before running make!"
26 @exit 1
27endif
28else # NO_CONFIG_MAK
29config.mak:
30endif
31
32# default settings
33ifeq "$(ARCH)" "arm"
34use_cyclone ?= 1
35use_drz80 ?= 1
36use_sh2drc ?= 1
0a91c6e9 37use_svpdrc ?= 1
d4d62665 38
0a91c6e9 39asm_memory ?= 1
40asm_render ?= 1
41asm_ym2612 ?= 1
42asm_misc ?= 1
43asm_cdpico ?= 1
44asm_cdmemory ?= 1
45asm_mix ?= 1
d4d62665 46else # if not arm
d4d62665 47use_fame ?= 1
d4d62665 48use_cz80 ?= 1
49use_sh2mame ?= 1
50endif
e743be20 51
e743be20 52-include Makefile.local
53
d4d62665 54ifeq "$(use_musashi)" "1"
2446536b 55# due to CPU stop flag access
d4d62665 56asm_cdpico = 0
57asm_cdmemory = 0
e743be20 58endif
59
2446536b 60# frontend
61ifeq "$(PLATFORM)" "generic"
62OBJS += platform/linux/emu.o platform/linux/blit.o # FIXME
63OBJS += platform/common/plat_sdl.o
64OBJS += platform/libpicofe/plat_sdl.o platform/libpicofe/in_sdl.o
65OBJS += platform/libpicofe/plat_dummy.o
66USE_FRONTEND = 1
67endif
68ifeq "$(PLATFORM)" "pandora"
69platform/common/menu_pico.o: CFLAGS += -DPANDORA
70OBJS += platform/pandora/plat.o
71OBJS += platform/pandora/asm_utils.o
72OBJS += platform/common/arm_utils.o
73OBJS += platform/libpicofe/linux/fbdev.o
74OBJS += platform/libpicofe/linux/xenv.o
75OBJS += platform/libpicofe/pandora/plat.o
76USE_FRONTEND = 1
77endif
78ifeq "$(PLATFORM)" "libretro"
79OBJS += platform/libretro.o
80endif
81
82ifeq "$(USE_FRONTEND)" "1"
83
e743be20 84# common
d4d62665 85OBJS += platform/common/main.o platform/common/emu.o \
86 platform/common/menu_pico.o platform/common/config_file.o
e743be20 87
88# libpicofe
89OBJS += platform/libpicofe/input.o platform/libpicofe/readpng.o \
90 platform/libpicofe/fonts.o platform/libpicofe/linux/in_evdev.o \
d4d62665 91 platform/libpicofe/linux/plat.o
e743be20 92
d4d62665 93# libpicofe - sound
94OBJS += platform/libpicofe/sndout.o
95ifneq ($(findstring oss,$(SOUND_DRIVERS)),)
96platform/libpicofe/sndout.o: CFLAGS += -DHAVE_OSS
97OBJS += platform/libpicofe/linux/sndout_oss.o
98endif
99ifneq ($(findstring alsa,$(SOUND_DRIVERS)),)
100platform/libpicofe/sndout.o: CFLAGS += -DHAVE_ALSA
101OBJS += platform/libpicofe/linux/sndout_alsa.o
102endif
103ifneq ($(findstring sdl,$(SOUND_DRIVERS)),)
104platform/libpicofe/sndout.o: CFLAGS += -DHAVE_SDL
105OBJS += platform/libpicofe/sndout_sdl.o
106endif
e743be20 107
e743be20 108ifeq "$(ARCH)" "arm"
d4d62665 109OBJS += platform/libpicofe/arm_linux.o
d4d62665 110endif
e743be20 111
2446536b 112endif # USE_FRONTEND
113
fc11dd05 114OBJS += platform/common/mp3.o
115ifeq "$(HAVE_LIBAVCODEC)" "1"
116OBJS += platform/common/mp3_libavcodec.o
117else
2446536b 118OBJS += platform/common/mp3_dummy.o
fc11dd05 119endif
2446536b 120
e743be20 121# zlib
122OBJS += zlib/gzio.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o zlib/trees.o \
123 zlib/deflate.o zlib/crc32.o zlib/adler32.o zlib/zutil.o zlib/compress.o zlib/uncompr.o
124# unzip
125OBJS += unzip/unzip.o unzip/unzip_stream.o
126
d4d62665 127
e743be20 128include platform/common/common.mak
129
98dbc3ab 130OBJS += $(OBJS_COMMON)
131CFLAGS += $(addprefix -D,$(DEFINES))
132
9aee8770 133ifneq ($(findstring gcc,$(CC)),)
134LDFLAGS += -Wl,-Map=$(TARGET).map
135endif
136
137
d4d62665 138target_: $(TARGET)
e743be20 139
140clean:
d4d62665 141 $(RM) $(TARGET) $(OBJS)
e743be20 142
d4d62665 143$(TARGET): $(OBJS)
9aee8770 144 $(CC) -o $@ $(CFLAGS) $^ $(LDFLAGS) $(LDLIBS)
e743be20 145
146pprof: platform/linux/pprof.c
147 $(CC) -O2 -ggdb -DPPROF -DPPROF_TOOL -I../../ -I. $^ -o $@
d4d62665 148
98dbc3ab 149tools/textfilter: tools/textfilter.c
150 make -C tools/ textfilter
151
152.s.o:
153 $(CC) $(CFLAGS) -c $< -o $@
154
155# random deps
156pico/carthw/svp/compiler.o : cpu/drc/emit_$(ARCH).c
157cpu/sh2/compiler.o : cpu/drc/emit_$(ARCH).c
158cpu/sh2/mame/sh2pico.o : cpu/sh2/mame/sh2.c
a8fd6e37 159pico/pico.o pico/cd/pico.o pico/32x/32x.o : pico/pico_cmn.c pico/pico_int.h
98dbc3ab 160pico/memory.o pico/cd/memory.o : pico/pico_int.h pico/memory.h
161cpu/fame/famec.o: cpu/fame/famec.c cpu/fame/famec_opcodes.h
162
d4d62665 163# ----------- release -----------
164
165VER ?= $(shell head -n 1 platform/common/version.h | \
166 sed 's/.*"\(.*\)\.\(.*\)".*/\1\2/g')
167
168ifeq "$(PLATFORM)" "pandora"
169
170PND_MAKE ?= $(HOME)/dev/pnd/src/pandora-libraries/testdata/scripts/pnd_make.sh
171
172/tmp/readme.txt: tools/textfilter platform/base_readme.txt
173 tools/textfilter platform/base_readme.txt $@ PANDORA
174
175/tmp/PicoDrive.pxml: platform/pandora/PicoDrive.pxml.template
176 platform/pandora/make_pxml.sh $^ $@
177
178rel: PicoDrive platform/pandora/PicoDrive.run platform/pandora/picorestore \
179 pico/carthw.cfg /tmp/readme.txt platform/pandora/skin \
180 platform/pandora/PicoDrive.png platform/pandora/PicoDrive_p.png \
181 /tmp/PicoDrive.pxml
182 rm -rf out
183 mkdir out
184 cp -r $^ out/
185 $(PND_MAKE) -p PicoDrive_$(VER).pnd -d out -x out/PicoDrive.pxml -i out/PicoDrive.png -c
186
187endif