mirror of
https://github.com/holub/mame
synced 2025-05-31 10:01:51 +03:00

Register access is still performed using direct memory accesses, but the pointers are fetched through the memory system. Now you can see i8039 RAM in the debugger. Added internal memory maps of the appropriate size so that drivers don't need to declare this RAM. Added a number of variants from the MCS-48 family as it was not clear which variants had what capabilities. All documented variants now have internal memory maps for internal ROM and RAM. Removed memory maps from drivers using embedded ROM/EPROM/OTPROM since they are defined by the core now. Added some initial logic to boot and run the PR-8210 ROM (i8049) in ldplayer.c. Currently this is disabled behind a compile-time switch. Once this is working, the plan is to incorporate this into the existing PR-8210 emulation, but we're not there yet.
1791 lines
49 KiB
Makefile
1791 lines
49 KiB
Makefile
###########################################################################
|
|
#
|
|
# cpu.mak
|
|
#
|
|
# Rules for building CPU cores
|
|
#
|
|
# Copyright Nicola Salmoria and the MAME Team.
|
|
# Visit http://mamedev.org for licensing and usage restrictions.
|
|
#
|
|
###########################################################################
|
|
|
|
|
|
CPUSRC = $(EMUSRC)/cpu
|
|
CPUOBJ = $(EMUOBJ)/cpu
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Shared code
|
|
#-------------------------------------------------
|
|
|
|
OBJDIRS += $(CPUOBJ)
|
|
CPUOBJS += $(CPUOBJ)/vtlb.o
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Dynamic recompiler objects
|
|
#-------------------------------------------------
|
|
|
|
DRCOBJ = \
|
|
$(CPUOBJ)/drcbec.o \
|
|
$(CPUOBJ)/drcbeut.o \
|
|
$(CPUOBJ)/drccache.o \
|
|
$(CPUOBJ)/drcfe.o \
|
|
$(CPUOBJ)/drcuml.o \
|
|
|
|
DRCDEPS = \
|
|
$(CPUSRC)/drcbeut.h \
|
|
$(CPUSRC)/drccache.h \
|
|
$(CPUSRC)/drcfe.h \
|
|
$(CPUSRC)/drcuml.h \
|
|
$(CPUSRC)/drcumlsh.h \
|
|
|
|
# fixme - need to make this work for other target architectures (PPC)
|
|
|
|
ifndef FORCE_DRC_C_BACKEND
|
|
ifdef PTR64
|
|
|
|
DRCOBJ += \
|
|
$(CPUOBJ)/drcbex64.o \
|
|
$(CPUOBJ)/x86log.o
|
|
|
|
DRCDEPS += \
|
|
$(CPUSRC)/x86emit.h
|
|
|
|
DEFS += -DNATIVE_DRC=drcbe_x64_be_interface
|
|
|
|
else
|
|
|
|
DRCOBJ += \
|
|
$(CPUOBJ)/drcbex86.o \
|
|
$(CPUOBJ)/x86log.o
|
|
|
|
DRCDEPS += \
|
|
$(CPUSRC)/x86emit.h
|
|
|
|
DEFS += -DNATIVE_DRC=drcbe_x86_be_interface
|
|
|
|
endif
|
|
endif
|
|
|
|
|
|
$(DRCOBJ): $(DRCDEPS)
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Acorn ARM series
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_ARM=$(if $(filter ARM,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_ARM7=$(if $(filter ARM7,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter ARM,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/arm
|
|
CPUOBJS += $(CPUOBJ)/arm/arm.o
|
|
DBGOBJS += $(CPUOBJ)/arm/armdasm.o
|
|
endif
|
|
|
|
ifneq ($(filter ARM7,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/arm7
|
|
CPUOBJS += $(CPUOBJ)/arm7/arm7.o
|
|
DBGOBJS += $(CPUOBJ)/arm7/arm7dasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/arm/arm.o: $(CPUSRC)/arm/arm.c \
|
|
$(CPUSRC)/arm/arm.h
|
|
|
|
$(CPUOBJ)/arm7/arm7.o: $(CPUSRC)/arm7/arm7.c \
|
|
$(CPUSRC)/arm7/arm7.h \
|
|
$(CPUSRC)/arm7/arm7exec.c \
|
|
$(CPUSRC)/arm7/arm7core.c
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Advanced Digital Chips SE3208
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_SE3208=$(if $(filter SE3208,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter SE3208,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/se3208
|
|
CPUOBJS += $(CPUOBJ)/se3208/se3208.o
|
|
DBGOBJS += $(CPUOBJ)/se3208/se3208dis.o
|
|
endif
|
|
|
|
$(CPUOBJ)/se3208/se3208.o: $(CPUSRC)/se3208/se3208.c \
|
|
$(CPUSRC)/se3208/se3208.h
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Alpha 8201
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_ALPHA8201=$(if $(filter ALPHA8201,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_ALPHA8301=$(if $(filter ALPHA8301,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter ALPHA8201 ALPHA8301,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/alph8201
|
|
CPUOBJS += $(CPUOBJ)/alph8201/alph8201.o
|
|
DBGOBJS += $(CPUOBJ)/alph8201/8201dasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/alph8201/alph8201.o: $(CPUSRC)/alph8201/alph8201.c \
|
|
$(CPUSRC)/alph8201/alph8201.h
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Analog Devices ADSP21xx series
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_ADSP2100=$(if $(filter ADSP2100,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_ADSP2101=$(if $(filter ADSP2101,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_ADSP2104=$(if $(filter ADSP2104,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_ADSP2105=$(if $(filter ADSP2105,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_ADSP2115=$(if $(filter ADSP2115,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_ADSP2181=$(if $(filter ADSP2181,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter ADSP2100 ADSP2101 ADSP2104 ADSP2105 ADSP2115 ADSP2181,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/adsp2100
|
|
CPUOBJS += $(CPUOBJ)/adsp2100/adsp2100.o
|
|
DBGOBJS += $(CPUOBJ)/adsp2100/2100dasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/adsp2100/adsp2100.o: $(CPUSRC)/adsp2100/adsp2100.c \
|
|
$(CPUSRC)/adsp2100/adsp2100.h \
|
|
$(CPUSRC)/adsp2100/2100ops.c
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Analog Devices "Sharc" ADSP21062
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_ADSP21062=$(if $(filter ADSP21062,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter ADSP21062,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/sharc
|
|
CPUOBJS += $(CPUOBJ)/sharc/sharc.o
|
|
DBGOBJS += $(CPUOBJ)/sharc/sharcdsm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/sharc/sharc.o: $(CPUSRC)/sharc/sharc.c \
|
|
$(CPUSRC)/sharc/sharc.h \
|
|
$(CPUSRC)/sharc/sharcops.c \
|
|
$(CPUSRC)/sharc/sharcops.h \
|
|
$(CPUSRC)/sharc/sharcdsm.c \
|
|
$(CPUSRC)/sharc/sharcdsm.h \
|
|
$(CPUSRC)/sharc/compute.c \
|
|
$(CPUSRC)/sharc/sharcdma.c \
|
|
$(CPUSRC)/sharc/sharcmem.c
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# APEXC
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_APEXC=$(if $(filter APEXC,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter APEXC,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/apexc
|
|
CPUOBJS += $(CPUOBJ)/apexc/apexc.o
|
|
DBGOBJS += $(CPUOBJ)/apexc/apexcdsm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/apexc/apexc.o: $(CPUSRC)/apexc/apexc.c \
|
|
$(CPUSRC)/apexc/apexc.h
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# AT&T DSP32C
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_DSP32C=$(if $(filter DSP32C,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter DSP32C,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/dsp32
|
|
CPUOBJS += $(CPUOBJ)/dsp32/dsp32.o
|
|
DBGOBJS += $(CPUOBJ)/dsp32/dsp32dis.o
|
|
endif
|
|
|
|
$(CPUOBJ)/dsp32/dsp32.o: $(CPUSRC)/dsp32/dsp32.c \
|
|
$(CPUSRC)/dsp32/dsp32.h
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Atari custom RISC processor
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_ASAP=$(if $(filter ASAP,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter ASAP,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/asap
|
|
CPUOBJS += $(CPUOBJ)/asap/asap.o
|
|
DBGOBJS += $(CPUOBJ)/asap/asapdasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/asap/asap.o: $(CPUSRC)/asap/asap.c \
|
|
$(CPUSRC)/asap/asap.h
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Atari Jaguar custom DSPs
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_JAGUAR=$(if $(filter JAGUAR,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter JAGUAR,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/jaguar
|
|
CPUOBJS += $(CPUOBJ)/jaguar/jaguar.o
|
|
DBGOBJS += $(CPUOBJ)/jaguar/jagdasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/jaguar/jaguar.o: $(CPUSRC)/jaguar/jaguar.c \
|
|
$(CPUSRC)/jaguar/jaguar.h
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Simutrek Cube Quest bit-sliced CPUs
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_CUBEQCPU=$(if $(filter CUBEQCPU,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter CUBEQCPU,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/cubeqcpu
|
|
CPUOBJS += $(CPUOBJ)/cubeqcpu/cubeqcpu.o
|
|
#DBGOBJS += $(CPUOBJ)/cubeqcpu/cubedasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/cubeqcpu/cubeqcpu.o: $(CPUSRC)/cubeqcpu/cubeqcpu.c \
|
|
$(CPUSRC)/cubeqcpu/cubeqcpu.h
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# RCA CDP1802
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_CDP1802=$(if $(filter CDP1802,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter CDP1802,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/cdp1802
|
|
CPUOBJS += $(CPUOBJ)/cdp1802/cdp1802.o
|
|
DBGOBJS += $(CPUOBJ)/cdp1802/1802dasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/cdp1802/cdp1802.o: $(CPUSRC)/cdp1802/cdp1802.c \
|
|
$(CPUSRC)/cdp1802/cdp1802.h
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# National Semiconductor COP4xx
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_COP410=$(if $(filter COP410,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_COP411=$(if $(filter COP411,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_COP420=$(if $(filter COP420,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_COP421=$(if $(filter COP421,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter COP410 COP411,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/cop400
|
|
CPUOBJS += $(CPUOBJ)/cop400/cop410.o
|
|
DBGOBJS += $(CPUOBJ)/cop400/cop410ds.o
|
|
endif
|
|
|
|
ifneq ($(filter COP420 COP421,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/cop400
|
|
CPUOBJS += $(CPUOBJ)/cop400/cop420.o
|
|
DBGOBJS += $(CPUOBJ)/cop400/cop420ds.o
|
|
endif
|
|
|
|
$(CPUOBJ)/cop400/cop410.o: $(CPUSRC)/cop400/cop410.c \
|
|
$(CPUSRC)/cop400/cop400.h \
|
|
$(CPUSRC)/cop400/410ops.c
|
|
|
|
$(CPUOBJ)/cop400/cop420.o: $(CPUSRC)/cop400/cop420.c \
|
|
$(CPUSRC)/cop400/cop400.h \
|
|
$(CPUSRC)/cop400/410ops.c \
|
|
$(CPUSRC)/cop400/420ops.c
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# CP1610
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_CP1610=$(if $(filter CP1610,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter CP1610,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/cp1610
|
|
CPUOBJS += $(CPUOBJ)/cp1610/cp1610.o
|
|
DBGOBJS += $(CPUOBJ)/cp1610/1610dasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/cp1610/cp1610.o: $(CPUSRC)/cp1610/cp1610.c \
|
|
$(CPUSRC)/cp1610/cp1610.h
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Cinematronics vector "CPU"
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_CCPU=$(if $(filter CCPU,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter CCPU,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/ccpu
|
|
CPUOBJS += $(CPUOBJ)/ccpu/ccpu.o
|
|
DBGOBJS += $(CPUOBJ)/ccpu/ccpudasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/ccpu/ccpu.o: $(CPUSRC)/ccpu/ccpu.c \
|
|
$(CPUSRC)/ccpu/ccpu.h
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# DEC T-11
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_T11=$(if $(filter T11,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter T11,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/t11
|
|
CPUOBJS += $(CPUOBJ)/t11/t11.o
|
|
DBGOBJS += $(CPUOBJ)/t11/t11dasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/t11/t11.o: $(CPUSRC)/t11/t11.c \
|
|
$(CPUSRC)/t11/t11.h \
|
|
$(CPUSRC)/t11/t11ops.c \
|
|
$(CPUSRC)/t11/t11table.c
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# F8
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_F8=$(if $(filter F8,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter F8,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/f8
|
|
CPUOBJS += $(CPUOBJ)/f8/f8.o
|
|
DBGOBJS += $(CPUOBJ)/f8/f8dasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/f8/f8.o: $(CPUSRC)/f8/f8.c \
|
|
$(CPUSRC)/f8/f8.h
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# G65816
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_G65816=$(if $(filter G65816,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter G65816,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/g65816
|
|
CPUOBJS += \
|
|
$(CPUOBJ)/g65816/g65816.o \
|
|
$(CPUOBJ)/g65816/g65816o0.o \
|
|
$(CPUOBJ)/g65816/g65816o1.o \
|
|
$(CPUOBJ)/g65816/g65816o2.o \
|
|
$(CPUOBJ)/g65816/g65816o3.o \
|
|
$(CPUOBJ)/g65816/g65816o4.o
|
|
DBGOBJS += $(CPUOBJ)/g65816/g65816ds.o
|
|
endif
|
|
|
|
G65816DEPS = \
|
|
$(CPUSRC)/g65816/g65816.h \
|
|
$(CPUSRC)/g65816/g65816cm.h \
|
|
$(CPUSRC)/g65816/g65816op.h
|
|
|
|
$(CPUOBJ)/g65816/g65816.o: $(CPUSRC)/g65816/g65816.c \
|
|
$(G65816DEPS)
|
|
|
|
$(CPUOBJ)/g65816/g65816o0.o: $(CPUSRC)/g65816/g65816o0.c \
|
|
$(G65816DEPS)
|
|
|
|
$(CPUOBJ)/g65816/g65816o1.o: $(CPUSRC)/g65816/g65816o1.c \
|
|
$(G65816DEPS)
|
|
|
|
$(CPUOBJ)/g65816/g65816o2.o: $(CPUSRC)/g65816/g65816o2.c \
|
|
$(G65816DEPS)
|
|
|
|
$(CPUOBJ)/g65816/g65816o3.o: $(CPUSRC)/g65816/g65816o3.c \
|
|
$(G65816DEPS)
|
|
|
|
$(CPUOBJ)/g65816/g65816o4.o: $(CPUSRC)/g65816/g65816o4.c \
|
|
$(G65816DEPS)
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Hitachi 6309
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_HD6309=$(if $(filter HD6309,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter HD6309,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/hd6309
|
|
CPUOBJS += $(CPUOBJ)/hd6309/hd6309.o
|
|
DBGOBJS += $(CPUOBJ)/hd6309/6309dasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/hd6309/hd6309.o: $(CPUSRC)/hd6309/hd6309.c \
|
|
$(CPUSRC)/hd6309/hd6309.h \
|
|
$(CPUSRC)/hd6309/6309ops.c \
|
|
$(CPUSRC)/hd6309/6309tbl.c
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Hitachi H8/3002
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_H83002=$(if $(filter H83002,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter H83002,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/h83002
|
|
CPUOBJS += $(CPUOBJ)/h83002/h83002.o $(CPUOBJ)/h83002/h8periph.o
|
|
DBGOBJS += $(CPUOBJ)/h83002/h8disasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/h83002/h83002.o: $(CPUSRC)/h83002/h83002.c \
|
|
$(CPUSRC)/h83002/h83002.h \
|
|
$(CPUSRC)/h83002/h8priv.h
|
|
|
|
$(CPUOBJ)/h83002/h8disasm.o: $(CPUSRC)/h83002/h8disasm.c
|
|
|
|
$(CPUOBJ)/h83002/h8periph.o: $(CPUSRC)/h83002/h8periph.c \
|
|
$(CPUSRC)/h83002/h8priv.h
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Hitachi SH1/SH2
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_SH1=$(if $(filter SH1,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter SH1,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/sh2
|
|
CPUOBJS += $(CPUOBJ)/sh2/sh2.o $(CPUOBJ)/sh2/sh2comn.o $(CPUOBJ)/sh2/sh2drc.o $(CPUOBJ)/sh2/sh2fe.o
|
|
DBGOBJS += $(CPUOBJ)/sh2/sh2dasm.o
|
|
endif
|
|
|
|
CPUDEFS += -DHAS_SH2=$(if $(filter SH2,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter SH2,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/sh2
|
|
CPUOBJS += $(CPUOBJ)/sh2/sh2.o $(CPUOBJ)/sh2/sh2comn.o $(CPUOBJ)/sh2/sh2drc.o $(CPUOBJ)/sh2/sh2fe.o
|
|
DBGOBJS += $(CPUOBJ)/sh2/sh2dasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/sh2/sh2.o: $(CPUSRC)/sh2/sh2.c \
|
|
$(CPUSRC)/sh2/sh2.h \
|
|
$(CPUSRC)/sh2/sh2comn.h
|
|
|
|
$(CPUOBJ)/sh2/sh2comn.o: $(CPUSRC)/sh2/sh2comn.c \
|
|
$(CPUSRC)/sh2/sh2comn.h \
|
|
$(CPUSRC)/sh2/sh2.h
|
|
|
|
$(CPUOBJ)/sh2/sh2drc.o: $(CPUSRC)/sh2/sh2drc.c \
|
|
$(CPUSRC)/sh2/sh2.h \
|
|
$(CPUSRC)/sh2/sh2comn.h
|
|
|
|
$(CPUOBJ)/sh2/sh2fe.o: $(CPUSRC)/sh2/sh2fe.c \
|
|
$(CPUSRC)/sh2/sh2.h \
|
|
$(CPUSRC)/sh2/sh2comn.h
|
|
|
|
#-------------------------------------------------
|
|
# Hitachi SH4
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_SH4=$(if $(filter SH4,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter SH4,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/sh4
|
|
CPUOBJS += $(CPUOBJ)/sh4/sh4.o $(CPUOBJ)/sh4/sh4comn.o
|
|
DBGOBJS += $(CPUOBJ)/sh4/sh4dasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/sh4/sh4.o: $(CPUSRC)/sh4/sh4.c \
|
|
$(CPUSRC)/sh4/sh4.h \
|
|
$(CPUSRC)/sh4/sh4regs.h \
|
|
$(CPUSRC)/sh4/sh4comn.h
|
|
|
|
$(CPUOBJ)/sh4/sh4comn.o: $(CPUSRC)/sh4/sh4comn.c \
|
|
$(CPUSRC)/sh4/sh4comn.h \
|
|
$(CPUSRC)/sh4/sh4regs.h \
|
|
$(CPUSRC)/sh4/sh4.h
|
|
|
|
#-------------------------------------------------
|
|
# Hudsonsoft 6280
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_H6280=$(if $(filter H6280,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter H6280,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/h6280
|
|
CPUOBJS += $(CPUOBJ)/h6280/h6280.o
|
|
DBGOBJS += $(CPUOBJ)/h6280/6280dasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/h6280/h6280.o: $(CPUSRC)/h6280/h6280.c \
|
|
$(CPUSRC)/h6280/h6280.h \
|
|
$(CPUSRC)/h6280/h6280ops.h \
|
|
$(CPUSRC)/h6280/tblh6280.c
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Hyperstone E1 series
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_E116T=$(if $(filter E116T,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_E116XT=$(if $(filter E116XT,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_E116XS=$(if $(filter E116XS,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_E116XSR=$(if $(filter E116XSR,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_E132N=$(if $(filter E132N,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_E132T=$(if $(filter E132T,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_E132XN=$(if $(filter E132XN,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_E132XT=$(if $(filter E132XT,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_E132XS=$(if $(filter E132XS,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_E132XSR=$(if $(filter E132XSR,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_GMS30C2116=$(if $(filter GMS30C2116,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_GMS30C2132=$(if $(filter GMS30C2132,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_GMS30C2216=$(if $(filter GMS30C2216,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_GMS30C2232=$(if $(filter GMS30C2232,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter E116T E116XT E116XS E116XSR E132N E132T E132XN E132XT E132XS E132XSR GMS30C2116 GMS30C2132 GMS30C2216 GMS30C2232,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/e132xs
|
|
CPUOBJS += $(CPUOBJ)/e132xs/e132xs.o
|
|
DBGOBJS += $(CPUOBJ)/e132xs/32xsdasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/e132xs/e132xs.o: $(CPUSRC)/e132xs/e132xs.c \
|
|
$(CPUSRC)/e132xs/e132xs.h \
|
|
$(CPUSRC)/e132xs/e132xsop.c
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Intel 8080/8085A
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_8080=$(if $(filter 8080,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_8085A=$(if $(filter 8085A,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter 8080 8085A,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/i8085
|
|
CPUOBJS += $(CPUOBJ)/i8085/i8085.o
|
|
DBGOBJS += $(CPUOBJ)/i8085/8085dasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/i8085/i8085.o: $(CPUSRC)/i8085/i8085.c \
|
|
$(CPUSRC)/i8085/i8085.h \
|
|
$(CPUSRC)/i8085/i8085cpu.h \
|
|
$(CPUSRC)/i8085/i8085daa.h
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Intel MCS-48 (8039 and derivatives)
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_I8035=$(if $(filter I8035,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_I8041=$(if $(filter I8041,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_I8048=$(if $(filter I8048,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_I8648=$(if $(filter I8648,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_I8748=$(if $(filter I8748,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_MB8884=$(if $(filter MB8884,$(CPUS)),1,0)
|
|
|
|
CPUDEFS += -DHAS_I8039=$(if $(filter I8039,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_I8049=$(if $(filter I8049,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_I8749=$(if $(filter I8749,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_N7751=$(if $(filter N7751,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_M58715=$(if $(filter M58715,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter I8035 I8041 I8048 I8648 I8748 MB8884 I8039 I8049 I8749 N7751 M58715,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/i8039
|
|
CPUOBJS += $(CPUOBJ)/i8039/i8039.o
|
|
DBGOBJS += $(CPUOBJ)/i8039/8039dasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/i8039/i8039.o: $(CPUSRC)/i8039/i8039.c \
|
|
$(CPUSRC)/i8039/i8039.h
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Intel 8x41
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_I8X41=$(if $(filter I8X41,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter I8X41,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/i8x41
|
|
CPUOBJS += $(CPUOBJ)/i8x41/i8x41.o
|
|
DBGOBJS += $(CPUOBJ)/i8x41/8x41dasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/i8x41/i8x41.o: $(CPUSRC)/i8x41/i8x41.c \
|
|
$(CPUSRC)/i8x41/i8x41.h
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Intel 8051 and derivatives
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_I8051=$(if $(filter I8051,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_I8052=$(if $(filter I8052,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_I8751=$(if $(filter I8751,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_I8752=$(if $(filter I8752,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter I8051 I8052 I8751 I8752,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/i8051
|
|
CPUOBJS += $(CPUOBJ)/i8051/i8051.o
|
|
DBGOBJS += $(CPUOBJ)/i8051/8051dasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/i8051/i8051.o: $(CPUSRC)/i8051/i8051.c \
|
|
$(CPUSRC)/i8051/i8051.h \
|
|
$(CPUSRC)/i8051/i8051ops.c
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# DS5002FP
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_DS5002FP=$(if $(filter DS5002FP,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter DS5002FP,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/ds5002fp
|
|
CPUOBJS += $(CPUOBJ)/ds5002fp/ds5002fp.o
|
|
DBGOBJS += $(CPUOBJ)/ds5002fp/ds5002fpdasm.o
|
|
endif
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Intel 80x86 series
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_I8086=$(if $(filter I8086,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_I8088=$(if $(filter I8088,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_I80186=$(if $(filter I80186,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_I80188=$(if $(filter I80188,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_I80286=$(if $(filter I80286,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_I386=$(if $(filter I386,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_I486=$(if $(filter I486,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_PENTIUM=$(if $(filter PENTIUM,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_MEDIAGX=$(if $(filter MEDIAGX,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter I8086 I8088 I80186 I80188,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/i86 $(CPUOBJ)/i386
|
|
CPUOBJS += $(CPUOBJ)/i86/i86.o
|
|
DBGOBJS += $(CPUOBJ)/i386/i386dasm.o
|
|
endif
|
|
|
|
|
|
ifneq ($(filter I80286,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/i86 $(CPUOBJ)/i386
|
|
CPUOBJS += $(CPUOBJ)/i86/i286.o
|
|
DBGOBJS += $(CPUOBJ)/i386/i386dasm.o
|
|
endif
|
|
|
|
|
|
ifneq ($(filter I386 I486 PENTIUM MEDIAGX,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/i386
|
|
CPUOBJS += $(CPUOBJ)/i386/i386.o
|
|
DBGOBJS += $(CPUOBJ)/i386/i386dasm.o
|
|
endif
|
|
|
|
I86DEPS = \
|
|
$(CPUSRC)/i86/i86.h \
|
|
$(CPUSRC)/i86/ea.h \
|
|
$(CPUSRC)/i86/host.h \
|
|
$(CPUSRC)/i86/modrm.h
|
|
|
|
$(CPUOBJ)/i86/i86.o: $(CPUSRC)/i86/i86.c \
|
|
$(CPUSRC)/i86/instr86.c \
|
|
$(CPUSRC)/i86/instr186.c \
|
|
$(CPUSRC)/i86/i86intf.h \
|
|
$(CPUSRC)/i86/i186intf.h \
|
|
$(I86DEPS)
|
|
|
|
$(CPUOBJ)/i86/i286.o: $(CPUSRC)/i86/i86.c \
|
|
$(CPUSRC)/i86/instr286.c \
|
|
$(CPUSRC)/i86/i286intf.h \
|
|
$(I86DEPS)
|
|
|
|
$(CPUOBJ)/i386/i386.o: $(CPUSRC)/i386/i386.c \
|
|
$(CPUSRC)/i386/i386.h \
|
|
$(CPUSRC)/i386/i386intf.h \
|
|
$(CPUSRC)/i386/i386op16.c \
|
|
$(CPUSRC)/i386/i386op32.c \
|
|
$(CPUSRC)/i386/i386ops.c \
|
|
$(CPUSRC)/i386/i486ops.c \
|
|
$(CPUSRC)/i386/pentops.c \
|
|
$(CPUSRC)/i386/x87ops.c \
|
|
$(CPUSRC)/i386/i386ops.h \
|
|
$(CPUSRC)/i386/cycles.h
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Intel i960
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_I960=$(if $(filter I960,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter I960,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/i960
|
|
CPUOBJS += $(CPUOBJ)/i960/i960.o
|
|
DBGOBJS += $(CPUOBJ)/i960/i960dis.o
|
|
endif
|
|
|
|
$(CPUOBJ)/i960/i960.o: $(CPUSRC)/i960/i960.c \
|
|
$(CPUSRC)/i960/i960.h
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Konami custom CPU (6809-based)
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_KONAMI=$(if $(filter KONAMI,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter KONAMI,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/konami
|
|
CPUOBJS += $(CPUOBJ)/konami/konami.o
|
|
DBGOBJS += $(CPUOBJ)/konami/knmidasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/konami/konami.o: $(CPUSRC)/konami/konami.c \
|
|
$(CPUSRC)/konami/konami.h \
|
|
$(CPUSRC)/konami/konamops.c \
|
|
$(CPUSRC)/konami/konamtbl.c
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# LH5801
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_LH5801=$(if $(filter LH5801,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter LH5801,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/lh5801
|
|
CPUOBJS += $(CPUOBJ)/lh5801/lh5801.o
|
|
DBGOBJS += $(CPUOBJ)/lh5801/5801dasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/lh5801/lh5801.o: $(CPUSRC)/lh5801/lh5801.c \
|
|
$(CPUSRC)/lh5801/5801tbl.c \
|
|
$(CPUSRC)/lh5801/lh5801.h
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Fujitsu MB88xx
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_MB8841=$(if $(filter MB8841,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_MB8842=$(if $(filter MB8842,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_MB8843=$(if $(filter MB8843,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_MB8844=$(if $(filter MB8844,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter MB8841 MB8842 MB8843 MB8844,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/mb88xx
|
|
CPUOBJS += $(CPUOBJ)/mb88xx/mb88xx.o
|
|
DBGOBJS += $(CPUOBJ)/mb88xx/mb88dasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/mb88xx/mb88xx.o: $(CPUSRC)/mb88xx/mb88xx.c \
|
|
$(CPUSRC)/mb88xx/mb88xx.h
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Fujitsu MB86233
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_MB86233=$(if $(filter MB86233,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter MB86233,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/mb86233
|
|
CPUOBJS += $(CPUOBJ)/mb86233/mb86233.o
|
|
DBGOBJS += $(CPUOBJ)/mb86233/mb86233d.o
|
|
endif
|
|
|
|
$(CPUOBJ)/mb86233/mb86233.o: $(CPUSRC)/mb86233/mb86233.c \
|
|
$(CPUSRC)/mb86233/mb86233.h
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Microchip PIC16C5x
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_PIC16C54=$(if $(filter PIC16C54,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_PIC16C55=$(if $(filter PIC16C55,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_PIC16C56=$(if $(filter PIC16C56,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_PIC16C57=$(if $(filter PIC16C57,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_PIC16C58=$(if $(filter PIC16C58,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter PIC16C54 PIC16C55 PIC16C56 PIC16C57 PIC16C58,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/pic16c5x
|
|
CPUOBJS += $(CPUOBJ)/pic16c5x/pic16c5x.o
|
|
DBGOBJS += $(CPUOBJ)/pic16c5x/16c5xdsm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/pic16c5x/pic16c5x.o: $(CPUSRC)/pic16c5x/pic16c5x.c \
|
|
$(CPUSRC)/pic16c5x/pic16c5x.h
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# MIPS R3000 (MIPS I/II) series
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_R3000=$(if $(filter R3000,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_R3041=$(if $(filter R3041,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter R3000 R3041,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/mips
|
|
CPUOBJS += $(CPUOBJ)/mips/r3000.o
|
|
DBGOBJS += $(CPUOBJ)/mips/r3kdasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/mips/r3000.o: $(CPUSRC)/mips/r3000.c \
|
|
$(CPUSRC)/mips/r3000.h
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# MIPS R4000 (MIPS III/IV) series
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_R4600=$(if $(filter R4600,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_R4650=$(if $(filter R4650,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_R4700=$(if $(filter R4700,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_R5000=$(if $(filter R5000,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_QED5271=$(if $(filter QED5271,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_RM7000=$(if $(filter RM7000,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter R4600 R4650 R4700 R5000 QED5271 RM7000,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/mips
|
|
CPUOBJS += $(CPUOBJ)/mips/mips3com.o $(CPUOBJ)/mips/mips3fe.o $(CPUOBJ)/mips/mips3drc.o $(DRCOBJ)
|
|
DBGOBJS += $(CPUOBJ)/mips/mips3dsm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/mips/mips3com.o: $(CPUSRC)/mips/mips3.h \
|
|
$(CPUSRC)/mips/mips3com.h
|
|
|
|
$(CPUOBJ)/mips/mips3fe.o: $(CPUSRC)/mips/mips3.h \
|
|
$(CPUSRC)/mips/mips3com.h \
|
|
$(CPUSRC)/mips/mips3fe.h
|
|
|
|
$(CPUOBJ)/mips/mips3drc.o: $(CPUSRC)/mips/mips3drc.c \
|
|
$(CPUSRC)/mips/mips3.h \
|
|
$(CPUSRC)/mips/mips3com.h \
|
|
$(CPUSRC)/mips/mips3fe.h \
|
|
$(DRCDEPS)
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Mitsubishi M37702 and M37710 (based on 65C816)
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_M37702=$(if $(filter M37702,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_M37710=$(if $(filter M37710,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter M37702 M37710,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/m37710
|
|
CPUOBJS += \
|
|
$(CPUOBJ)/m37710/m37710.o \
|
|
$(CPUOBJ)/m37710/m37710o0.o \
|
|
$(CPUOBJ)/m37710/m37710o1.o \
|
|
$(CPUOBJ)/m37710/m37710o2.o \
|
|
$(CPUOBJ)/m37710/m37710o3.o
|
|
DBGOBJS += $(CPUOBJ)/m37710/m7700ds.o
|
|
endif
|
|
|
|
M37710DEPS = \
|
|
$(CPUSRC)/m37710/m37710.h \
|
|
$(CPUSRC)/m37710/m37710op.h \
|
|
$(CPUSRC)/m37710/m7700ds.h
|
|
|
|
$(CPUOBJ)/m37710/m37710.o: $(CPUSRC)/m37710/m37710.c \
|
|
$(M37710DEPS)
|
|
|
|
$(CPUOBJ)/m37710/m37710o0.o: $(CPUSRC)/m37710/m37710o0.c \
|
|
$(M37710DEPS)
|
|
|
|
$(CPUOBJ)/m37710/m37710o1.o: $(CPUSRC)/m37710/m37710o1.c \
|
|
$(M37710DEPS)
|
|
|
|
$(CPUOBJ)/m37710/m37710o2.o: $(CPUSRC)/m37710/m37710o2.c \
|
|
$(M37710DEPS)
|
|
|
|
$(CPUOBJ)/m37710/m37710o3.o: $(CPUSRC)/m37710/m37710o3.c \
|
|
$(M37710DEPS)
|
|
|
|
$(CPUOBJ)/m37710/m7700ds.o: $(CPUSRC)/m37710/m7700ds.c \
|
|
$(CPUSRC)/m37710/m7700ds.h
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Mostek 6502 and its many derivatives
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_M6502=$(if $(filter M6502,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_M65C02=$(if $(filter M65C02,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_M65SC02=$(if $(filter M65SC02,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_M65CE02=$(if $(filter M65CE02,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_M6509=$(if $(filter M6509,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_M6510=$(if $(filter M6510 M6510T M7501 M8502,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_M6510T=$(if $(filter M6510T,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_M7501=$(if $(filter M7501,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_M8502=$(if $(filter M8502,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_N2A03=$(if $(filter N2A03,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_DECO16=$(if $(filter DECO16,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_M4510=$(if $(filter M4510,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter M6502 M65C02 M65SC02 M6510 M6510T M7501 M8502 N2A03 DECO16,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/m6502
|
|
CPUOBJS += $(CPUOBJ)/m6502/m6502.o
|
|
DBGOBJS += $(CPUOBJ)/m6502/6502dasm.o
|
|
endif
|
|
|
|
ifneq ($(filter M65CE02,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/m6502
|
|
CPUOBJS += $(CPUOBJ)/m6502/m65ce02.o
|
|
DBGOBJS += $(CPUOBJ)/m6502/6502dasm.o
|
|
endif
|
|
|
|
ifneq ($(filter M6509,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/m6502
|
|
CPUOBJS += $(CPUOBJ)/m6502/m6509.o
|
|
DBGOBJS += $(CPUOBJ)/m6502/6502dasm.o
|
|
endif
|
|
|
|
ifneq ($(filter M4510,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/m6502
|
|
CPUOBJS += $(CPUOBJ)/m6502/m4510.o
|
|
DBGOBJS += $(CPUOBJ)/m6502/6502dasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/m6502/m6502.o: $(CPUSRC)/m6502/m6502.c \
|
|
$(CPUSRC)/m6502/m6502.h \
|
|
$(CPUSRC)/m6502/ops02.h \
|
|
$(CPUSRC)/m6502/t6502.c \
|
|
$(CPUSRC)/m6502/t65c02.c \
|
|
$(CPUSRC)/m6502/t65sc02.c \
|
|
$(CPUSRC)/m6502/t6510.c \
|
|
$(CPUSRC)/m6502/tdeco16.c
|
|
|
|
$(CPUOBJ)/m6502/m65ce02.o: $(CPUSRC)/m6502/m65ce02.c \
|
|
$(CPUSRC)/m6502/m65ce02.h \
|
|
$(CPUSRC)/m6502/opsce02.h \
|
|
$(CPUSRC)/m6502/t65ce02.c
|
|
|
|
$(CPUOBJ)/m6502/m6509.o: $(CPUSRC)/m6502/m6509.c \
|
|
$(CPUSRC)/m6502/m6509.h \
|
|
$(CPUSRC)/m6502/ops09.h \
|
|
$(CPUSRC)/m6502/t6509.c
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Motorola 680x
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_M6800=$(if $(filter M6800,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_M6801=$(if $(filter M6801,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_M6802=$(if $(filter M6802,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_M6803=$(if $(filter M6803,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_M6808=$(if $(filter M6808,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_HD63701=$(if $(filter HD63701,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_NSC8105=$(if $(filter NSC8105,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter M6800 M6801 M6802 M6803 M6808 HD63701 NSC8105,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/m6800
|
|
CPUOBJS += $(CPUOBJ)/m6800/m6800.o
|
|
DBGOBJS += $(CPUOBJ)/m6800/6800dasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/m6800/m6800.o: $(CPUSRC)/m6800/m6800.c \
|
|
$(CPUSRC)/m6800/m6800.h \
|
|
$(CPUSRC)/m6800/6800ops.c \
|
|
$(CPUSRC)/m6800/6800tbl.c
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Motorola 6805
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_M6805=$(if $(filter M6805,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_M68705=$(if $(filter M68705,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_HD63705=$(if $(filter HD63705,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter M6805 M68705 HD63705,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/m6805
|
|
CPUOBJS += $(CPUOBJ)/m6805/m6805.o
|
|
DBGOBJS += $(CPUOBJ)/m6805/6805dasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/m6805/m6805.o: $(CPUSRC)/m6805/m6805.c \
|
|
$(CPUSRC)/m6805/m6805.h \
|
|
$(CPUSRC)/m6805/6805ops.c
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Motorola 6809
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_M6809=$(if $(filter M6809,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_M6809E=$(if $(filter M6809E,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter M6809 M6809E,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/m6809
|
|
CPUOBJS += $(CPUOBJ)/m6809/m6809.o
|
|
DBGOBJS += $(CPUOBJ)/m6809/6809dasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/m6809/m6809.o: $(CPUSRC)/m6809/m6809.c \
|
|
$(CPUSRC)/m6809/m6809.h \
|
|
$(CPUSRC)/m6809/6809ops.c \
|
|
$(CPUSRC)/m6809/6809tbl.c
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Motorola 68HC11
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_MC68HC11=$(if $(filter MC68HC11,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter MC68HC11,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/mc68hc11
|
|
CPUOBJS += $(CPUOBJ)/mc68hc11/mc68hc11.o
|
|
DBGOBJS += $(CPUOBJ)/mc68hc11/hc11dasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/mc68hc11/mc68hc11.o: $(CPUSRC)/mc68hc11/mc68hc11.c \
|
|
$(CPUSRC)/mc68hc11/hc11dasm.c
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Motorola 68000 series
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_M68000=$(if $(filter M68000,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_M68008=$(if $(filter M68008,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_M68010=$(if $(filter M68010,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_M68EC020=$(if $(filter M68EC020,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_M68020=$(if $(filter M68020,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_M68040=$(if $(filter M68040,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter M68000 M68008 M68010 M68EC020 M68020 M68040,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/m68000
|
|
CPUOBJS += $(CPUOBJ)/m68000/m68kcpu.o $(CPUOBJ)/m68000/m68kmame.o $(CPUOBJ)/m68000/m68kops.o
|
|
DBGOBJS += $(CPUOBJ)/m68000/m68kdasm.o
|
|
M68KMAKE = $(BUILDOUT)/m68kmake$(BUILD_EXE)
|
|
endif
|
|
|
|
# when we compile source files we need to include generated files from the OBJ directory
|
|
$(CPUOBJ)/m68000/%.o: $(CPUSRC)/m68000/%.c | $(OSPREBUILD)
|
|
@echo Compiling $<...
|
|
$(CC) $(CDEFS) $(CFLAGS) -I$(CPUOBJ)/m68000 -c $< -o $@
|
|
|
|
# when we compile generated files we need to include stuff from the src directory
|
|
$(CPUOBJ)/m68000/%.o: $(CPUOBJ)/m68000/%.c | $(OSPREBUILD)
|
|
@echo Compiling $<...
|
|
$(CC) $(CDEFS) $(CFLAGS) -I$(CPUSRC)/m68000 -c $< -o $@
|
|
|
|
# rule to generate the C files
|
|
$(CPUOBJ)/m68000/m68kops.c: $(M68KMAKE) $(CPUSRC)/m68000/m68k_in.c
|
|
@echo Generating M68K source files...
|
|
$(M68KMAKE) $(CPUOBJ)/m68000 $(CPUSRC)/m68000/m68k_in.c
|
|
|
|
# rule to build the generator
|
|
ifneq ($(CROSS_BUILD),1)
|
|
|
|
BUILD += $(M68KMAKE)
|
|
|
|
$(M68KMAKE): $(CPUOBJ)/m68000/m68kmake.o $(LIBOCORE)
|
|
@echo Linking $@...
|
|
$(LD) $(LDFLAGS) $(OSDBGLDFLAGS) $^ $(LIBS) -o $@
|
|
endif
|
|
|
|
# rule to ensure we build the header before building the core CPU file
|
|
$(CPUOBJ)/m68000/m68kcpu.o: $(CPUOBJ)/m68000/m68kops.c \
|
|
$(CPUSRC)/m68000/m68kcpu.h
|
|
|
|
$(CPUOBJ)/m68000/m68kmame.o: $(CPUSRC)/m68000/m68kmame.c \
|
|
$(CPUSRC)/m68000/m68kcpu.h
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Motorola/Freescale dsp56k
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_DSP56156=$(if $(filter DSP56156,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter DSP56156,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/dsp56k
|
|
CPUOBJS += $(CPUOBJ)/dsp56k/dsp56k.o
|
|
DBGOBJS += $(CPUOBJ)/dsp56k/dsp56dsm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/dsp56k/dsp56k.o: $(CPUSRC)/dsp56k/dsp56k.c \
|
|
$(CPUSRC)/dsp56k/dsp56ops.c \
|
|
$(CPUSRC)/dsp56k/dsp56k.h
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# PDP-1
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_PDP1=$(if $(filter PDP1,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter PDP1,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/pdp1
|
|
CPUOBJS += $(CPUOBJ)/pdp1/pdp1.o
|
|
DBGOBJS += $(CPUOBJ)/pdp1/pdp1dasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/pdp1/pdp1.o: $(CPUSRC)/pdp1/pdp1.c \
|
|
$(CPUSRC)/pdp1/pdp1.h
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Motorola PowerPC series
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_PPC403GA=$(if $(filter PPC403GA,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_PPC403GCX=$(if $(filter PPC403GCX,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_PPC601=$(if $(filter PPC601,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_PPC602=$(if $(filter PPC602,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_PPC603=$(if $(filter PPC603,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_PPC603E=$(if $(filter PPC603E,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_PPC603R=$(if $(filter PPC603R,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_PPC604=$(if $(filter PPC604,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_MPC8240=$(if $(filter MPC8240,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter PPC403GA PPC403GCX PPC601 PPC602 PPC603 PPC603E PPC603R PPC604 MPC8240,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/powerpc
|
|
CPUOBJS += $(CPUOBJ)/powerpc/ppccom.o $(CPUOBJ)/powerpc/ppcfe.o $(CPUOBJ)/powerpc/ppcdrc.o $(DRCOBJ)
|
|
DBGOBJS += $(CPUOBJ)/powerpc/ppc_dasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/powerpc/ppccom.o: $(CPUSRC)/powerpc/ppc.h \
|
|
$(CPUSRC)/powerpc/ppccom.h
|
|
|
|
$(CPUOBJ)/powerpc/ppcfe.o: $(CPUSRC)/powerpc/ppc.h \
|
|
$(CPUSRC)/powerpc/ppccom.h \
|
|
$(CPUSRC)/powerpc/ppcfe.h
|
|
|
|
$(CPUOBJ)/powerpc/ppcdrc.o: $(CPUSRC)/powerpc/ppcdrc.c \
|
|
$(CPUSRC)/powerpc/ppc.h \
|
|
$(CPUSRC)/powerpc/ppccom.h \
|
|
$(CPUSRC)/powerpc/ppcfe.h \
|
|
$(DRCDEPS)
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# NEC V-series Intel-compatible
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_V20=$(if $(filter V20,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_V25=$(if $(filter V25,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_V30=$(if $(filter V30,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_V30MZ=$(if $(filter V30MZ,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_V33=$(if $(filter V33,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_V35=$(if $(filter V35,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter V20 V25 V30 V33 V35,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/nec
|
|
CPUOBJS += $(CPUOBJ)/nec/nec.o
|
|
DBGOBJS += $(CPUOBJ)/nec/necdasm.o
|
|
endif
|
|
|
|
ifneq ($(filter V30MZ,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/v30mz $(CPUOBJ)/nec
|
|
CPUOBJS += $(CPUOBJ)/v30mz/v30mz.o
|
|
DBGOBJS += $(CPUOBJ)/nec/necdasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/nec/nec.o: $(CPUSRC)/nec/nec.c \
|
|
$(CPUSRC)/nec/nec.h \
|
|
$(CPUSRC)/nec/necintrf.h \
|
|
$(CPUSRC)/nec/necea.h \
|
|
$(CPUSRC)/nec/nechost.h \
|
|
$(CPUSRC)/nec/necinstr.h \
|
|
$(CPUSRC)/nec/necmodrm.h
|
|
|
|
$(CPUOBJ)/v30mz/v30mz.o: $(CPUSRC)/v30mz/v30mz.c \
|
|
$(CPUSRC)/v30mz/v30mz.h \
|
|
$(CPUSRC)/v30mz/necmodrm.h \
|
|
$(CPUSRC)/v30mz/necinstr.h \
|
|
$(CPUSRC)/v30mz/necea.h \
|
|
$(CPUSRC)/v30mz/nechost.h \
|
|
$(CPUSRC)/v30mz/necintrf.h
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# NEC V60/V70
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_V60=$(if $(filter V60,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_V70=$(if $(filter V70,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter V60 V70,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/v60
|
|
CPUOBJS += $(CPUOBJ)/v60/v60.o
|
|
DBGOBJS += $(CPUOBJ)/v60/v60d.o
|
|
endif
|
|
|
|
$(CPUOBJ)/v60/v60.o: $(CPUSRC)/v60/am.c \
|
|
$(CPUSRC)/v60/am1.c \
|
|
$(CPUSRC)/v60/am2.c \
|
|
$(CPUSRC)/v60/am3.c \
|
|
$(CPUSRC)/v60/op12.c \
|
|
$(CPUSRC)/v60/op2.c \
|
|
$(CPUSRC)/v60/op3.c \
|
|
$(CPUSRC)/v60/op4.c \
|
|
$(CPUSRC)/v60/op5.c \
|
|
$(CPUSRC)/v60/op6.c \
|
|
$(CPUSRC)/v60/op7a.c \
|
|
$(CPUSRC)/v60/optable.c \
|
|
$(CPUSRC)/v60/v60.c \
|
|
$(CPUSRC)/v60/v60.h \
|
|
$(CPUSRC)/v60/v60d.c
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# NEC V810 (uPD70732)
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_V810=$(if $(filter V810,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter V810,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/v810
|
|
CPUOBJS += $(CPUOBJ)/v810/v810.o
|
|
DBGOBJS += $(CPUOBJ)/v810/v810dasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/v810/v810.o: $(CPUSRC)/v810/v810.c \
|
|
$(CPUSRC)/v810/v810.h
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# NEC uPD7810 series
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_UPD7810=$(if $(filter UPD7810,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_UPD7807=$(if $(filter UPD7807,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_UPD7801=$(if $(filter UPD7801,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter UPD7810 UPD7807 UPD7801,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/upd7810
|
|
CPUOBJS += $(CPUOBJ)/upd7810/upd7810.o
|
|
DBGOBJS += $(CPUOBJ)/upd7810/7810dasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/upd7810/upd7810.o: $(CPUSRC)/upd7810/upd7810.c \
|
|
$(CPUSRC)/upd7810/7810tbl.c \
|
|
$(CPUSRC)/upd7810/7810ops.c \
|
|
$(CPUSRC)/upd7810/upd7810.h
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Nintendo Minx
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_MINX=$(if $(filter MINX,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter MINX,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/minx
|
|
CPUOBJS += $(CPUOBJ)/minx/minx.o
|
|
DBGOBJS += $(CPUOBJ)/minx/minxd.o
|
|
endif
|
|
|
|
$(CPUOBJ)/minx/minx.o: $(CPUSRC)/minx/minx.c \
|
|
$(CPUSRC)/minx/minx.h \
|
|
$(CPUSRC)/minx/minxd.c \
|
|
$(CPUSRC)/minx/minxopce.h \
|
|
$(CPUSRC)/minx/minxopcf.h \
|
|
$(CPUSRC)/minx/minxops.h \
|
|
$(CPUSRC)/minx/minxfunc.h
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Nintendo/SGI RSP (R3000-based + vector processing)
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_RSP=$(if $(filter RSP,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter RSP,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/rsp
|
|
CPUOBJS += $(CPUOBJ)/rsp/rsp.o
|
|
DBGOBJS += $(CPUOBJ)/rsp/rsp_dasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/rsp/rsp.o: $(CPUSRC)/rsp/rsp.c \
|
|
$(CPUSRC)/rsp/rsp.h
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Saturn
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_SATURN=$(if $(filter SATURN,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter SATURN,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/saturn
|
|
CPUOBJS += $(CPUOBJ)/saturn/saturn.o
|
|
DBGOBJS += $(CPUOBJ)/saturn/saturnds.o
|
|
endif
|
|
|
|
$(CPUOBJ)/saturn/saturn.o: $(CPUSRC)/saturn/saturn.c \
|
|
$(CPUSRC)/saturn/sattable.c \
|
|
$(CPUSRC)/saturn/satops.c \
|
|
$(CPUSRC)/saturn/saturn.h
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Signetics 2650
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_S2650=$(if $(filter S2650,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter S2650,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/s2650
|
|
CPUOBJS += $(CPUOBJ)/s2650/s2650.o
|
|
DBGOBJS += $(CPUOBJ)/s2650/2650dasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/s2650/s2650.o: $(CPUSRC)/s2650/s2650.c \
|
|
$(CPUSRC)/s2650/s2650.h \
|
|
$(CPUSRC)/s2650/s2650cpu.h
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# SC61860
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_SC61860=$(if $(filter SC61860,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter SC61860,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/sc61860
|
|
CPUOBJS += $(CPUOBJ)/sc61860/sc61860.o
|
|
DBGOBJS += $(CPUOBJ)/sc61860/scdasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/sc61860/sc61860.o: $(CPUSRC)/sc61860/sc61860.h \
|
|
$(CPUSRC)/sc61860/sc.h \
|
|
$(CPUSRC)/sc61860/scops.c \
|
|
$(CPUSRC)/sc61860/sctable.c
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# SM8500
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_SM8500=$(if $(filter SM8500,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter SM8500,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/sm8500
|
|
CPUOBJS += $(CPUOBJ)/sm8500/sm8500.o
|
|
DBGOBJS += $(CPUOBJ)/sm8500/sm8500d.o
|
|
endif
|
|
|
|
$(CPUOBJ)/sm8500/sm8500.o: $(CPUSRC)/sm8500/sm8500.c \
|
|
$(CPUSRC)/sm8500/sm8500.h \
|
|
$(CPUSRC)/sm8500/sm85ops.h
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Sony/Nintendo SPC700
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_SPC700=$(if $(filter SPC700,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter SPC700,$(CPUS)),)
|
|
SPCD = cpu/spc700
|
|
OBJDIRS += $(CPUOBJ)/spc700
|
|
CPUOBJS += $(CPUOBJ)/spc700/spc700.o
|
|
DBGOBJS += $(CPUOBJ)/spc700/spc700ds.o
|
|
endif
|
|
|
|
$(CPUOBJ)/spc700/spc700.o: $(CPUSRC)/spc700/spc700.c \
|
|
$(CPUSRC)/spc700/spc700.h
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Sony PlayStation CPU (R3000-based + GTE)
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_PSXCPU=$(if $(filter PSXCPU,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_CXD8661R=$(if $(filter CXD8661R,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter PSXCPU CXD8661R,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/mips
|
|
CPUOBJS += $(CPUOBJ)/mips/psx.o
|
|
DBGOBJS += $(CPUOBJ)/mips/mipsdasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/mips/psx.o: $(CPUSRC)/mips/psx.c \
|
|
$(CPUSRC)/mips/psx.h
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# SSP1601
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_SSP1601=$(if $(filter SSP1601,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter SSP1601,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/ssp1601
|
|
CPUOBJS += $(CPUOBJ)/ssp1601/ssp1601.o
|
|
DBGOBJS += $(CPUOBJ)/ssp1601/ssp1601d.o
|
|
endif
|
|
|
|
$(CPUOBJ)/ssp1610/ssp1601.o: $(CPUSRC)/ssp1601/ssp1601.c \
|
|
$(CPUSRC)/ssp1610/ssp1601.h
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Texas Instruments TMS7000 series
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_TMS7000=$(if $(filter TMS7000,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_TMS7000_EXL=$(if $(filter TMS7000_EXL,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter TMS7000 TMS7000_EXL,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/tms7000
|
|
CPUOBJS += $(CPUOBJ)/tms7000/tms7000.o
|
|
DBGOBJS += $(CPUOBJ)/tms7000/7000dasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/tms7000/tms7000.o: $(CPUSRC)/tms7000/tms7000.h \
|
|
$(CPUSRC)/tms7000/tms7000.c
|
|
|
|
$(CPUOBJ)/tms7000/7000dasm.o: $(CPUSRC)/tms7000/tms7000.h \
|
|
$(CPUSRC)/tms7000/7000dasm.c
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Texas Instruments TMS99xx series
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_TMS9900=$(if $(filter TMS9900,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_TMS9940=$(if $(filter TMS9940,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_TMS9980=$(if $(filter TMS9980,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_TMS9985=$(if $(filter TMS9985,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_TMS9989=$(if $(filter TMS9989,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_TMS9995=$(if $(filter TMS9995,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_TMS99105A=$(if $(filter TMS99105A,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_TMS99110A=$(if $(filter TMS99110A,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_TMS99000=$(if $(filter TMS99000,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_TI990_10=$(if $(filter TMS99010,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter TMS9900 TMS9940 TMS99000,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/tms9900
|
|
CPUOBJS += $(CPUOBJ)/tms9900/tms9900.o
|
|
DBGOBJS += $(CPUOBJ)/tms9900/9900dasm.o
|
|
endif
|
|
|
|
ifneq ($(filter TMS9980 TMS9985 TMS9989,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/tms9900
|
|
CPUOBJS += $(CPUOBJ)/tms9900/tms9980a.o
|
|
DBGOBJS += $(CPUOBJ)/tms9900/9900dasm.o
|
|
endif
|
|
|
|
ifneq ($(filter TMS9995 TMS99105A TMS99110A,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/tms9900
|
|
CPUOBJS += $(CPUOBJ)/tms9900/tms9995.o
|
|
DBGOBJS += $(CPUOBJ)/tms9900/9900dasm.o
|
|
endif
|
|
|
|
ifneq ($(filter TMS99010,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/tms9900
|
|
CPUOBJS += $(CPUOBJ)/tms9900/ti990_10.o
|
|
DBGOBJS += $(CPUOBJ)/tms9900/9900dasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/tms9900/tms9900.o: $(CPUSRC)/tms9900/tms9900.c \
|
|
$(CPUSRC)/tms9900/tms9900.h \
|
|
$(CPUSRC)/tms9900/99xxcore.h \
|
|
$(CPUSRC)/tms9900/99xxstat.h
|
|
|
|
$(CPUOBJ)/tms9900/tms9980a.o: $(CPUSRC)/tms9900/tms9980a.c \
|
|
$(CPUSRC)/tms9900/tms9900.h \
|
|
$(CPUSRC)/tms9900/99xxcore.h \
|
|
$(CPUSRC)/tms9900/99xxstat.h
|
|
|
|
$(CPUOBJ)/tms9900/tms9995.o: $(CPUSRC)/tms9900/tms9995.c \
|
|
$(CPUSRC)/tms9900/tms9900.h \
|
|
$(CPUSRC)/tms9900/99xxcore.h \
|
|
$(CPUSRC)/tms9900/99xxstat.h
|
|
|
|
$(CPUOBJ)/tms9900/ti990_10.o: $(CPUSRC)/tms9900/ti990_10.c \
|
|
$(CPUSRC)/tms9900/tms9900.h \
|
|
$(CPUSRC)/tms9900/99xxcore.h \
|
|
$(CPUSRC)/tms9900/99xxstat.h
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Texas Instruments TMS340x0 graphics controllers
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_TMS34010=$(if $(filter TMS34010,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_TMS34020=$(if $(filter TMS34020,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter TMS34010 TMS34020,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/tms34010
|
|
CPUOBJS += $(CPUOBJ)/tms34010/tms34010.o $(CPUOBJ)/tms34010/34010fld.o
|
|
DBGOBJS += $(CPUOBJ)/tms34010/34010dsm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/tms34010/34010fld.o: $(CPUSRC)/tms34010/34010fld.c
|
|
|
|
$(CPUOBJ)/tms34010/tms34010.o: $(CPUSRC)/tms34010/tms34010.c \
|
|
$(CPUSRC)/tms34010/tms34010.h \
|
|
$(CPUSRC)/tms34010/34010ops.c \
|
|
$(CPUSRC)/tms34010/34010gfx.c \
|
|
$(CPUSRC)/tms34010/34010tbl.c
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Texas Instruments TMS3201x DSP
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_TMS32010=$(if $(filter TMS32010,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter TMS32010,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/tms32010
|
|
CPUOBJS += $(CPUOBJ)/tms32010/tms32010.o
|
|
DBGOBJS += $(CPUOBJ)/tms32010/32010dsm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/tms32010/tms32010.o: $(CPUSRC)/tms32010/tms32010.c \
|
|
$(CPUSRC)/tms32010/tms32010.h
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Texas Instruments TMS3202x DSP
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_TMS32025=$(if $(filter TMS32025,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_TMS32026=$(if $(filter TMS32026,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter TMS32025 TMS32026,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/tms32025
|
|
CPUOBJS += $(CPUOBJ)/tms32025/tms32025.o
|
|
DBGOBJS += $(CPUOBJ)/tms32025/32025dsm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/tms32025/tms32025.o: $(CPUSRC)/tms32025/tms32025.c \
|
|
$(CPUSRC)/tms32025/tms32025.h
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Texas Instruments TMS3203x DSP
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_TMS32031=$(if $(filter TMS32031,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_TMS32032=$(if $(filter TMS32032,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter TMS32031 TMS32032,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/tms32031
|
|
CPUOBJS += $(CPUOBJ)/tms32031/tms32031.o
|
|
DBGOBJS += $(CPUOBJ)/tms32031/dis32031.o
|
|
endif
|
|
|
|
$(CPUOBJ)/tms32031/tms32031.o: $(CPUSRC)/tms32031/tms32031.c \
|
|
$(CPUSRC)/tms32031/tms32031.h \
|
|
$(CPUSRC)/tms32031/32031ops.c
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Texas Instruments TMS3205x DSP
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_TMS32051=$(if $(filter TMS32051,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter TMS32051,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/tms32051
|
|
CPUOBJS += $(CPUOBJ)/tms32051/tms32051.o
|
|
DBGOBJS += $(CPUOBJ)/tms32051/dis32051.o
|
|
endif
|
|
|
|
$(CPUOBJ)/tms32051/tms32051.o: $(CPUSRC)/tms32051/tms32051.c \
|
|
$(CPUSRC)/tms32051/tms32051.h
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Toshiba TLCS-90 Series
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_TLCS90=$(if $(filter TLCS90,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter TLCS90,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/tlcs90
|
|
CPUOBJS += $(CPUOBJ)/tlcs90/tlcs90.o
|
|
#DBGOBJS += $(CPUOBJ)/tlcs90/tlcs90.o
|
|
endif
|
|
|
|
$(CPUOBJ)/tlcs90/tlcs90.o: $(CPUSRC)/tlcs90/tlcs90.c \
|
|
$(CPUSRC)/tlcs90/tlcs90.h
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# TX0
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_TX0_64KW=$(if $(filter TX0,$(CPUS)),1,0)
|
|
CPUDEFS += -DHAS_TX0_8KW=$(if $(filter TX0,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter TX0,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/pdp1
|
|
CPUOBJS += $(CPUOBJ)/pdp1/tx0.o
|
|
DBGOBJS += $(CPUOBJ)/pdp1/tx0dasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/pdp1/tx0.o: $(CPUSRC)/pdp1/tx0.h \
|
|
$(CPUSRC)/pdp1/tx0.c
|
|
|
|
$(CPUOBJ)/pdp1/tx0dasm.o: $(CPUSRC)/pdp1/tx0.h \
|
|
$(CPUSRC)/pdp1/tx0dasm.c
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Zilog Z80
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_Z80=$(if $(filter Z80,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter Z80,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/z80
|
|
CPUOBJS += $(CPUOBJ)/z80/z80.o $(CPUOBJ)/z80/z80daisy.o
|
|
DBGOBJS += $(CPUOBJ)/z80/z80dasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/z80/z80.o: $(CPUSRC)/z80/z80.c \
|
|
$(CPUSRC)/z80/z80.h
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Sharp LR35902 (Game Boy CPU)
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_LR35902=$(if $(filter LR35902,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter LR35902,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/lr35902
|
|
CPUOBJS += $(CPUOBJ)/lr35902/lr35902.o
|
|
DBGOBJS += $(CPUOBJ)/lr35902/lr35902d.o
|
|
endif
|
|
|
|
$(CPUOBJ)/lr35902/lr35902.o: $(CPUSRC)/lr35902/lr35902.c \
|
|
$(CPUSRC)/lr35902/lr35902.h \
|
|
$(CPUSRC)/lr35902/opc_cb.h \
|
|
$(CPUSRC)/lr35902/opc_main.h
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Zilog Z180
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_Z180=$(if $(filter Z180,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter Z180,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/z180 $(CPUOBJ)/z80
|
|
CPUOBJS += $(CPUOBJ)/z180/z180.o $(CPUOBJ)/z80/z80daisy.o
|
|
DBGOBJS += $(CPUOBJ)/z180/z180dasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/z180/z180.o: $(CPUSRC)/z180/z180.c \
|
|
$(CPUSRC)/z180/z180.h \
|
|
$(CPUSRC)/z180/z180daa.h \
|
|
$(CPUSRC)/z180/z180op.c \
|
|
$(CPUSRC)/z180/z180ops.h \
|
|
$(CPUSRC)/z180/z180tbl.h \
|
|
$(CPUSRC)/z180/z180cb.c \
|
|
$(CPUSRC)/z180/z180dd.c \
|
|
$(CPUSRC)/z180/z180ed.c \
|
|
$(CPUSRC)/z180/z180fd.c \
|
|
$(CPUSRC)/z180/z180xy.c
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# Zilog Z8000
|
|
#-------------------------------------------------
|
|
|
|
CPUDEFS += -DHAS_Z8000=$(if $(filter Z8000,$(CPUS)),1,0)
|
|
|
|
ifneq ($(filter Z8000,$(CPUS)),)
|
|
OBJDIRS += $(CPUOBJ)/z8000
|
|
CPUOBJS += $(CPUOBJ)/z8000/z8000.o
|
|
DBGOBJS += $(CPUOBJ)/z8000/8000dasm.o
|
|
endif
|
|
|
|
$(CPUOBJ)/z8000/z8000.o: $(CPUSRC)/z8000/z8000.c \
|
|
$(CPUSRC)/z8000/z8000.h \
|
|
$(CPUSRC)/z8000/z8000cpu.h \
|
|
$(CPUSRC)/z8000/z8000dab.h \
|
|
$(CPUSRC)/z8000/z8000ops.c \
|
|
$(CPUSRC)/z8000/z8000tbl.c
|