5f5d8e2c33
is based on a patch originally designed for DOSBox. Currently only the Voodoo1 adapter model can be emulation. The emulation is currently slow, but we intend to clean up and optimize the code. Running the 3D engine in a separate thread is also planned. To compile with Voodoo support the configure option "--enable-voodoo" must be used. Then the device can be activated with "plugin_ctrl: voodoo=1" in bochsrc or on the command line. The device will be assigned automatically to a PCI slot unless you do that manually. A specific bochsrc option to select the adapter model will be added when the code has support for it.
175 lines
7.1 KiB
Makefile
175 lines
7.1 KiB
Makefile
# Copyright (C) 2012 The Bochs Project
|
|
#
|
|
# This library is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU Lesser General Public
|
|
# License as published by the Free Software Foundation; either
|
|
# version 2 of the License, or (at your option) any later version.
|
|
#
|
|
# This library is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
# Lesser General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU Lesser General Public
|
|
# License along with this library; if not, write to the Free Software
|
|
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
|
|
# Makefile for the iodev/display component of bochs
|
|
|
|
|
|
@SUFFIX_LINE@
|
|
|
|
prefix = @prefix@
|
|
exec_prefix = @exec_prefix@
|
|
srcdir = @srcdir@
|
|
VPATH = @srcdir@
|
|
bindir = @bindir@
|
|
libdir = @libdir@
|
|
datarootdir = @datarootdir@
|
|
mandir = @mandir@
|
|
man1dir = $(mandir)/man1
|
|
man5dir = $(mandir)/man5
|
|
docdir = $(datarootdir)/doc/bochs
|
|
sharedir = $(datarootdir)/bochs
|
|
top_builddir = ..
|
|
top_srcdir = @top_srcdir@
|
|
|
|
SHELL = @SHELL@
|
|
|
|
@SET_MAKE@
|
|
|
|
CXX = @CXX@
|
|
CXXFLAGS = $(BX_INCDIRS) @CXXFLAGS@ @GUI_CXXFLAGS@
|
|
|
|
LDFLAGS = @LDFLAGS@
|
|
LIBS = @LIBS@
|
|
RANLIB = @RANLIB@
|
|
PLUGIN_PATH=@libdir@
|
|
top_builddir = ../..
|
|
LIBTOOL=@LIBTOOL@
|
|
WIN32_DLL_IMPORT_LIBRARY=../../dllexports.a
|
|
|
|
DISPLAY_OBJS = @DISPLAY_OBJS@
|
|
|
|
BX_INCDIRS = -I.. -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. -I../../@INSTRUMENT_DIR@ -I$(srcdir)/../../@INSTRUMENT_DIR@
|
|
LOCAL_CXXFLAGS = $(MCH_CFLAGS)
|
|
|
|
OBJS_THAT_CAN_BE_PLUGINS = \
|
|
vga.o \
|
|
$(DISPLAY_OBJS)
|
|
|
|
OBJS_THAT_SUPPORT_OTHER_PLUGINS = \
|
|
vgacore.o
|
|
|
|
NONPLUGIN_OBJS = @IODEV_EXT_NON_PLUGIN_OBJS@
|
|
PLUGIN_OBJS = @IODEV_EXT_PLUGIN_OBJS@
|
|
|
|
all: libdisplay.a
|
|
|
|
plugins: $(PLUGIN_OBJS:@PLUGIN_LIBNAME_TRANSFORMATION@)
|
|
|
|
libdisplay.a: $(NONPLUGIN_OBJS)
|
|
@RMCOMMAND@ libdisplay.a
|
|
@MAKELIB@ $(NONPLUGIN_OBJS)
|
|
@RANLIB@ libdisplay.a
|
|
|
|
# standard compile rule for C++ files
|
|
.@CPP_SUFFIX@.o:
|
|
$(CXX) @DASH@c $(CXXFLAGS) $(LOCAL_CXXFLAGS) @CXXFP@$< @OFP@$@
|
|
|
|
##### building plugins with libtool
|
|
%.lo: %.@CPP_SUFFIX@
|
|
$(LIBTOOL) --mode=compile --tag CXX $(CXX) -c $(CXXFLAGS) $(LOCAL_CXXFLAGS) $< -o $@
|
|
|
|
libbx_%.la: %.lo
|
|
$(LIBTOOL) --mode=link --tag CXX $(CXX) -module $< -o $@ -rpath $(PLUGIN_PATH)
|
|
|
|
# special link rules for plugins that require more than one object file
|
|
libbx_vga.la: vga.lo vgacore.lo
|
|
$(LIBTOOL) --mode=link --tag CXX $(CXX) -module vga.lo vgacore.lo -o libbx_vga.la -rpath $(PLUGIN_PATH)
|
|
|
|
libbx_svga_cirrus.la: svga_cirrus.lo vgacore.lo
|
|
$(LIBTOOL) --mode=link --tag CXX $(CXX) -module svga_cirrus.lo vgacore.lo -o libbx_svga_cirrus.la -rpath $(PLUGIN_PATH)
|
|
|
|
#### building DLLs for win32 (tested on cygwin only)
|
|
bx_%.dll: %.o
|
|
$(CXX) $(CXXFLAGS) -shared -o $@ $< $(WIN32_DLL_IMPORT_LIBRARY)
|
|
|
|
# special link rules for plugins that require more than one object file
|
|
bx_vga.dll: vga.o vgacore.o
|
|
$(CXX) $(CXXFLAGS) -shared -o bx_vga.dll vga.o vgacore.o $(WIN32_DLL_IMPORT_LIBRARY)
|
|
|
|
bx_svga_cirrus.dll: svga_cirrus.o vgacore.o
|
|
$(CXX) $(CXXFLAGS) -shared -o bx_svga_cirrus.dll svga_cirrus.o vgacore.o $(WIN32_DLL_IMPORT_LIBRARY)
|
|
|
|
##### end DLL section
|
|
|
|
clean:
|
|
@RMCOMMAND@ -rf .libs *.lo *.o *.la *.a *.dll
|
|
|
|
dist-clean: clean
|
|
@RMCOMMAND@ Makefile
|
|
|
|
###########################################
|
|
# dependencies generated by
|
|
# gcc -MM -I.. -I../.. -I../../instrument/stubs *.cc | sed -e 's/\.cc/.@CPP_SUFFIX@/g'
|
|
# gcc -MM -I.. -I../.. -I../../instrument/stubs *.cc | \
|
|
# sed -e 's/\.cc/.@CPP_SUFFIX@/g' -e 's/\.o:/.lo:/g'
|
|
#
|
|
# This means that every source file is listed twice, once with a .o rule
|
|
# and then again with an identical .lo rule. The .lo rules are used when
|
|
# building plugins.
|
|
###########################################
|
|
svga_cirrus.o: svga_cirrus.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h \
|
|
../../osdep.h ../../bx_debug/debug.h ../../config.h ../../osdep.h \
|
|
../../gui/siminterface.h ../../cpudb.h ../../gui/paramtree.h \
|
|
../../memory/memory.h ../../pc_system.h ../../gui/gui.h \
|
|
../../instrument/stubs/instrument.h ../../plugin.h ../../extplugin.h \
|
|
../../ltdl.h ../../param_names.h vgacore.h svga_cirrus.h ../virt_timer.h
|
|
vga.o: vga.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h ../../osdep.h \
|
|
../../bx_debug/debug.h ../../config.h ../../osdep.h \
|
|
../../gui/siminterface.h ../../cpudb.h ../../gui/paramtree.h \
|
|
../../memory/memory.h ../../pc_system.h ../../gui/gui.h \
|
|
../../instrument/stubs/instrument.h ../../plugin.h ../../extplugin.h \
|
|
../../ltdl.h ../../param_names.h vgacore.h vga.h ../virt_timer.h
|
|
vgacore.o: vgacore.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h \
|
|
../../osdep.h ../../bx_debug/debug.h ../../config.h ../../osdep.h \
|
|
../../gui/siminterface.h ../../cpudb.h ../../gui/paramtree.h \
|
|
../../memory/memory.h ../../pc_system.h ../../gui/gui.h \
|
|
../../instrument/stubs/instrument.h ../../plugin.h ../../extplugin.h \
|
|
../../ltdl.h ../../param_names.h vgacore.h ../virt_timer.h
|
|
voodoo.o: voodoo.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h ../../osdep.h \
|
|
../../bx_debug/debug.h ../../config.h ../../osdep.h \
|
|
../../gui/siminterface.h ../../cpudb.h ../../gui/paramtree.h \
|
|
../../memory/memory.h ../../pc_system.h ../../gui/gui.h \
|
|
../../instrument/stubs/instrument.h ../../plugin.h ../../extplugin.h \
|
|
../../ltdl.h ../../param_names.h ../pci.h vgacore.h voodoo.h \
|
|
../virt_timer.h voodoo_types.h voodoo_data.h voodoo_main.h voodoo_func.h \
|
|
voodoo_raster.h
|
|
svga_cirrus.lo: svga_cirrus.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h \
|
|
../../osdep.h ../../bx_debug/debug.h ../../config.h ../../osdep.h \
|
|
../../gui/siminterface.h ../../cpudb.h ../../gui/paramtree.h \
|
|
../../memory/memory.h ../../pc_system.h ../../gui/gui.h \
|
|
../../instrument/stubs/instrument.h ../../plugin.h ../../extplugin.h \
|
|
../../ltdl.h ../../param_names.h vgacore.h svga_cirrus.h ../virt_timer.h
|
|
vga.lo: vga.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h ../../osdep.h \
|
|
../../bx_debug/debug.h ../../config.h ../../osdep.h \
|
|
../../gui/siminterface.h ../../cpudb.h ../../gui/paramtree.h \
|
|
../../memory/memory.h ../../pc_system.h ../../gui/gui.h \
|
|
../../instrument/stubs/instrument.h ../../plugin.h ../../extplugin.h \
|
|
../../ltdl.h ../../param_names.h vgacore.h vga.h ../virt_timer.h
|
|
vgacore.lo: vgacore.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h \
|
|
../../osdep.h ../../bx_debug/debug.h ../../config.h ../../osdep.h \
|
|
../../gui/siminterface.h ../../cpudb.h ../../gui/paramtree.h \
|
|
../../memory/memory.h ../../pc_system.h ../../gui/gui.h \
|
|
../../instrument/stubs/instrument.h ../../plugin.h ../../extplugin.h \
|
|
../../ltdl.h ../../param_names.h vgacore.h ../virt_timer.h
|
|
voodoo.lo: voodoo.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h ../../osdep.h \
|
|
../../bx_debug/debug.h ../../config.h ../../osdep.h \
|
|
../../gui/siminterface.h ../../cpudb.h ../../gui/paramtree.h \
|
|
../../memory/memory.h ../../pc_system.h ../../gui/gui.h \
|
|
../../instrument/stubs/instrument.h ../../plugin.h ../../extplugin.h \
|
|
../../ltdl.h ../../param_names.h ../pci.h vgacore.h voodoo.h \
|
|
../virt_timer.h voodoo_types.h voodoo_data.h voodoo_main.h voodoo_func.h \
|
|
voodoo_raster.h
|