b880fb2975
- Common hdimage code, lowlevel cdrom code and the classes for the Bochs "own" image modes (e.g. flat, sparse, growing") are now a part of the Bochs core. - All classes for image modes present in separate files are now built as plugins with the same self register mechanism as network, sound and usb modules. Defined new plugin type PLUGTYPE_HDIMAGE. - Temporarily disabled the base image format detection of the undoable/volatile modes for the "external" modes in the plugins case. - TODO: Bochs should know about all of the available plugins and their capabilities right after startup, but before the configuration stage.
259 lines
12 KiB
Makefile
259 lines
12 KiB
Makefile
# Copyright (C) 2012-2020 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/hdimage 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=../../@WIN32_DLL_IMPORT_LIB@
|
|
|
|
CDROM_OBJS = @CDROM_OBJS@
|
|
HDIMAGE_EXTRA_OBJS = vbox.o vmware3.o vmware4.o vpc-img.o vvfat.o
|
|
|
|
HDIMAGE_LINK_OPTS =
|
|
HDIMAGE_LINK_OPTS_VCPP = user32.lib
|
|
|
|
BX_INCDIRS = -I.. -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. -I../../@INSTRUMENT_DIR@ -I$(srcdir)/../../@INSTRUMENT_DIR@
|
|
LOCAL_CXXFLAGS = $(MCH_CFLAGS)
|
|
|
|
OBJS_THAT_CANNOT_BE_PLUGINS = \
|
|
hdimage.o \
|
|
$(CDROM_OBJS)
|
|
|
|
OBJS_THAT_CAN_BE_PLUGINS = \
|
|
$(HDIMAGE_EXTRA_OBJS)
|
|
|
|
NONPLUGIN_OBJS = @IODEV_EXT_NON_PLUGIN_OBJS@
|
|
PLUGIN_OBJS = @IODEV_EXT_PLUGIN_OBJS@
|
|
HDIMAGE_DLL_TARGETS = bx_vbox.dll bx_vmware3.dll bx_vmware4.dll bx_vpc-img.dll bx_vvfat.dll
|
|
|
|
all: libhdimage.a
|
|
|
|
plugins: @PLUGIN_TARGET_2@
|
|
|
|
plugins_gcc: $(PLUGIN_OBJS:@PLUGIN_LIBNAME_TRANSFORMATION@)
|
|
|
|
plugins_msvc: $(HDIMAGE_DLL_TARGETS)
|
|
|
|
libhdimage.a: $(NONPLUGIN_OBJS)
|
|
@RMCOMMAND@ libhdimage.a
|
|
@MAKELIB@ $(NONPLUGIN_OBJS)
|
|
$(RANLIB) libhdimage.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)
|
|
|
|
#### building DLLs for win32 (Cygwin and MinGW/MSYS)
|
|
bx_%.dll: %.o
|
|
$(CXX) $(CXXFLAGS) -shared -o $@ $< $(WIN32_DLL_IMPORT_LIBRARY)
|
|
|
|
bx_vbox.dll: vbox.o
|
|
@LINK_DLL@ vbox.o $(WIN32_DLL_IMPORT_LIBRARY)
|
|
|
|
bx_vmware3.dll: vmware3.o
|
|
@LINK_DLL@ vmware3.o $(WIN32_DLL_IMPORT_LIBRARY)
|
|
|
|
bx_vmware4.dll: vmware4.o
|
|
@LINK_DLL@ vmware4.o $(WIN32_DLL_IMPORT_LIBRARY)
|
|
|
|
bx_vpc-img.dll: vpc-img.o
|
|
@LINK_DLL@ vpc-img.o $(WIN32_DLL_IMPORT_LIBRARY)
|
|
|
|
bx_vvfat.dll: vvfat.o
|
|
@LINK_DLL@ vvfat.o $(WIN32_DLL_IMPORT_LIBRARY) $(HDIMAGE_LINK_OPTS@LINK_VAR@)
|
|
|
|
##### end DLL section
|
|
|
|
clean:
|
|
@RMCOMMAND@ -rf .libs *.lo *.o *.la *.a *.dll *.exp *.lib
|
|
|
|
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.
|
|
###########################################
|
|
cdrom_amigaos.o: cdrom_amigaos.@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 scsi_commands.h cdrom.h \
|
|
cdrom_amigaos.h
|
|
cdrom.o: cdrom.@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 cdrom.h
|
|
cdrom_misc.o: cdrom_misc.@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 cdrom.h cdrom_misc.h
|
|
cdrom_osx.o: cdrom_osx.@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 cdrom.h cdrom_osx.h
|
|
cdrom_win32.o: cdrom_win32.@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 cdrom.h cdrom_win32.h
|
|
hdimage.o: hdimage.@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 \
|
|
../../param_names.h cdrom.h cdrom_amigaos.h cdrom_misc.h cdrom_osx.h \
|
|
cdrom_win32.h hdimage.h vmware3.h vmware4.h vvfat.h vpc-img.h vbox.h
|
|
vbox.o: vbox.@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 \
|
|
../../param_names.h hdimage.h vbox.h
|
|
vmware3.o: vmware3.@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 \
|
|
../../param_names.h hdimage.h vmware3.h
|
|
vmware4.o: vmware4.@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 \
|
|
../../param_names.h hdimage.h vmware4.h
|
|
vpc-img.o: vpc-img.@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 \
|
|
../../param_names.h hdimage.h vpc-img.h
|
|
vvfat.o: vvfat.@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 \
|
|
../../param_names.h hdimage.h vvfat.h
|
|
cdrom_amigaos.lo: cdrom_amigaos.@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 scsi_commands.h cdrom.h \
|
|
cdrom_amigaos.h
|
|
cdrom.lo: cdrom.@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 cdrom.h
|
|
cdrom_misc.lo: cdrom_misc.@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 cdrom.h cdrom_misc.h
|
|
cdrom_osx.lo: cdrom_osx.@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 cdrom.h cdrom_osx.h
|
|
cdrom_win32.lo: cdrom_win32.@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 cdrom.h cdrom_win32.h
|
|
hdimage.lo: hdimage.@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 \
|
|
../../param_names.h cdrom.h cdrom_amigaos.h cdrom_misc.h cdrom_osx.h \
|
|
cdrom_win32.h hdimage.h vmware3.h vmware4.h vvfat.h vpc-img.h vbox.h
|
|
vbox.lo: vbox.@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 \
|
|
../../param_names.h hdimage.h vbox.h
|
|
vmware3.lo: vmware3.@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 \
|
|
../../param_names.h hdimage.h vmware3.h
|
|
vmware4.lo: vmware4.@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 \
|
|
../../param_names.h hdimage.h vmware4.h
|
|
vpc-img.lo: vpc-img.@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 \
|
|
../../param_names.h hdimage.h vpc-img.h
|
|
vvfat.lo: vvfat.@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 \
|
|
../../param_names.h hdimage.h vvfat.h
|