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