mirror of
https://github.com/holub/mame
synced 2025-06-05 12:26:35 +03:00
286 lines
6.7 KiB
Makefile
286 lines
6.7 KiB
Makefile
###########################################################################
|
|
#
|
|
# emu.mak
|
|
#
|
|
# MAME emulation core makefile
|
|
#
|
|
# Copyright Nicola Salmoria and the MAME Team.
|
|
# Visit http://mamedev.org for licensing and usage restrictions.
|
|
#
|
|
###########################################################################
|
|
|
|
|
|
EMUSRC = $(SRC)/emu
|
|
EMUOBJ = $(OBJ)/emu
|
|
|
|
EMUAUDIO = $(EMUOBJ)/audio
|
|
EMUBUS = $(EMUOBJ)/bus
|
|
EMUDRIVERS = $(EMUOBJ)/drivers
|
|
EMULAYOUT = $(EMUOBJ)/layout
|
|
EMUMACHINE = $(EMUOBJ)/machine
|
|
EMUIMAGEDEV = $(EMUOBJ)/imagedev
|
|
EMUVIDEO = $(EMUOBJ)/video
|
|
|
|
OBJDIRS += \
|
|
$(EMUOBJ)/cpu \
|
|
$(EMUOBJ)/sound \
|
|
$(EMUOBJ)/debug \
|
|
$(EMUOBJ)/debugint \
|
|
$(EMUOBJ)/audio \
|
|
$(EMUOBJ)/bus \
|
|
$(EMUOBJ)/bus/abcbus \
|
|
$(EMUOBJ)/bus/adam \
|
|
$(EMUOBJ)/bus/adamnet \
|
|
$(EMUOBJ)/bus/bw2 \
|
|
$(EMUOBJ)/bus/c64 \
|
|
$(EMUOBJ)/bus/cbm2 \
|
|
$(EMUOBJ)/bus/cbmiec \
|
|
$(EMUOBJ)/bus/comx35 \
|
|
$(EMUOBJ)/bus/ecbbus \
|
|
$(EMUOBJ)/bus/econet \
|
|
$(EMUOBJ)/bus/ep64 \
|
|
$(EMUOBJ)/bus/ieee488 \
|
|
$(EMUOBJ)/bus/isbx \
|
|
$(EMUOBJ)/bus/pet \
|
|
$(EMUOBJ)/bus/plus4 \
|
|
$(EMUOBJ)/bus/s100 \
|
|
$(EMUOBJ)/bus/vcs \
|
|
$(EMUOBJ)/bus/vic10 \
|
|
$(EMUOBJ)/bus/vic20 \
|
|
$(EMUOBJ)/bus/vidbrain \
|
|
$(EMUOBJ)/bus/vip \
|
|
$(EMUOBJ)/bus/wangpc \
|
|
$(EMUOBJ)/bus/a2bus \
|
|
$(EMUOBJ)/bus/nubus \
|
|
$(EMUOBJ)/bus/centronics \
|
|
$(EMUOBJ)/bus/iq151 \
|
|
$(EMUOBJ)/bus/kc \
|
|
$(EMUOBJ)/bus/tvc \
|
|
$(EMUOBJ)/bus/z88 \
|
|
$(EMUOBJ)/drivers \
|
|
$(EMUOBJ)/machine \
|
|
$(EMUOBJ)/netlist \
|
|
$(EMUOBJ)/netlist/devices \
|
|
$(EMUOBJ)/layout \
|
|
$(EMUOBJ)/imagedev \
|
|
$(EMUOBJ)/video \
|
|
|
|
OSDSRC = $(SRC)/osd
|
|
OSDOBJ = $(OBJ)/osd
|
|
|
|
OBJDIRS += \
|
|
$(OSDOBJ)
|
|
|
|
|
|
#-------------------------------------------------
|
|
# emulator core objects
|
|
#-------------------------------------------------
|
|
|
|
EMUOBJS = \
|
|
$(EMUOBJ)/hashfile.o \
|
|
$(EMUOBJ)/addrmap.o \
|
|
$(EMUOBJ)/attotime.o \
|
|
$(EMUOBJ)/audit.o \
|
|
$(EMUOBJ)/cheat.o \
|
|
$(EMUOBJ)/clifront.o \
|
|
$(EMUOBJ)/config.o \
|
|
$(EMUOBJ)/crsshair.o \
|
|
$(EMUOBJ)/debugger.o \
|
|
$(EMUOBJ)/delegate.o \
|
|
$(EMUOBJ)/devdelegate.o \
|
|
$(EMUOBJ)/devcb.o \
|
|
$(EMUOBJ)/devcb2.o \
|
|
$(EMUOBJ)/devcpu.o \
|
|
$(EMUOBJ)/devfind.o \
|
|
$(EMUOBJ)/device.o \
|
|
$(EMUOBJ)/didisasm.o \
|
|
$(EMUOBJ)/diexec.o \
|
|
$(EMUOBJ)/diimage.o \
|
|
$(EMUOBJ)/dimemory.o \
|
|
$(EMUOBJ)/dinetwork.o \
|
|
$(EMUOBJ)/dinvram.o \
|
|
$(EMUOBJ)/dirtc.o \
|
|
$(EMUOBJ)/diserial.o \
|
|
$(EMUOBJ)/dislot.o \
|
|
$(EMUOBJ)/disound.o \
|
|
$(EMUOBJ)/distate.o \
|
|
$(EMUOBJ)/divideo.o \
|
|
$(EMUOBJ)/drawgfx.o \
|
|
$(EMUOBJ)/driver.o \
|
|
$(EMUOBJ)/drivenum.o \
|
|
$(EMUOBJ)/emualloc.o \
|
|
$(EMUOBJ)/emucore.o \
|
|
$(EMUOBJ)/emuopts.o \
|
|
$(EMUOBJ)/emupal.o \
|
|
$(EMUOBJ)/fileio.o \
|
|
$(EMUOBJ)/hash.o \
|
|
$(EMUOBJ)/image.o \
|
|
$(EMUOBJ)/info.o \
|
|
$(EMUOBJ)/input.o \
|
|
$(EMUOBJ)/ioport.o \
|
|
$(EMUOBJ)/luaengine.o \
|
|
$(EMUOBJ)/mame.o \
|
|
$(EMUOBJ)/machine.o \
|
|
$(EMUOBJ)/mconfig.o \
|
|
$(EMUOBJ)/memarray.o \
|
|
$(EMUOBJ)/memory.o \
|
|
$(EMUOBJ)/network.o \
|
|
$(EMUOBJ)/output.o \
|
|
$(EMUOBJ)/render.o \
|
|
$(EMUOBJ)/rendfont.o \
|
|
$(EMUOBJ)/rendlay.o \
|
|
$(EMUOBJ)/rendutil.o \
|
|
$(EMUOBJ)/romload.o \
|
|
$(EMUOBJ)/save.o \
|
|
$(EMUOBJ)/schedule.o \
|
|
$(EMUOBJ)/screen.o \
|
|
$(EMUOBJ)/softlist.o \
|
|
$(EMUOBJ)/sound.o \
|
|
$(EMUOBJ)/speaker.o \
|
|
$(EMUOBJ)/sprite.o \
|
|
$(EMUOBJ)/tilemap.o \
|
|
$(EMUOBJ)/timer.o \
|
|
$(EMUOBJ)/ui.o \
|
|
$(EMUOBJ)/uigfx.o \
|
|
$(EMUOBJ)/uiimage.o \
|
|
$(EMUOBJ)/uiinput.o \
|
|
$(EMUOBJ)/uiswlist.o \
|
|
$(EMUOBJ)/uimain.o \
|
|
$(EMUOBJ)/uimenu.o \
|
|
$(EMUOBJ)/validity.o \
|
|
$(EMUOBJ)/video.o \
|
|
$(EMUOBJ)/debug/debugcmd.o \
|
|
$(EMUOBJ)/debug/debugcon.o \
|
|
$(EMUOBJ)/debug/debugcpu.o \
|
|
$(EMUOBJ)/debug/debughlp.o \
|
|
$(EMUOBJ)/debug/debugvw.o \
|
|
$(EMUOBJ)/debug/dvdisasm.o \
|
|
$(EMUOBJ)/debug/dvmemory.o \
|
|
$(EMUOBJ)/debug/dvbpoints.o \
|
|
$(EMUOBJ)/debug/dvwpoints.o \
|
|
$(EMUOBJ)/debug/dvstate.o \
|
|
$(EMUOBJ)/debug/dvtext.o \
|
|
$(EMUOBJ)/debug/express.o \
|
|
$(EMUOBJ)/debug/textbuf.o \
|
|
$(EMUOBJ)/debugint/debugint.o \
|
|
$(EMUOBJ)/profiler.o \
|
|
$(EMUOBJ)/webengine.o \
|
|
$(OSDOBJ)/osdepend.o \
|
|
$(OSDOBJ)/osdnet.o
|
|
|
|
EMUSOUNDOBJS = \
|
|
$(EMUOBJ)/sound/filter.o \
|
|
$(EMUOBJ)/sound/flt_vol.o \
|
|
$(EMUOBJ)/sound/flt_rc.o \
|
|
$(EMUOBJ)/sound/wavwrite.o \
|
|
$(EMUOBJ)/sound/samples.o \
|
|
|
|
EMUDRIVEROBJS = \
|
|
$(EMUDRIVERS)/empty.o \
|
|
$(EMUDRIVERS)/testcpu.o \
|
|
|
|
EMUMACHINEOBJS = \
|
|
$(EMUMACHINE)/generic.o \
|
|
$(EMUMACHINE)/ram.o \
|
|
$(EMUMACHINE)/nvram.o \
|
|
$(EMUMACHINE)/laserdsc.o \
|
|
$(EMUMACHINE)/netlist.o \
|
|
|
|
EMUIMAGEDEVOBJS = \
|
|
$(EMUIMAGEDEV)/bitbngr.o \
|
|
$(EMUIMAGEDEV)/cartslot.o \
|
|
$(EMUIMAGEDEV)/cassette.o \
|
|
$(EMUIMAGEDEV)/chd_cd.o \
|
|
$(EMUIMAGEDEV)/flopdrv.o \
|
|
$(EMUIMAGEDEV)/floppy.o \
|
|
$(EMUIMAGEDEV)/harddriv.o \
|
|
$(EMUIMAGEDEV)/midiin.o \
|
|
$(EMUIMAGEDEV)/midiout.o \
|
|
$(EMUIMAGEDEV)/printer.o \
|
|
$(EMUIMAGEDEV)/serial.o \
|
|
$(EMUIMAGEDEV)/snapquik.o \
|
|
|
|
|
|
EMUVIDEOOBJS = \
|
|
$(EMUVIDEO)/generic.o \
|
|
$(EMUVIDEO)/resnet.o \
|
|
$(EMUVIDEO)/rgbutil.o \
|
|
$(EMUVIDEO)/vector.o \
|
|
|
|
|
|
LIBEMUOBJS = $(EMUOBJS) $(EMUSOUNDOBJS) $(EMUDRIVEROBJS) $(EMUMACHINEOBJS) $(EMUIMAGEDEVOBJS) $(EMUVIDEOOBJS)
|
|
|
|
$(LIBEMU): $(LIBEMUOBJS)
|
|
|
|
|
|
|
|
#-------------------------------------------------
|
|
# CPU core objects
|
|
#-------------------------------------------------
|
|
|
|
include $(EMUSRC)/cpu/cpu.mak
|
|
|
|
$(LIBDASM): $(DASMOBJS)
|
|
|
|
|
|
#-------------------------------------------------
|
|
# sound core objects
|
|
#-------------------------------------------------
|
|
|
|
include $(EMUSRC)/sound/sound.mak
|
|
|
|
#-------------------------------------------------
|
|
# netlist core objects
|
|
#-------------------------------------------------
|
|
|
|
include $(EMUSRC)/netlist/netlist.mak
|
|
|
|
#-------------------------------------------------
|
|
# video core objects
|
|
#-------------------------------------------------
|
|
|
|
include $(EMUSRC)/video/video.mak
|
|
|
|
#-------------------------------------------------
|
|
# machine core objects
|
|
#-------------------------------------------------
|
|
|
|
include $(EMUSRC)/machine/machine.mak
|
|
|
|
#-------------------------------------------------
|
|
# bus core objects
|
|
#-------------------------------------------------
|
|
|
|
include $(EMUSRC)/bus/bus.mak
|
|
|
|
#-------------------------------------------------
|
|
# core optional library
|
|
#-------------------------------------------------
|
|
|
|
$(LIBOPTIONAL): $(CPUOBJS) $(SOUNDOBJS) $(VIDEOOBJS) $(MACHINEOBJS) $(BUSOBJS) $(NETLISTOBJS)
|
|
|
|
#-------------------------------------------------
|
|
# additional dependencies
|
|
#-------------------------------------------------
|
|
|
|
$(EMUOBJ)/rendfont.o: $(EMUOBJ)/uismall.fh
|
|
|
|
$(EMUOBJ)/video.o: $(EMUSRC)/rendersw.c
|
|
|
|
#-------------------------------------------------
|
|
# core layouts
|
|
#-------------------------------------------------
|
|
|
|
$(EMUOBJ)/rendlay.o: $(EMULAYOUT)/dualhovu.lh \
|
|
$(EMULAYOUT)/dualhsxs.lh \
|
|
$(EMULAYOUT)/dualhuov.lh \
|
|
$(EMULAYOUT)/horizont.lh \
|
|
$(EMULAYOUT)/triphsxs.lh \
|
|
$(EMULAYOUT)/quadhsxs.lh \
|
|
$(EMULAYOUT)/vertical.lh \
|
|
$(EMULAYOUT)/lcd.lh \
|
|
$(EMULAYOUT)/lcd_rot.lh \
|
|
$(EMULAYOUT)/noscreens.lh \
|
|
|
|
$(EMUOBJ)/video.o: $(EMULAYOUT)/snap.lh
|