bugfixes related to mmap usage for ROM
[libpicofe.git] / common / common.mak
CommitLineData
d2f29611 1ifneq ($(DEBUG),)
2CFLAGS += -ggdb
3endif
4ifeq "$(profile)" "1"
5CFLAGS += -fprofile-generate
6endif
7ifeq "$(profile)" "2"
8CFLAGS += -fprofile-use
9endif
82d64b3a 10ifeq "$(pdb)" "1"
11DEFINES += PDB
12OBJS += cpu/debug.o
13 ifeq "$(pdb_net)" "1"
14 DEFINES += PDB_NET
15 endif
16 ifeq "$(readline)" "1"
17 DEFINES += HAVE_READLINE
18 LDFLAGS += -lreadline
19 endif
20endif
5ff8efa9 21ifeq "$(pprof)" "1"
22DEFINES += PPROF
23OBJS += platform/linux/pprof.o
24endif
d2f29611 25
26# === Pico core ===
27# Pico
28OBJS += pico/area.o pico/cart.o pico/memory.o pico/pico.o pico/sek.o pico/z80if.o \
29 pico/videoport.o pico/draw2.o pico/draw.o pico/mode4.o pico/sms.o \
30 pico/misc.o pico/eeprom.o pico/patch.o pico/debug.o
31# CD
32OBJS += pico/cd/pico.o pico/cd/memory.o pico/cd/sek.o pico/cd/LC89510.o \
33 pico/cd/cd_sys.o pico/cd/cd_file.o pico/cd/cue.o pico/cd/gfx_cd.o \
34 pico/cd/area.o pico/cd/misc.o pico/cd/pcm.o pico/cd/buffering.o
35# 32X
36OBJS += pico/32x/32x.o pico/32x/memory.o pico/32x/draw.o pico/32x/pwm.o
37# Pico
38OBJS += pico/pico/pico.o pico/pico/memory.o pico/pico/xpcm.o
39# carthw
40OBJS += pico/carthw/carthw.o
41# SVP
42OBJS += pico/carthw/svp/svp.o pico/carthw/svp/memory.o \
43 pico/carthw/svp/ssp16.o
44# sound
45OBJS += pico/sound/sound.o
46OBJS += pico/sound/sn76496.o pico/sound/ym2612.o
47
b0e318f7 48# === CPU cores ===
49# --- M68k ---
50ifeq "$(use_musashi)" "1"
51DEFINES += EMU_M68K
52OBJS += cpu/musashi/m68kops.o cpu/musashi/m68kcpu.o
53#OBJS += cpu/musashi/m68kdasm.o
54endif
55ifeq "$(use_cyclone)" "1"
56DEFINES += EMU_C68K
57OBJS += pico/m68kif_cyclone.o cpu/Cyclone/proj/Cyclone.o cpu/Cyclone/tools/idle.o
58endif
59ifeq "$(use_fame)" "1"
60DEFINES += EMU_F68K
61OBJS += cpu/fame/famec.o
62endif
63
64# --- Z80 ---
65ifeq "$(use_mz80)" "1"
66DEFINES += _USE_MZ80
67OBJS += cpu/mz80/mz80.o
68endif
69#
70ifeq "$(use_drz80)" "1"
71DEFINES += _USE_DRZ80
72OBJS += cpu/DrZ80/drz80.o
73endif
74#
75ifeq "$(use_cz80)" "1"
76DEFINES += _USE_CZ80
77OBJS += cpu/cz80/cz80.o
78endif
79
80# --- SH2 ---
81OBJS += cpu/sh2/sh2.o
82OBJS += cpu/drc/cmn.o
83#
84ifeq "$(use_sh2drc)" "1"
85DEFINES += DRC_SH2
86OBJS += cpu/sh2/compiler.o
b0e318f7 87ifdef drc_debug
88DEFINES += DRC_DEBUG=$(drc_debug)
89OBJS += cpu/sh2/mame/sh2dasm.o
90OBJS += platform/linux/host_dasm.o
91LDFLAGS += -lbfd -lopcodes -liberty
92endif
93ifeq "$(drc_debug_interp)" "1"
94DEFINES += DRC_DEBUG_INTERP
95use_sh2mame = 1
96endif
97endif
98#
99ifeq "$(use_sh2mame)" "1"
100OBJS += cpu/sh2/mame/sh2pico.o
101endif
102
103
d2f29611 104DIRS += platform platform/common pico pico/cd pico/pico pico/32x pico/sound pico/carthw/svp \
105 cpu cpu/musashi cpu/cz80 cpu/fame cpu/sh2/mame cpu/drc
106
107
108# common rules
109.c.o:
110 @echo ">>>" $<
111 $(CC) $(CFLAGS) -c $< -o $@
112.s.o:
113 @echo ">>>" $<
114 $(CC) $(CFLAGS) -c $< -o $@
115
116clean_prof:
117 find ../.. -name '*.gcno' -delete
118 find ../.. -name '*.gcda' -delete
119
120mkdirs:
121 mkdir -p $(DIRS)
122
123../../tools/textfilter: ../../tools/textfilter.c
124 make -C ../../tools/ textfilter
125
126
b0e318f7 127# random deps
128pico/carthw/svp/compiler.o : ../../cpu/drc/emit_$(ARCH).c
129cpu/sh2/compiler.o : ../../cpu/drc/emit_$(ARCH).c
130cpu/sh2/mame/sh2pico.o : ../../cpu/sh2/mame/sh2.c
131pico/pico.o pico/cd/pico.o : ../../pico/pico_cmn.c ../../pico/pico_int.h
132pico/memory.o pico/cd/memory.o : ../../pico/pico_int.h ../../pico/memory.h
133
134../../cpu/musashi/m68kops.c :
135 @make -C ../../cpu/musashi
136
137../../cpu/mz80/mz80.asm :
138 @make -C ../../cpu/mz80/
139
140cpu/fame/famec.o : ../../cpu/fame/famec.c ../../cpu/fame/famec_opcodes.h
141 @echo ">>>" $<
142 $(CC) $(CFLAGS) -Wno-unused -c $< -o $@
143
144../../cpu/Cyclone/proj/Cyclone.s:
145 @echo building Cyclone...
146 @make -C ../../cpu/Cyclone/proj CONFIG_FILE=config_pico.h
147