I've finally started development on Stella again ...

Many changes to the makefile representing the 'SDL-ification' of the
Stella codebase.  Now there are 4 make options which should be
self-explanatory: "linux, linux-gl, win32, win32-gl".

The codebase now compiles under Linux (with gcc) and Windows (with MinGW)
from the same makefile without any editing or modifications.  So there
is finally full cross-platform support.

Next step is to fix the small OpenGL regressions in Windows, and finally
move to the dreaded sound code.  Then a new release ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@230 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This commit is contained in:
stephena 2004-04-03 03:06:45 +00:00
parent 8524727d42
commit b6325d98a0
1 changed files with 373 additions and 467 deletions

View File

@ -1,467 +1,373 @@
##============================================================================ ##============================================================================
## ##
## SSSS tt lll lll ## SSSS tt lll lll
## SS SS tt ll ll ## SS SS tt ll ll
## SS tttttt eeee ll ll aaaa ## SS tttttt eeee ll ll aaaa
## SSSS tt ee ee ll ll aa ## SSSS tt ee ee ll ll aa
## SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator" ## SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
## SS SS tt ee ll ll aa aa ## SS SS tt ee ll ll aa aa
## SSSS ttt eeeee llll llll aaaaa ## SSSS ttt eeeee llll llll aaaaa
## ##
## Copyright (c) 1995-1999 by Bradford W. Mott ## Copyright (c) 1995-1999 by Bradford W. Mott
## ##
## See the file "license" for information on usage and redistribution of ## See the file "license" for information on usage and redistribution of
## this file, and for a DISCLAIMER OF ALL WARRANTIES. ## this file, and for a DISCLAIMER OF ALL WARRANTIES.
## ##
## $Id: makefile,v 1.47 2003-12-05 19:51:08 stephena Exp $ ## $Id: makefile,v 1.48 2004-04-03 03:06:45 stephena Exp $
##============================================================================ ##============================================================================
##============================================================================ ##============================================================================
## Development environment options ## Development environment options
## ##
## The following options are used during compiling. ## The following options are used during compiling.
## Comment a line out to disable that option, remove comment to enable it. ## Comment a line out to disable that option, remove comment to enable it.
##============================================================================ ##============================================================================
### add your own compiler optimizations here ### add your own compiler optimizations here
### if none are provided, the defaults will be used ### if none are provided, the defaults will be used
OPTIMIZATIONS = OPTIMIZATIONS =
### which system the SDL version is being compiled on ### to include joystick support
### you should only enable one at a time JOYSTICK_SUPPORT = 1
SYSTEM_SDL = linux
#SYSTEM_SDL = windows ### to include support for saving snapshots in png format
### (requires PNG library)
### which sound drivers to compile for the SDL version # SNAPSHOT_SUPPORT = 1
### OSS is most compatible, SDL for platforms where OSS not available
### comment out all lines to completely disable sound ### to include support for game developers
### ### enables some extra commandline options that allow the user
#SOUND_ALSA = 1 ### to override some emulation defaults
#SOUND_OSS = 1 DEVELOPER_SUPPORT = 1
SOUND_SDL = 1
### you want a 6507 trace written to stdout
### to include OpenGL video support (SDL) # DEBUG = 1
OPENGL_SUPPORT = 1
##============================================================================
### to include joystick support (SDL) ## All done, type make to get a list of frontends
JOYSTICK_SUPPORT = 1 ## No configurable options below this line ...
##============================================================================
### to include support for saving snapshots in png format
### (requires PNG library) CXX = g++
SNAPSHOT_SUPPORT = 1 LD = g++
### comment this out if your system doesn't LDFLAGS = `sdl-config --cflags`
### have the gettimeofday function LDLIBS = `sdl-config --libs`
# HAVE_GETTIMEOFDAY = 1 OBJECTS = mainSDL.o FrameBufferSDL.o FrameBufferSoft.o
OPTIONS =
### to include support for game developers EXE_NAME =
### enables some extra commandline options that allow the user
### to override some emulation defaults SRC = ..
# DEVELOPER_SUPPORT = 1 CORE = $(SRC)/emucore
UI = $(SRC)/ui
### if your C++ compiler doesn't support the bool type COMMON = $(SRC)/ui/common
# BSPF_BOOL = 1
INCLUDES = -I. -I$(CORE) -I$(CORE)/m6502/src -I$(CORE)/m6502/src/bspf/src -I$(COMMON) -I$(UI)/sdl -I$(UI)/sound
### if your want some timing information displayed when you exit the program
# SHOW_TIMING = 1 ## set some sane optimizations if none have been provided
ifndef OPTIMIZATIONS
### you want a 6507 trace written to stdout ifdef CXXFLAGS
# DEBUG = 1 OPTIMIZATIONS = $(CXXFLAGS)
else
##============================================================================ OPTIMIZATIONS = -O2 -march=i386
## All done, type make to get a list of frontends endif
## No configurable options below this line ... endif
##============================================================================
FLAGS = $(OPTIMIZATIONS) -Wall -Wunused $(INCLUDES) $(SYS_INCLUDES)
CXX = g++
LD = g++ ## set the user-defined options
#ifdef DEBUG
LDFLAGS = # OPTS.SDL += -DDEBUG
LDLIBS = # OPTS.DOS += -DDEBUG
#endif
OBJS.SDL =
OPTS.SDL = ifdef JOYSTICK_SUPPORT
LIBS.SDL = `sdl-config --libs` OPTIONS += -DJOYSTICK_SUPPORT
CFLAGS.SDL = `sdl-config --cflags` endif
OPTS.DOS = -DDOS ifdef SNAPSHOT_SUPPORT
OBJECTS += Snapshot.o
SRC = .. OPTIONS += -DSNAPSHOT_SUPPORT
CORE = $(SRC)/emucore LDLIBS += -lpng -lz
UI = $(SRC)/ui endif
COMMON = $(SRC)/ui/common
ifdef DEVELOPER_SUPPORT
INCLUDES = -I. -I$(CORE) -I$(CORE)/m6502/src -I$(CORE)/m6502/src/bspf/src -I$(COMMON) OPTIONS += -DDEVELOPER_SUPPORT
endif
## set some sane optimizations if none have been provided
ifndef OPTIMIZATIONS
ifdef CXXFLAGS default:
OPTIMIZATIONS = $(CXXFLAGS) @echo ""
else @echo "To build Stella type: 'make <version>'"
OPTIMIZATIONS = -O2 -march=i386 @echo "You should edit the makefile for extra options"
endif @echo ""
endif @echo "<version> is one of:"
@echo ""
FLAGS = $(OPTIMIZATIONS) -Wall -Wunused $(INCLUDES) $(SYS_INCLUDES) @echo " linux Linux/UNIX version"
@echo " linux-gl Linux/UNIX version with OpenGL support"
## set the user-defined options @echo " win32 Windows 9x/ME/2000/XP version"
ifdef BSPF_BOOL @echo " win32-gl Windows 9x/ME/2000/XP version with OpenGL support"
OPTS.DOS += -DBSPF_BOOL @echo ""
endif @echo "Hopefully new versions will be added soon!"
@echo ""
ifdef SHOW_TIMING
OPTS.SDL += -DSHOW_TIMING linux:
OPTS.DOS += -DSHOW_TIMING make stella \
endif EXE_NAME="stella" \
OPTIONS="$(OPTIONS) -DBSPF_UNIX -DUNIX -DHAVE_GETTIMEOFDAY" \
ifdef DEBUG OBJS="$(OBJECTS) SettingsUNIX.o"
OPTS.SDL += -DDEBUG
OPTS.DOS += -DDEBUG linux-gl:
endif make stella \
EXE_NAME="stella" \
ifdef JOYSTICK_SUPPORT LDFLAGS="$(LDFLAGS) -L/usr/X11R6/lib" \
OPTS.SDL += -DHAVE_JOYSTICK LDLIBS="$(LDLIBS) -lGL" \
endif OPTIONS="$(OPTIONS) -DBSPF_UNIX -DUNIX -DHAVE_GETTIMEOFDAY -DDISPLAY_OPENGL" \
OBJS="$(OBJECTS) FrameBufferGL.o SettingsUNIX.o"
ifdef SNAPSHOT_SUPPORT
OBJS.SDL += Snapshot.o win32:
OPTS.SDL += -DSNAPSHOT_SUPPORT make stella \
LIBS.SDL += -lpng -lz EXE_NAME="stella.exe" \
endif OPTIONS="$(OPTIONS) -DBSPF_WIN32 -DWIN32" \
OBJS="$(OBJECTS) SettingsWin32.o"
ifdef HAVE_GETTIMEOFDAY
OPTS.SDL += -DHAVE_GETTIMEOFDAY win32-gl:
endif make stella \
EXE_NAME="stella.exe" \
ifdef DEVELOPER_SUPPORT LDLIBS="$(LDLIBS) -lopengl32" \
OPTS.SDL += -DDEVELOPER_SUPPORT OPTIONS="$(OPTIONS) -DBSPF_WIN32 -DWIN32 -DDISPLAY_OPENGL -DTEXTURES_ARE_LOST" \
OPTS.DOS += -DDEVELOPER_SUPPORT OBJS="$(OBJECTS) FrameBufferGL.o SettingsWin32.o"
endif
ifeq ($(SOUND_OSS), 1) ###############################################################################
OPTS.SDL += -DSOUND_OSS ## List of "core" object files
OBJS.SDL += SoundOSS.o ###############################################################################
endif M6502_OBJS = D6502.o Device.o M6502.o M6502Low.o M6502Hi.o NullDev.o System.o
ifeq ($(SOUND_SDL), 1) CORE_OBJS = Booster.o Cart.o Cart2K.o Cart3F.o Cart4K.o CartAR.o CartDPC.o \
OPTS.SDL += -DSOUND_SDL CartE0.o CartE7.o CartF4.o CartF4SC.o CartF6.o CartF6SC.o \
OBJS.SDL += SoundSDL.o CartF8.o CartF8SC.o CartFASC.o CartFE.o CartMC.o CartCV.o \
endif CartMB.o Console.o Control.o Driving.o \
Event.o Joystick.o Keyboard.o M6532.o MD5.o MediaSrc.o Paddles.o \
ifeq ($(SOUND_ALSA), 1) Props.o PropsSet.o Random.o Sound.o Switches.o Settings.o TIA.o \
OPTS.SDL += -DSOUND_ALSA Serializer.o Deserializer.o TIASound.o EventHandler.o FrameBuffer.o \
OBJS.SDL += SoundALSA.o $(M6502_OBJS)
LIBS.SDL += -lasound
endif stella: $(CORE_OBJS) $(OBJS)
$(LD) -o $(EXE_NAME) $(CORE_OBJS) $(OBJS) $(LDFLAGS) $(LDLIBS)
##============================================================================ strip $(EXE_NAME)
## Now figure out what has to be built for SDL
##============================================================================ M6502Low.ins: $(CORE)/m6502/src/M6502Low.m4 $(CORE)/m6502/src/M6502.m4
ifeq ($(SYSTEM_SDL), linux) m4 $(CORE)/m6502/src/M6502Low.m4 $(CORE)/m6502/src/M6502.m4 > M6502Low.ins
CFLAGS.SDL += -L/usr/X11R6/lib
OPTS.SDL += -DBSPF_UNIX -DUNIX M6502Hi.ins: $(CORE)/m6502/src/M6502Hi.m4 $(CORE)/m6502/src/M6502.m4
LIBS.SDL += -lX11 -lXext m4 $(CORE)/m6502/src/M6502Hi.m4 $(CORE)/m6502/src/M6502.m4 > M6502Hi.ins
OBJS.SDL += SettingsUNIX.o
M6502Low.o: M6502Low.ins
ifeq ($(OPENGL_SUPPORT), 1) M6502Hi.o: M6502Hi.ins
OPTS.SDL += -DDISPLAY_OPENGL
OBJS.SDL += FrameBufferGL.o clean:
LIBS.SDL += -lGL rm -f *.o stella stella.exe core
endif
endif cleanall: clean
rm -f M6502Low.ins M6502Hi.ins
ifeq ($(SYSTEM_SDL), windows)
CFLAGS.SDL += "" Driving.o: $(CORE)/Driving.cxx $(CORE)/Driving.hxx
OPTS.SDL += -DBSPF_WIN32 -DWIN32 $(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/Driving.cxx
LIBS.SDL += ""
OBJS.SDL += SettingsWin32.o Event.o: $(CORE)/Event.cxx $(CORE)/Event.hxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/Event.cxx
ifeq ($(OPENGL_SUPPORT), 1)
OPTS.SDL += -DDISPLAY_OPENGL -DTEXTURES_ARE_LOST EventHandler.o: $(CORE)/EventHandler.cxx $(CORE)/EventHandler.hxx
OBJS.SDL += FrameBufferGL.o $(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/EventHandler.cxx
LIBS.SDL += -lopengl32
endif Control.o: $(CORE)/Control.cxx $(CORE)/Control.hxx
endif $(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/Control.cxx
Joystick.o: $(CORE)/Joystick.cxx $(CORE)/Joystick.hxx
default: $(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/Joystick.cxx
@echo ""
@echo "To build Stella type: 'make <version>'" Keyboard.o: $(CORE)/Keyboard.cxx $(CORE)/Keyboard.hxx
@echo "You should edit the makefile for extra options" $(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/Keyboard.cxx
@echo ""
@echo "<version> is one of:" Paddles.o: $(CORE)/Paddles.cxx $(CORE)/Paddles.hxx
@echo "" $(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/Paddles.cxx
@echo " dos DOS version using DJGPP"
@echo " sdl SDL version (edit makefile for version)" Booster.o: $(CORE)/Booster.cxx $(CORE)/Booster.hxx
@echo "" $(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/Booster.cxx
@echo "Hopefully new versions will be added soon!"
@echo "" Cart.o: $(CORE)/Cart.cxx $(CORE)/Cart.hxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/Cart.cxx
dos:
make stella.exe \ Cart2K.o: $(CORE)/Cart2K.cxx $(CORE)/Cart2K.hxx
LD="gxx" \ $(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/Cart2K.cxx
CXX="gcc" \
INCLUDES="$(INCLUDES) -I$(UI)/dos -I$(UI)/sound" \ Cart3F.o: $(CORE)/Cart3F.cxx $(CORE)/Cart3F.hxx
OPTIONS="-DBSPF_DOS" \ $(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/Cart3F.cxx
OPTIONS+="$(OPTS.DOS)" \
LDFLAGS="" \ Cart4K.o: $(CORE)/Cart4K.cxx $(CORE)/Cart4K.hxx
LDLIBS="" \ $(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/Cart4K.cxx
OBJS="mainDOS.o PCJoys.o SndDOS.o dos_sb.o vga.o"
CartAR.o: $(CORE)/CartAR.cxx $(CORE)/CartAR.hxx
sdl: $(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/CartAR.cxx
make stella.sdl \
INCLUDES="$(INCLUDES) -I$(UI)/sdl -I$(UI)/sound" \ CartDPC.o: $(CORE)/CartDPC.cxx $(CORE)/CartDPC.hxx
OPTIONS="$(OPTS.SDL)" \ $(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/CartDPC.cxx
LDFLAGS="$(CFLAGS.SDL)" \
LDLIBS="$(LIBS.SDL)" \ CartE0.o: $(CORE)/CartE0.cxx $(CORE)/CartE0.hxx
OBJS="mainSDL.o FrameBufferSDL.o FrameBufferSoft.o" \ $(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/CartE0.cxx
OBJS+="$(OBJS.SDL)"
CartE7.o: $(CORE)/CartE7.cxx $(CORE)/CartE7.hxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/CartE7.cxx
###############################################################################
## List of "core" object files CartF4.o: $(CORE)/CartF4.cxx $(CORE)/CartF4.hxx
############################################################################### $(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/CartF4.cxx
M6502_OBJS = D6502.o Device.o M6502.o M6502Low.o M6502Hi.o NullDev.o System.o
CartF4SC.o: $(CORE)/CartF4SC.cxx $(CORE)/CartF4SC.hxx
CORE_OBJS = Booster.o Cart.o Cart2K.o Cart3F.o Cart4K.o CartAR.o CartDPC.o \ $(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/CartF4SC.cxx
CartE0.o CartE7.o CartF4.o CartF4SC.o CartF6.o CartF6SC.o \
CartF8.o CartF8SC.o CartFASC.o CartFE.o CartMC.o CartCV.o \ CartF6.o: $(CORE)/CartF6.cxx $(CORE)/CartF6.hxx
CartMB.o Console.o Control.o Driving.o \ $(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/CartF6.cxx
Event.o Joystick.o Keyboard.o M6532.o MD5.o MediaSrc.o Paddles.o \
Props.o PropsSet.o Random.o Sound.o Switches.o Settings.o TIA.o \ CartF6SC.o: $(CORE)/CartF6SC.cxx $(CORE)/CartF6SC.hxx
Serializer.o Deserializer.o TIASound.o EventHandler.o FrameBuffer.o \ $(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/CartF6SC.cxx
$(M6502_OBJS)
CartF8.o: $(CORE)/CartF8.cxx $(CORE)/CartF8.hxx
stella.exe: $(CORE_OBJS) $(OBJS) $(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/CartF8.cxx
$(LD) -o a.exe *.o $(LDFLAGS) $(LDLIBS)
exe2coff a.exe CartF8SC.o: $(CORE)/CartF8SC.cxx $(CORE)/CartF8SC.hxx
strip a $(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/CartF8SC.cxx
del stella.exe
copy /B $(DJGPP:\DJGPP.ENV=)\bin\pmodstub.exe+a stella.exe CartFASC.o: $(CORE)/CartFASC.cxx $(CORE)/CartFASC.hxx
del a $(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/CartFASC.cxx
del a.exe
CartFE.o: $(CORE)/CartFE.cxx $(CORE)/CartFE.hxx
stella.sdl: $(CORE_OBJS) $(OBJS) $(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/CartFE.cxx
$(LD) -o stella.sdl $(CORE_OBJS) $(OBJS) $(LDFLAGS) $(LDLIBS)
CartMC.o: $(CORE)/CartMC.cxx $(CORE)/CartMC.hxx
M6502Low.ins: $(CORE)/m6502/src/M6502Low.m4 $(CORE)/m6502/src/M6502.m4 $(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/CartMC.cxx
m4 $(CORE)/m6502/src/M6502Low.m4 $(CORE)/m6502/src/M6502.m4 > M6502Low.ins
CartMB.o: $(CORE)/CartMB.cxx $(CORE)/CartMB.hxx
M6502Hi.ins: $(CORE)/m6502/src/M6502Hi.m4 $(CORE)/m6502/src/M6502.m4 $(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/CartMB.cxx
m4 $(CORE)/m6502/src/M6502Hi.m4 $(CORE)/m6502/src/M6502.m4 > M6502Hi.ins
CartCV.o: $(CORE)/CartCV.cxx $(CORE)/CartCV.hxx
M6502Low.o: M6502Low.ins $(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/CartCV.cxx
M6502Hi.o: M6502Hi.ins
M6532.o: $(CORE)/M6532.cxx $(CORE)/M6532.hxx
cleandos: $(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/M6532.cxx
del *.o
del stella.exe TIA.o: $(CORE)/TIA.cxx $(CORE)/TIA.hxx
del M6502Low.ins $(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/TIA.cxx
del M6502Hi.ins
TIASound.o: $(CORE)/TIASound.c $(CORE)/TIASound.h
clean: $(CXX) -c -DWIN32 $(FLAGS) $(OPTIONS) $(CORE)/TIASound.c
rm -f *.o stella stella.sdl stella.exe core
Console.o: $(CORE)/Console.cxx $(CORE)/Console.hxx
cleanall: clean $(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/Console.cxx
rm -f M6502Low.ins M6502Hi.ins
MD5.o: $(CORE)/MD5.cxx $(CORE)/MD5.hxx
Driving.o: $(CORE)/Driving.cxx $(CORE)/Driving.hxx $(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/MD5.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/Driving.cxx
MediaSrc.o: $(CORE)/MediaSrc.cxx $(CORE)/MediaSrc.hxx
Event.o: $(CORE)/Event.cxx $(CORE)/Event.hxx $(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/MediaSrc.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/Event.cxx
FrameBuffer.o: $(CORE)/FrameBuffer.cxx $(CORE)/FrameBuffer.hxx
EventHandler.o: $(CORE)/EventHandler.cxx $(CORE)/EventHandler.hxx $(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/FrameBuffer.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/EventHandler.cxx
PropsSet.o: $(CORE)/PropsSet.cxx $(CORE)/PropsSet.hxx
Control.o: $(CORE)/Control.cxx $(CORE)/Control.hxx $(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/PropsSet.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/Control.cxx
Props.o: $(CORE)/Props.cxx $(CORE)/Props.hxx
Joystick.o: $(CORE)/Joystick.cxx $(CORE)/Joystick.hxx $(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/Props.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/Joystick.cxx
Random.o: $(CORE)/Random.cxx $(CORE)/Random.hxx
Keyboard.o: $(CORE)/Keyboard.cxx $(CORE)/Keyboard.hxx $(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/Random.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/Keyboard.cxx
Sound.o: $(CORE)/Sound.cxx $(CORE)/Sound.hxx
Paddles.o: $(CORE)/Paddles.cxx $(CORE)/Paddles.hxx $(CXX) -c $(FLAGS) $(OPTIONS) $(LDFLAGS) $(CORE)/Sound.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/Paddles.cxx
Switches.o: $(CORE)/Switches.cxx $(CORE)/Switches.hxx
Booster.o: $(CORE)/Booster.cxx $(CORE)/Booster.hxx $(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/Switches.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/Booster.cxx
Serializer.o: $(CORE)/Serializer.cxx $(CORE)/Serializer.hxx
Cart.o: $(CORE)/Cart.cxx $(CORE)/Cart.hxx $(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/Serializer.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/Cart.cxx
Deserializer.o: $(CORE)/Deserializer.cxx $(CORE)/Deserializer.hxx
Cart2K.o: $(CORE)/Cart2K.cxx $(CORE)/Cart2K.hxx $(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/Deserializer.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/Cart2K.cxx
Settings.o: $(CORE)/Settings.cxx $(CORE)/Settings.hxx
Cart3F.o: $(CORE)/Cart3F.cxx $(CORE)/Cart3F.hxx $(CXX) -c $(FLAGS) $(OPTIONS) $(LDFLAGS) $(CORE)/Settings.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/Cart3F.cxx
SettingsUNIX.o: $(UI)/sdl/SettingsUNIX.cxx $(UI)/sdl/SettingsUNIX.hxx
Cart4K.o: $(CORE)/Cart4K.cxx $(CORE)/Cart4K.hxx $(CXX) -c $(FLAGS) $(OPTIONS) $(LDFLAGS) $(UI)/sdl/SettingsUNIX.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/Cart4K.cxx
SettingsWin32.o: $(UI)/sdl/SettingsWin32.cxx $(UI)/sdl/SettingsWin32.hxx
CartAR.o: $(CORE)/CartAR.cxx $(CORE)/CartAR.hxx $(CXX) -c $(FLAGS) $(OPTIONS) $(LDFLAGS) $(UI)/sdl/SettingsWin32.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/CartAR.cxx
Terminal.o: $(UI)/x11/Terminal.cxx $(UI)/x11/Terminal.hxx
CartDPC.o: $(CORE)/CartDPC.cxx $(CORE)/CartDPC.hxx $(CXX) -c $(FLAGS) $(OPTIONS) $(UI)/x11/Terminal.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/CartDPC.cxx
mainDOS.o: $(UI)/dos/mainDOS.cxx
CartE0.o: $(CORE)/CartE0.cxx $(CORE)/CartE0.hxx $(CXX) -c $(FLAGS) $(OPTIONS) $(UI)/dos/mainDOS.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/CartE0.cxx
PCJoys.o: $(UI)/dos/PCJoys.cxx
CartE7.o: $(CORE)/CartE7.cxx $(CORE)/CartE7.hxx $(CXX) -c $(FLAGS) $(OPTIONS) $(UI)/dos/PCJoys.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/CartE7.cxx
SndDOS.o: $(UI)/dos/SndDOS.cxx
CartF4.o: $(CORE)/CartF4.cxx $(CORE)/CartF4.hxx $(CXX) -c $(FLAGS) $(OPTIONS) $(UI)/dos/SndDOS.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/CartF4.cxx
dos_sb.o: $(UI)/dos/dos_sb.c
CartF4SC.o: $(CORE)/CartF4SC.cxx $(CORE)/CartF4SC.hxx $(CXX) -c $(FLAGS) $(OPTIONS) $(UI)/dos/dos_sb.c
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/CartF4SC.cxx
vga.o: $(UI)/dos/vga.cxx
CartF6.o: $(CORE)/CartF6.cxx $(CORE)/CartF6.hxx $(CXX) -c $(FLAGS) $(OPTIONS) $(UI)/dos/vga.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/CartF6.cxx
SoundALSA.o: $(UI)/sound/SoundALSA.cxx $(UI)/sound/SoundALSA.hxx
CartF6SC.o: $(CORE)/CartF6SC.cxx $(CORE)/CartF6SC.hxx $(CXX) -c $(FLAGS) $(OPTIONS) $(LDFLAGS) $(UI)/sound/SoundALSA.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/CartF6SC.cxx
SoundOSS.o: $(UI)/sound/SoundOSS.cxx $(UI)/sound/SoundOSS.hxx
CartF8.o: $(CORE)/CartF8.cxx $(CORE)/CartF8.hxx $(CXX) -c $(FLAGS) $(OPTIONS) $(LDFLAGS) $(UI)/sound/SoundOSS.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/CartF8.cxx
SoundSDL.o: $(UI)/sound/SoundSDL.cxx $(UI)/sound/SoundSDL.hxx
CartF8SC.o: $(CORE)/CartF8SC.cxx $(CORE)/CartF8SC.hxx $(CXX) -c $(FLAGS) $(OPTIONS) $(LDFLAGS) $(UI)/sound/SoundSDL.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/CartF8SC.cxx
mainX11.o: $(UI)/x11/mainX11.cxx
CartFASC.o: $(CORE)/CartFASC.cxx $(CORE)/CartFASC.hxx $(CXX) -c $(FLAGS) $(OPTIONS) $(LDFLAGS) $(UI)/x11/mainX11.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/CartFASC.cxx
mainSDL.o: $(UI)/sdl/mainSDL.cxx
CartFE.o: $(CORE)/CartFE.cxx $(CORE)/CartFE.hxx $(CXX) -c $(FLAGS) $(OPTIONS) $(LDFLAGS) $(UI)/sdl/mainSDL.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/CartFE.cxx
RectList.o: $(UI)/sdl/RectList.cxx $(UI)/sdl/RectList.hxx
CartMC.o: $(CORE)/CartMC.cxx $(CORE)/CartMC.hxx $(CXX) -c $(FLAGS) $(OPTIONS) $(LDFLAGS) $(UI)/sdl/RectList.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/CartMC.cxx
FrameBufferSDL.o: $(UI)/sdl/FrameBufferSDL.cxx $(UI)/sdl/FrameBufferSDL.hxx
CartMB.o: $(CORE)/CartMB.cxx $(CORE)/CartMB.hxx $(CXX) -c $(FLAGS) $(OPTIONS) $(LDFLAGS) $(UI)/sdl/FrameBufferSDL.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/CartMB.cxx
FrameBufferSoft.o: $(UI)/sdl/FrameBufferSoft.cxx $(UI)/sdl/FrameBufferSoft.hxx
CartCV.o: $(CORE)/CartCV.cxx $(CORE)/CartCV.hxx $(CXX) -c $(FLAGS) $(OPTIONS) $(LDFLAGS) $(UI)/sdl/FrameBufferSoft.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/CartCV.cxx
FrameBufferGL.o: $(UI)/sdl/FrameBufferGL.cxx $(UI)/sdl/FrameBufferGL.hxx
M6532.o: $(CORE)/M6532.cxx $(CORE)/M6532.hxx $(CXX) -c $(FLAGS) $(OPTIONS) $(LDFLAGS) $(UI)/sdl/FrameBufferGL.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/M6532.cxx
Snapshot.o: $(UI)/common/Snapshot.cxx $(UI)/common/Snapshot.hxx
TIA.o: $(CORE)/TIA.cxx $(CORE)/TIA.hxx $(CXX) -c $(FLAGS) $(OPTIONS) $(LDFLAGS) $(UI)/common/Snapshot.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/TIA.cxx
D6502.o: $(CORE)/m6502/src/D6502.cxx
TIASound.o: $(CORE)/TIASound.c $(CORE)/TIASound.h $(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/m6502/src/D6502.cxx
$(CXX) -c -DWIN32 $(FLAGS) $(OPTIONS) $(CORE)/TIASound.c
Device.o: $(CORE)/m6502/src/Device.cxx
Console.o: $(CORE)/Console.cxx $(CORE)/Console.hxx $(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/m6502/src/Device.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/Console.cxx
M6502.o: $(CORE)/m6502/src/M6502.cxx
MD5.o: $(CORE)/MD5.cxx $(CORE)/MD5.hxx $(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/m6502/src/M6502.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/MD5.cxx
M6502Low.o: $(CORE)/m6502/src/M6502Low.cxx
MediaSrc.o: $(CORE)/MediaSrc.cxx $(CORE)/MediaSrc.hxx $(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/m6502/src/M6502Low.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/MediaSrc.cxx
M6502Hi.o: $(CORE)/m6502/src/M6502Hi.cxx
FrameBuffer.o: $(CORE)/FrameBuffer.cxx $(CORE)/FrameBuffer.hxx $(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/m6502/src/M6502Hi.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/FrameBuffer.cxx
NullDev.o: $(CORE)/m6502/src/NullDev.cxx $(CORE)/m6502/src/NullDev.hxx
PropsSet.o: $(CORE)/PropsSet.cxx $(CORE)/PropsSet.hxx $(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/m6502/src/NullDev.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/PropsSet.cxx
System.o: $(CORE)/m6502/src/System.cxx $(CORE)/m6502/src/System.hxx
Props.o: $(CORE)/Props.cxx $(CORE)/Props.hxx $(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/m6502/src/System.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/Props.cxx
Random.o: $(CORE)/Random.cxx $(CORE)/Random.hxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/Random.cxx
Sound.o: $(CORE)/Sound.cxx $(CORE)/Sound.hxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(LDFLAGS) $(CORE)/Sound.cxx
Switches.o: $(CORE)/Switches.cxx $(CORE)/Switches.hxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/Switches.cxx
Serializer.o: $(CORE)/Serializer.cxx $(CORE)/Serializer.hxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/Serializer.cxx
Deserializer.o: $(CORE)/Deserializer.cxx $(CORE)/Deserializer.hxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/Deserializer.cxx
Settings.o: $(CORE)/Settings.cxx $(CORE)/Settings.hxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(LDFLAGS) $(CORE)/Settings.cxx
SettingsUNIX.o: $(UI)/sdl/SettingsUNIX.cxx $(UI)/sdl/SettingsUNIX.hxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(LDFLAGS) $(UI)/sdl/SettingsUNIX.cxx
SettingsWin32.o: $(UI)/sdl/SettingsWin32.cxx $(UI)/sdl/SettingsWin32.hxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(LDFLAGS) $(UI)/sdl/SettingsWin32.cxx
Terminal.o: $(UI)/x11/Terminal.cxx $(UI)/x11/Terminal.hxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(UI)/x11/Terminal.cxx
mainDOS.o: $(UI)/dos/mainDOS.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(UI)/dos/mainDOS.cxx
PCJoys.o: $(UI)/dos/PCJoys.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(UI)/dos/PCJoys.cxx
SndDOS.o: $(UI)/dos/SndDOS.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(UI)/dos/SndDOS.cxx
dos_sb.o: $(UI)/dos/dos_sb.c
$(CXX) -c $(FLAGS) $(OPTIONS) $(UI)/dos/dos_sb.c
vga.o: $(UI)/dos/vga.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(UI)/dos/vga.cxx
SoundALSA.o: $(UI)/sound/SoundALSA.cxx $(UI)/sound/SoundALSA.hxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(LDFLAGS) $(UI)/sound/SoundALSA.cxx
SoundOSS.o: $(UI)/sound/SoundOSS.cxx $(UI)/sound/SoundOSS.hxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(LDFLAGS) $(UI)/sound/SoundOSS.cxx
SoundSDL.o: $(UI)/sound/SoundSDL.cxx $(UI)/sound/SoundSDL.hxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(LDFLAGS) $(UI)/sound/SoundSDL.cxx
mainX11.o: $(UI)/x11/mainX11.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(LDFLAGS) $(UI)/x11/mainX11.cxx
mainSDL.o: $(UI)/sdl/mainSDL.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(LDFLAGS) $(UI)/sdl/mainSDL.cxx
RectList.o: $(UI)/sdl/RectList.cxx $(UI)/sdl/RectList.hxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(LDFLAGS) $(UI)/sdl/RectList.cxx
FrameBufferSDL.o: $(UI)/sdl/FrameBufferSDL.cxx $(UI)/sdl/FrameBufferSDL.hxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(LDFLAGS) $(UI)/sdl/FrameBufferSDL.cxx
FrameBufferSoft.o: $(UI)/sdl/FrameBufferSoft.cxx $(UI)/sdl/FrameBufferSoft.hxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(LDFLAGS) $(UI)/sdl/FrameBufferSoft.cxx
FrameBufferGL.o: $(UI)/sdl/FrameBufferGL.cxx $(UI)/sdl/FrameBufferGL.hxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(LDFLAGS) $(UI)/sdl/FrameBufferGL.cxx
Snapshot.o: $(UI)/common/Snapshot.cxx $(UI)/common/Snapshot.hxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(LDFLAGS) $(UI)/common/Snapshot.cxx
D6502.o: $(CORE)/m6502/src/D6502.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/m6502/src/D6502.cxx
Device.o: $(CORE)/m6502/src/Device.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/m6502/src/Device.cxx
M6502.o: $(CORE)/m6502/src/M6502.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/m6502/src/M6502.cxx
M6502Low.o: $(CORE)/m6502/src/M6502Low.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/m6502/src/M6502Low.cxx
M6502Hi.o: $(CORE)/m6502/src/M6502Hi.cxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/m6502/src/M6502Hi.cxx
NullDev.o: $(CORE)/m6502/src/NullDev.cxx $(CORE)/m6502/src/NullDev.hxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/m6502/src/NullDev.cxx
System.o: $(CORE)/m6502/src/System.cxx $(CORE)/m6502/src/System.hxx
$(CXX) -c $(FLAGS) $(OPTIONS) $(CORE)/m6502/src/System.cxx