2018-01-05 20:43:51 +03:00
|
|
|
# Copyright (C) 2012-2018 The Bochs Project
|
2012-09-11 00:49:29 +04:00
|
|
|
#
|
|
|
|
# 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@
|
Next step for plugin support with MSVC nmake: device plugins that need special
rules can be built now (keyboard, pit, gameport, serial, vga, svga_cirrus,
hdimage, netmod, soundmod, usb_common). The generated DLLs are usable with the
BOCHS.EXE built with the IDE, but the nmake won't work at all yet.
2014-04-21 22:43:22 +04:00
|
|
|
WIN32_DLL_IMPORT_LIBRARY=../../@WIN32_DLL_IMPORT_LIB@
|
2012-09-11 00:49:29 +04:00
|
|
|
|
|
|
|
DISPLAY_OBJS = @DISPLAY_OBJS@
|
2018-01-05 20:43:51 +03:00
|
|
|
DISPLAY_EXTRA_OBJS = @DISPLAY_EXTRA_OBJS@
|
2012-09-11 00:49:29 +04:00
|
|
|
|
|
|
|
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 = \
|
2018-01-05 20:43:51 +03:00
|
|
|
vgacore.o \
|
2018-01-11 22:02:08 +03:00
|
|
|
ddc.o \
|
2018-01-05 20:43:51 +03:00
|
|
|
$(DISPLAY_EXTRA_OBJS)
|
2012-09-11 00:49:29 +04:00
|
|
|
|
|
|
|
NONPLUGIN_OBJS = @IODEV_EXT_NON_PLUGIN_OBJS@
|
|
|
|
PLUGIN_OBJS = @IODEV_EXT_PLUGIN_OBJS@
|
2014-12-28 22:13:02 +03:00
|
|
|
DISPLAY_DLL_TARGETS = @DISPLAY_DLL_TARGETS@
|
2012-09-11 00:49:29 +04:00
|
|
|
|
|
|
|
all: libdisplay.a
|
|
|
|
|
2014-04-06 11:22:16 +04:00
|
|
|
plugins: @PLUGIN_TARGET_2@
|
|
|
|
|
|
|
|
plugins_gcc: $(PLUGIN_OBJS:@PLUGIN_LIBNAME_TRANSFORMATION@)
|
|
|
|
|
2014-12-28 22:13:02 +03:00
|
|
|
plugins_msvc: bx_vga.dll $(DISPLAY_DLL_TARGETS)
|
2012-09-11 00:49:29 +04:00
|
|
|
|
|
|
|
libdisplay.a: $(NONPLUGIN_OBJS)
|
|
|
|
@RMCOMMAND@ libdisplay.a
|
|
|
|
@MAKELIB@ $(NONPLUGIN_OBJS)
|
2014-01-04 01:58:04 +04:00
|
|
|
$(RANLIB) libdisplay.a
|
2012-09-11 00:49:29 +04:00
|
|
|
|
|
|
|
# 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
|
2018-01-26 12:37:26 +03:00
|
|
|
libbx_vga.la: vga.lo vgacore.lo ddc.lo
|
|
|
|
$(LIBTOOL) --mode=link --tag CXX $(CXX) -module vga.lo vgacore.lo ddc.lo -o libbx_vga.la -rpath $(PLUGIN_PATH)
|
2012-09-11 00:49:29 +04:00
|
|
|
|
2018-01-11 22:02:08 +03:00
|
|
|
libbx_svga_cirrus.la: svga_cirrus.lo vgacore.lo ddc.lo
|
|
|
|
$(LIBTOOL) --mode=link --tag CXX $(CXX) -module svga_cirrus.lo vgacore.lo ddc.lo -o libbx_svga_cirrus.la -rpath $(PLUGIN_PATH)
|
2012-09-11 00:49:29 +04:00
|
|
|
|
2018-01-11 22:02:08 +03:00
|
|
|
libbx_voodoo.la: voodoo.lo banshee.lo vgacore.lo ddc.lo
|
|
|
|
$(LIBTOOL) --mode=link --tag CXX $(CXX) -module voodoo.lo banshee.lo vgacore.lo ddc.lo -o libbx_voodoo.la -rpath $(PLUGIN_PATH)
|
2017-10-12 22:34:58 +03:00
|
|
|
|
2014-04-25 20:07:26 +04:00
|
|
|
#### building DLLs for win32 (Cygwin and MinGW/MSYS)
|
2012-09-11 00:49:29 +04:00
|
|
|
bx_%.dll: %.o
|
|
|
|
$(CXX) $(CXXFLAGS) -shared -o $@ $< $(WIN32_DLL_IMPORT_LIBRARY)
|
|
|
|
|
2014-04-25 20:07:26 +04:00
|
|
|
# special link rules for plugins with Cygwin, MinGW/MSYS and MSVC nmake
|
2018-01-26 12:37:26 +03:00
|
|
|
bx_vga.dll: vga.o vgacore.o ddc.o
|
|
|
|
@LINK_DLL@ vga.o vgacore.o ddc.o $(WIN32_DLL_IMPORT_LIBRARY)
|
2012-09-11 00:49:29 +04:00
|
|
|
|
2018-01-11 22:02:08 +03:00
|
|
|
bx_svga_cirrus.dll: svga_cirrus.o vgacore.o ddc.o
|
|
|
|
@LINK_DLL@ svga_cirrus.o vgacore.o ddc.o $(WIN32_DLL_IMPORT_LIBRARY)
|
2012-09-11 00:49:29 +04:00
|
|
|
|
2018-01-11 22:02:08 +03:00
|
|
|
bx_voodoo.dll: voodoo.o banshee.o vgacore.o ddc.o
|
|
|
|
@LINK_DLL@ voodoo.o banshee.o vgacore.o ddc.o $(WIN32_DLL_IMPORT_LIBRARY)
|
2014-04-25 00:10:55 +04:00
|
|
|
|
2012-09-11 00:49:29 +04:00
|
|
|
##### end DLL section
|
|
|
|
|
|
|
|
clean:
|
2014-07-26 10:54:34 +04:00
|
|
|
@RMCOMMAND@ -rf .libs *.lo *.o *.la *.a *.dll *.exp *.lib
|
2012-09-11 00:49:29 +04:00
|
|
|
|
|
|
|
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.
|
|
|
|
###########################################
|
2018-01-05 20:43:51 +03:00
|
|
|
banshee.o: banshee.@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-bochs.h ../../pc_system.h ../../gui/gui.h \
|
|
|
|
../../instrument/stubs/instrument.h ../../plugin.h ../../extplugin.h \
|
2018-01-11 22:02:08 +03:00
|
|
|
../../param_names.h ../pci.h vgacore.h ddc.h voodoo.h ../virt_timer.h \
|
2018-01-05 20:43:51 +03:00
|
|
|
../../bxthread.h bitblt.h voodoo_types.h voodoo_data.h voodoo_main.h
|
2018-01-11 22:02:08 +03:00
|
|
|
ddc.o: ddc.@CPP_SUFFIX@ ../../bochs.h ../../config.h ../../osdep.h \
|
|
|
|
../../bx_debug/debug.h ../../config.h ../../osdep.h \
|
|
|
|
../../gui/siminterface.h ../../cpudb.h ../../gui/paramtree.h \
|
|
|
|
../../memory/memory-bochs.h ../../pc_system.h ../../gui/gui.h \
|
|
|
|
../../instrument/stubs/instrument.h ddc.h
|
2012-09-11 00:49:29 +04:00
|
|
|
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 \
|
2016-08-12 20:06:14 +03:00
|
|
|
../../memory/memory-bochs.h ../../pc_system.h ../../gui/gui.h \
|
2012-09-11 00:49:29 +04:00
|
|
|
../../instrument/stubs/instrument.h ../../plugin.h ../../extplugin.h \
|
2018-01-11 22:02:08 +03:00
|
|
|
../../param_names.h vgacore.h bitblt.h ddc.h svga_cirrus.h \
|
|
|
|
../virt_timer.h
|
2012-09-11 00:49:29 +04:00
|
|
|
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 \
|
2016-08-12 20:06:14 +03:00
|
|
|
../../memory/memory-bochs.h ../../pc_system.h ../../gui/gui.h \
|
2012-09-11 00:49:29 +04:00
|
|
|
../../instrument/stubs/instrument.h ../../plugin.h ../../extplugin.h \
|
2018-01-26 12:37:26 +03:00
|
|
|
../../param_names.h vgacore.h ddc.h vga.h ../virt_timer.h
|
2012-09-11 00:49:29 +04:00
|
|
|
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 \
|
2016-08-12 20:06:14 +03:00
|
|
|
../../memory/memory-bochs.h ../../pc_system.h ../../gui/gui.h \
|
2012-09-11 00:49:29 +04:00
|
|
|
../../instrument/stubs/instrument.h ../../plugin.h ../../extplugin.h \
|
2013-12-17 23:57:40 +04:00
|
|
|
../../param_names.h vgacore.h ../virt_timer.h
|
2012-09-15 01:50:50 +04:00
|
|
|
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 \
|
2016-08-12 20:06:14 +03:00
|
|
|
../../memory/memory-bochs.h ../../pc_system.h ../../gui/gui.h \
|
2012-09-15 01:50:50 +04:00
|
|
|
../../instrument/stubs/instrument.h ../../plugin.h ../../extplugin.h \
|
2018-01-11 22:02:08 +03:00
|
|
|
../../param_names.h ../pci.h vgacore.h ddc.h voodoo.h ../virt_timer.h \
|
2017-11-19 12:06:37 +03:00
|
|
|
../../bxthread.h bitblt.h voodoo_types.h voodoo_data.h voodoo_main.h \
|
2017-10-23 23:01:25 +03:00
|
|
|
voodoo_func.h
|
2018-01-05 20:43:51 +03:00
|
|
|
banshee.lo: banshee.@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-bochs.h ../../pc_system.h ../../gui/gui.h \
|
|
|
|
../../instrument/stubs/instrument.h ../../plugin.h ../../extplugin.h \
|
2018-01-11 22:02:08 +03:00
|
|
|
../../param_names.h ../pci.h vgacore.h ddc.h voodoo.h ../virt_timer.h \
|
2018-01-05 20:43:51 +03:00
|
|
|
../../bxthread.h bitblt.h voodoo_types.h voodoo_data.h voodoo_main.h
|
2018-01-11 22:02:08 +03:00
|
|
|
ddc.lo: ddc.@CPP_SUFFIX@ ../../bochs.h ../../config.h ../../osdep.h \
|
|
|
|
../../bx_debug/debug.h ../../config.h ../../osdep.h \
|
|
|
|
../../gui/siminterface.h ../../cpudb.h ../../gui/paramtree.h \
|
|
|
|
../../memory/memory-bochs.h ../../pc_system.h ../../gui/gui.h \
|
|
|
|
../../instrument/stubs/instrument.h ddc.h
|
2012-09-11 00:49:29 +04:00
|
|
|
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 \
|
2016-08-12 20:06:14 +03:00
|
|
|
../../memory/memory-bochs.h ../../pc_system.h ../../gui/gui.h \
|
2012-09-11 00:49:29 +04:00
|
|
|
../../instrument/stubs/instrument.h ../../plugin.h ../../extplugin.h \
|
2018-01-11 22:02:08 +03:00
|
|
|
../../param_names.h vgacore.h bitblt.h ddc.h svga_cirrus.h \
|
|
|
|
../virt_timer.h
|
2012-09-11 00:49:29 +04:00
|
|
|
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 \
|
2016-08-12 20:06:14 +03:00
|
|
|
../../memory/memory-bochs.h ../../pc_system.h ../../gui/gui.h \
|
2012-09-11 00:49:29 +04:00
|
|
|
../../instrument/stubs/instrument.h ../../plugin.h ../../extplugin.h \
|
2018-01-26 12:37:26 +03:00
|
|
|
../../param_names.h vgacore.h ddc.h vga.h ../virt_timer.h
|
2012-09-11 00:49:29 +04:00
|
|
|
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 \
|
2016-08-12 20:06:14 +03:00
|
|
|
../../memory/memory-bochs.h ../../pc_system.h ../../gui/gui.h \
|
2012-09-11 00:49:29 +04:00
|
|
|
../../instrument/stubs/instrument.h ../../plugin.h ../../extplugin.h \
|
2013-12-17 23:57:40 +04:00
|
|
|
../../param_names.h vgacore.h ../virt_timer.h
|
2012-09-15 01:50:50 +04:00
|
|
|
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 \
|
2016-08-12 20:06:14 +03:00
|
|
|
../../memory/memory-bochs.h ../../pc_system.h ../../gui/gui.h \
|
2012-09-15 01:50:50 +04:00
|
|
|
../../instrument/stubs/instrument.h ../../plugin.h ../../extplugin.h \
|
2018-01-11 22:02:08 +03:00
|
|
|
../../param_names.h ../pci.h vgacore.h ddc.h voodoo.h ../virt_timer.h \
|
2017-11-19 12:06:37 +03:00
|
|
|
../../bxthread.h bitblt.h voodoo_types.h voodoo_data.h voodoo_main.h \
|
2017-10-23 23:01:25 +03:00
|
|
|
voodoo_func.h
|