-
Notifications
You must be signed in to change notification settings - Fork 36
/
Makefile.common
215 lines (193 loc) · 4.29 KB
/
Makefile.common
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
#-------------------------------------------------
# include the various .mak files
#-------------------------------------------------
# include OSD-specific rules first
DEFS += -DOSD_RETRO
#-------------------------------------------------
# object and source roots
#-------------------------------------------------
MINISRC = $(SRC)/osd/retro
MINIOBJ = $(OBJ)/osd/retro
OSDOBJ = $(OBJ)/osd
OBJDIRS += $(MINIOBJ) \
$(OSDOBJ)/modules/sync \
$(OSDOBJ)/modules/font \
$(OSDOBJ)/modules/lib \
$(OSDOBJ)/modules/midi
ifeq ($(VRENDER),opengl)
GLOBJ = $(OBJ)/osd/retro/libretro-common/glsym
OBJDIRS += $(GLOBJ)
endif
#-------------------------------------------------
# OSD core library
#-------------------------------------------------
OSDCOREOBJS := \
$(MINIOBJ)/retrodir.o \
$(MINIOBJ)/retrofile.o \
$(MINIOBJ)/../modules/font/font_none.o \
$(MINIOBJ)/../modules/lib/osdlib_retro.o \
$(MINIOBJ)/../modules/midi/none.o \
$(OSDOBJ)/modules/osdmodule.o
INCPATH += -I$(SRC)/osd/retro/libretro-common/include
ifeq ($(TARGETOS),emscripten)
OSDCOREOBJS += $(OSDOBJ)/modules/sync/work_mini.o $(OSDOBJ)/modules/sync/sync_mini.o
else
OSDCOREOBJS += $(OSDOBJ)/modules/sync/work_osd.o $(OSDOBJ)/modules/sync/sync_retro.o
endif
#-------------------------------------------------
# OSD mini library
#-------------------------------------------------
OSDOBJS = \
$(MINIOBJ)/libretro.o \
$(MINIOBJ)/retromain.o
DEFS += -DNO_USE_MIDI
ifneq ($(TARGETOS),emscripten)
OSDOBJS += $(OSDOBJ)/modules/midi/none.o
endif
ifeq ($(VRENDER),opengl)
OSDOBJS += $(GLOBJ)/rglgen.o
ifeq ($(GLES), 1)
OSDOBJS += $(GLOBJ)/glsym_es2.o
else
OSDOBJS += $(GLOBJ)/glsym_gl.o
endif
endif
ifneq ($(platform),android)
LIBS += -lpthread
BASELIBS += -lpthread
endif
#-------------------------------------------------
# rules for building the libaries
#-------------------------------------------------
ifneq ($(TARGETOS),emscripten)
$(LIBOCORE): $(OSDCOREOBJS)
endif
# In order to keep dependencies reasonable, we exclude objects in the base of
# $(SRC)/emu, as well as all the OSD objects and anything in the $(OBJ) tree
depend: maketree $(MAKEDEP_TARGET)
@echo Rebuilding depend_emu.mak...
$(MAKEDEP) -I. $(INCPATH) -X$(SRC)/emu -X$(SRC)/osd/... -X$(OBJ)/... $(SRC)/emu > depend_emu.mak
@echo Rebuilding depend_$(TARGET).mak...
$(MAKEDEP) -I. $(INCPATH) -X$(SRC)/emu -X$(SRC)/osd/... -X$(OBJ)/... $(SRC)/$(TARGET) > depend_$(TARGET).mak
ifeq ($(SUBTARGET),$(TARGET))
#-------------------------------------------------
# specify available CPU cores
#-------------------------------------------------
CPUS += Z80
CPUS += Z180
CPUS += I8085
CPUS += I8089
CPUS += M6502
CPUS += H6280
CPUS += I86
CPUS += I386
CPUS += NEC
CPUS += V30MZ
CPUS += V60
CPUS += MCS48
CPUS += MCS51
CPUS += MCS96
CPUS += M6800
CPUS += M6805
CPUS += HD6309
CPUS += M6809
CPUS += KONAMI
CPUS += M680X0
CPUS += T11
CPUS += S2650
CPUS += TMS340X0
CPUS += TMS9900
CPUS += TMS9995
CPUS += TMS9900L
CPUS += Z8000
CPUS += Z8001
CPUS += TMS32010
CPUS += TMS32025
CPUS += TMS32031
CPUS += TMS32051
CPUS += TMS32082
CPUS += TMS57002
CPUS += CCPU
CPUS += ADSP21XX
CPUS += ASAP
CPUS += AM29000
CPUS += UPD7810
CPUS += ARM
CPUS += ARM7
CPUS += JAGUAR
CPUS += CUBEQCPU
CPUS += ESRIP
CPUS += MIPS
CPUS += PSX
CPUS += SH2
CPUS += SH4
CPUS += DSP16A
CPUS += DSP32C
CPUS += PIC16C5X
CPUS += PIC16C62X
CPUS += G65816
CPUS += SPC700
CPUS += E1
CPUS += I860
CPUS += I960
CPUS += H8
CPUS += V810
CPUS += M37710
CPUS += POWERPC
CPUS += SE3208
CPUS += MC68HC11
CPUS += ADSP21062
CPUS += DSP56156
CPUS += RSP
CPUS += ALPHA8201
CPUS += COP400
CPUS += TLCS90
CPUS += TLCS900
CPUS += MB88XX
CPUS += MB86233
CPUS += MB86235
CPUS += SSP1601
CPUS += APEXC
CPUS += CP1610
CPUS += F8
CPUS += LH5801
CPUS += PDP1
CPUS += SATURN
CPUS += SC61860
CPUS += LR35902
CPUS += TMS7000
CPUS += SM8500
CPUS += MINX
CPUS += SSEM
CPUS += AVR8
CPUS += TMS0980
CPUS += I4004
CPUS += SUPERFX
CPUS += Z8
CPUS += I8008
CPUS += SCMP
CPUS += MN10200
CPUS += COSMAC
CPUS += UNSP
CPUS += HCD62121
CPUS += PPS4
CPUS += UPD7725
CPUS += HD61700
CPUS += LC8670
CPUS += SCORE
CPUS += ES5510
CPUS += SCUDSP
CPUS += IE15
CPUS += 8X300
CPUS += ALTO2
#CPUS += W65816
CPUS += ARC
CPUS += ARCOMPACT
CPUS += AMIS2000
CPUS += UCOM4
CPUS += HMCS40
endif
# then the various core pieces
include $(SRC)/$(TARGET)/$(SUBTARGET).mak
include $(SRC)/emu/emu.mak
include $(SRC)/lib/lib.mak