# Copyright (C) 2012-2023  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/usb 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 = @CXXFLAGS@ @GUI_CXXFLAGS@
CPPFLAGS = $(BX_INCDIRS) @CPPFLAGS@

LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
RANLIB = @RANLIB@
PLUGIN_PATH=@libdir@
top_builddir    = ../..
LIBTOOL=@LIBTOOL@
WIN32_DLL_IMPORT_LIBRARY=../../@WIN32_DLL_IMPORT_LIB@

USBDEV_OBJS = usb_hid.o usb_hub.o usb_msd.o usb_printer.o usb_floppy.o
UHCICORE_OBJ = uhci_core.o
OHCICORE_OBJ = ohci_core.o
SCSI_OBJS = scsi_device.o usb_uasp.o

BX_INCDIRS = -I.. -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. -I../../@INSTRUMENT_DIR@ -I$(srcdir)/../../@INSTRUMENT_DIR@
LOCAL_CXXFLAGS = $(MCH_CFLAGS)

OBJS_THAT_CANNOT_BE_PLUGINS = \
  usb_common.o \
  usb_pcap.o

OBJS_THAT_CAN_BE_PLUGINS = \
  @USBHC_OBJS@ \
  $(USBDEV_OBJS)

OBJS_THAT_SUPPORT_OTHER_PLUGINS = \
  $(UHCICORE_OBJ) \
  $(OHCICORE_OBJ) \
  $(SCSI_OBJS)

NONPLUGIN_OBJS = @IODEV_EXT_NON_PLUGIN_OBJS@
PLUGIN_OBJS = @IODEV_EXT_PLUGIN_OBJS@
USBHC_DLL_TARGETS = @USBHC_DLL_TARGETS@
USBDEV_DLL_TARGETS = bx_usb_hid.dll bx_usb_hub.dll bx_usb_msd.dll bx_usb_printer.dll bx_usb_floppy.dll

all: libusb.a

plugins: @PLUGIN_TARGET_2@

plugins_gcc: $(PLUGIN_OBJS:@PLUGIN_LIBNAME_TRANSFORMATION@)

plugins_msvc: $(USBHC_DLL_TARGETS) $(USBDEV_DLL_TARGETS)

libusb.a: $(NONPLUGIN_OBJS)
	@RMCOMMAND@ libusb.a
	@MAKELIB@ $(NONPLUGIN_OBJS)
	$(RANLIB) libusb.a

# standard compile rule for C++ files
.@CPP_SUFFIX@.o:
	$(CXX) @DASH@c  $(CPPFLAGS) $(CXXFLAGS) $(LOCAL_CXXFLAGS) @CXXFP@$< @OFP@$@

##### building plugins with libtool
%.lo: %.@CPP_SUFFIX@
	$(LIBTOOL) --mode=compile --tag CXX $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(LOCAL_CXXFLAGS) $< -o $@

libbx_%.la: %.lo
	$(LIBTOOL) --mode=link --tag CXX $(CXX) $(LDFLAGS) -module $< -o $@ -rpath $(PLUGIN_PATH)

# special link rules for plugins that require more than one object file
libbx_usb_msd.la: usb_msd.lo scsi_device.lo usb_uasp.lo
	$(LIBTOOL) --mode=link --tag CXX $(CXX) $(LDFLAGS) -module usb_msd.lo scsi_device.lo usb_uasp.lo -o libbx_usb_msd.la -rpath $(PLUGIN_PATH)

libbx_usb_uhci.la: usb_uhci.lo uhci_core.lo
	$(LIBTOOL) --mode=link --tag CXX $(CXX) $(LDFLAGS) -module usb_uhci.lo uhci_core.lo -o libbx_usb_uhci.la -rpath $(PLUGIN_PATH)

libbx_usb_ohci.la: usb_ohci.lo ohci_core.lo
	$(LIBTOOL) --mode=link --tag CXX $(CXX) $(LDFLAGS) -module usb_ohci.lo ohci_core.lo -o libbx_usb_ohci.la -rpath $(PLUGIN_PATH)

libbx_usb_ehci.la: usb_ehci.lo uhci_core.lo ohci_core.lo
	$(LIBTOOL) --mode=link --tag CXX $(CXX) $(LDFLAGS) -module usb_ehci.lo uhci_core.lo ohci_core.lo -o libbx_usb_ehci.la -rpath $(PLUGIN_PATH)

#### building DLLs for win32 (Cygwin and MinGW/MSYS)
bx_%.dll: %.o
	$(CXX) $(CXXFLAGS) -shared -o $@ $< $(WIN32_DLL_IMPORT_LIBRARY)

# special link rules for plugins with Cygwin, MinGW/MSYS and MSVC nmake
bx_usb_uhci.dll: usb_uhci.o uhci_core.o
	@LINK_DLL@ usb_uhci.o uhci_core.o $(WIN32_DLL_IMPORT_LIBRARY)

bx_usb_ohci.dll: usb_ohci.o ohci_core.o
	@LINK_DLL@ usb_ohci.o ohci_core.o $(WIN32_DLL_IMPORT_LIBRARY)

bx_usb_ehci.dll: usb_ehci.o uhci_core.o ohci_core.o
	@LINK_DLL@ usb_ehci.o uhci_core.o ohci_core.o $(WIN32_DLL_IMPORT_LIBRARY)

bx_usb_xhci.dll: usb_xhci.o
	@LINK_DLL@ usb_xhci.o $(WIN32_DLL_IMPORT_LIBRARY)

bx_usb_floppy.dll: usb_floppy.o
	@LINK_DLL@ usb_floppy.o $(WIN32_DLL_IMPORT_LIBRARY)

bx_usb_hid.dll: usb_hid.o
	@LINK_DLL@ usb_hid.o $(WIN32_DLL_IMPORT_LIBRARY)

bx_usb_hub.dll: usb_hub.o
	@LINK_DLL@ usb_hub.o $(WIN32_DLL_IMPORT_LIBRARY)

bx_usb_msd.dll: usb_msd.o usb_uasp.o scsi_device.o
	@LINK_DLL@ usb_msd.o usb_uasp.o scsi_device.o $(WIN32_DLL_IMPORT_LIBRARY)

bx_usb_printer.dll: usb_printer.o
	@LINK_DLL@ usb_printer.o $(WIN32_DLL_IMPORT_LIBRARY)

##### 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.
###########################################
scsi_device.o: scsi_device.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h \
 ../../osdep.h ../../gui/paramtree.h ../../logio.h \
 ../../instrument/stubs/instrument.h ../../misc/bswap.h ../../plugin.h \
 ../../extplugin.h ../../param_names.h ../../pc_system.h \
 ../../bx_debug/debug.h ../../config.h ../../osdep.h \
 ../../memory/memory-bochs.h ../../gui/siminterface.h ../../gui/gui.h \
 ../hdimage/hdimage.h ../hdimage/cdrom.h scsi_device.h
ohci_core.o: ohci_core.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h \
 ../../osdep.h ../../gui/paramtree.h ../../logio.h \
 ../../instrument/stubs/instrument.h ../../misc/bswap.h ../../plugin.h \
 ../../extplugin.h ../../param_names.h ../../pc_system.h \
 ../../bx_debug/debug.h ../../config.h ../../osdep.h \
 ../../memory/memory-bochs.h ../../gui/siminterface.h ../../gui/gui.h \
 ../pci.h usb_common.h usb_pcap.h ohci_core.h
uhci_core.o: uhci_core.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h \
 ../../osdep.h ../../gui/paramtree.h ../../logio.h \
 ../../instrument/stubs/instrument.h ../../misc/bswap.h ../../plugin.h \
 ../../extplugin.h ../../param_names.h ../../pc_system.h \
 ../../bx_debug/debug.h ../../config.h ../../osdep.h \
 ../../memory/memory-bochs.h ../../gui/siminterface.h ../../gui/gui.h \
 ../pci.h usb_common.h usb_pcap.h uhci_core.h
usb_common.o: usb_common.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h \
 ../../osdep.h ../../gui/paramtree.h ../../logio.h \
 ../../instrument/stubs/instrument.h ../../misc/bswap.h ../../plugin.h \
 ../../extplugin.h ../../param_names.h ../../pc_system.h \
 ../../bx_debug/debug.h ../../config.h ../../osdep.h \
 ../../memory/memory-bochs.h ../../gui/siminterface.h ../../gui/gui.h \
 usb_pcap.h usb_common.h
usb_ehci.o: usb_ehci.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h \
 ../../osdep.h ../../gui/paramtree.h ../../logio.h \
 ../../instrument/stubs/instrument.h ../../misc/bswap.h ../../plugin.h \
 ../../extplugin.h ../../param_names.h ../../pc_system.h \
 ../../bx_debug/debug.h ../../config.h ../../osdep.h \
 ../../memory/memory-bochs.h ../../gui/siminterface.h ../../gui/gui.h \
 ../pci.h usb_common.h usb_pcap.h uhci_core.h ohci_core.h ../../qemu-queue.h \
 usb_ehci.h
usb_floppy.o: usb_floppy.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h \
 ../../osdep.h ../../gui/paramtree.h ../../logio.h \
 ../../instrument/stubs/instrument.h ../../misc/bswap.h ../../plugin.h \
 ../../extplugin.h ../../param_names.h ../../pc_system.h \
 ../../bx_debug/debug.h ../../config.h ../../osdep.h \
 ../../memory/memory-bochs.h ../../gui/siminterface.h ../../gui/gui.h \
 usb_common.h usb_pcap.h ../hdimage/hdimage.h usb_floppy.h
usb_hid.o: usb_hid.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h \
 ../../osdep.h ../../gui/paramtree.h ../../logio.h \
 ../../instrument/stubs/instrument.h ../../misc/bswap.h ../../plugin.h \
 ../../extplugin.h ../../param_names.h ../../pc_system.h \
 ../../bx_debug/debug.h ../../config.h ../../osdep.h \
 ../../memory/memory-bochs.h ../../gui/siminterface.h ../../gui/gui.h \
 usb_common.h usb_pcap.h usb_hid.h
usb_hub.o: usb_hub.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h \
 ../../osdep.h ../../gui/paramtree.h ../../logio.h \
 ../../instrument/stubs/instrument.h ../../misc/bswap.h ../../plugin.h \
 ../../extplugin.h ../../param_names.h ../../pc_system.h \
 ../../bx_debug/debug.h ../../config.h ../../osdep.h \
 ../../memory/memory-bochs.h ../../gui/siminterface.h ../../gui/gui.h \
 usb_common.h usb_pcap.h usb_hub.h
usb_msd.o: usb_msd.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h \
 ../../osdep.h ../../gui/paramtree.h ../../logio.h \
 ../../instrument/stubs/instrument.h ../../misc/bswap.h ../../plugin.h \
 ../../extplugin.h ../../param_names.h ../../pc_system.h \
 ../../bx_debug/debug.h ../../config.h ../../osdep.h \
 ../../memory/memory-bochs.h ../../gui/siminterface.h ../../gui/gui.h \
 usb_common.h usb_pcap.h ../hdimage/cdrom.h ../hdimage/hdimage.h \
 scsi_device.h usb_msd.h
usb_uasp.o: usb_uasp.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h \
 ../../osdep.h ../../gui/paramtree.h ../../logio.h \
 ../../instrument/stubs/instrument.h ../../misc/bswap.h ../../plugin.h \
 ../../extplugin.h ../../param_names.h ../../pc_system.h \
 ../../bx_debug/debug.h ../../config.h ../../osdep.h \
 ../../memory/memory-bochs.h ../../gui/siminterface.h ../../gui/gui.h \
 usb_common.h usb_pcap.h ../hdimage/cdrom.h ../hdimage/hdimage.h \
 scsi_device.h usb_msd.h
usb_ohci.o: usb_ohci.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h \
 ../../osdep.h ../../gui/paramtree.h ../../logio.h \
 ../../instrument/stubs/instrument.h ../../misc/bswap.h ../../plugin.h \
 ../../extplugin.h ../../param_names.h ../../pc_system.h \
 ../../bx_debug/debug.h ../../config.h ../../osdep.h \
 ../../memory/memory-bochs.h ../../gui/siminterface.h ../../gui/gui.h \
 ../pci.h usb_common.h usb_pcap.h ohci_core.h usb_ohci.h
usb_pcap.o: usb_pcap.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h \
 ../../osdep.h ../../gui/paramtree.h ../../logio.h \
 ../../instrument/stubs/instrument.h ../../misc/bswap.h ../../plugin.h \
 ../../extplugin.h ../../param_names.h ../../pc_system.h \
 ../../bx_debug/debug.h ../../config.h ../../osdep.h \
 ../../memory/memory-bochs.h ../../gui/siminterface.h ../../gui/gui.h \
 usb_pcap.h usb_common.h
usb_printer.o: usb_printer.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h \
 ../../osdep.h ../../gui/paramtree.h ../../logio.h \
 ../../instrument/stubs/instrument.h ../../misc/bswap.h ../../plugin.h \
 ../../extplugin.h ../../param_names.h ../../pc_system.h \
 ../../bx_debug/debug.h ../../config.h ../../osdep.h \
 ../../memory/memory-bochs.h ../../gui/siminterface.h ../../gui/gui.h \
 usb_common.h usb_pcap.h usb_printer.h
usb_uhci.o: usb_uhci.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h \
 ../../osdep.h ../../gui/paramtree.h ../../logio.h \
 ../../instrument/stubs/instrument.h ../../misc/bswap.h ../../plugin.h \
 ../../extplugin.h ../../param_names.h ../../pc_system.h \
 ../../bx_debug/debug.h ../../config.h ../../osdep.h \
 ../../memory/memory-bochs.h ../../gui/siminterface.h ../../gui/gui.h \
 ../pci.h usb_common.h usb_pcap.h uhci_core.h usb_uhci.h
usb_xhci.o: usb_xhci.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h \
 ../../osdep.h ../../gui/paramtree.h ../../logio.h \
 ../../instrument/stubs/instrument.h ../../misc/bswap.h ../../plugin.h \
 ../../extplugin.h ../../param_names.h ../../pc_system.h \
 ../../bx_debug/debug.h ../../config.h ../../osdep.h \
 ../../memory/memory-bochs.h ../../gui/siminterface.h ../../gui/gui.h \
 ../pci.h usb_common.h usb_pcap.h usb_xhci.h
scsi_device.lo: scsi_device.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h \
 ../../osdep.h ../../gui/paramtree.h ../../logio.h \
 ../../instrument/stubs/instrument.h ../../misc/bswap.h ../../plugin.h \
 ../../extplugin.h ../../param_names.h ../../pc_system.h \
 ../../bx_debug/debug.h ../../config.h ../../osdep.h \
 ../../memory/memory-bochs.h ../../gui/siminterface.h ../../gui/gui.h \
 ../hdimage/hdimage.h ../hdimage/cdrom.h scsi_device.h
uhci_core.lo: uhci_core.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h \
 ../../osdep.h ../../gui/paramtree.h ../../logio.h \
 ../../instrument/stubs/instrument.h ../../misc/bswap.h ../../plugin.h \
 ../../extplugin.h ../../param_names.h ../../pc_system.h \
 ../../bx_debug/debug.h ../../config.h ../../osdep.h \
 ../../memory/memory-bochs.h ../../gui/siminterface.h ../../gui/gui.h \
 ../pci.h usb_common.h usb_pcap.h uhci_core.h
ohci_core.lo: ohci_core.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h \
 ../../osdep.h ../../gui/paramtree.h ../../logio.h \
 ../../instrument/stubs/instrument.h ../../misc/bswap.h ../../plugin.h \
 ../../extplugin.h ../../param_names.h ../../pc_system.h \
 ../../bx_debug/debug.h ../../config.h ../../osdep.h \
 ../../memory/memory-bochs.h ../../gui/siminterface.h ../../gui/gui.h \
 ../pci.h usb_common.h usb_pcap.h ohci_core.h
usb_common.lo: usb_common.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h \
 ../../osdep.h ../../gui/paramtree.h ../../logio.h \
 ../../instrument/stubs/instrument.h ../../misc/bswap.h ../../plugin.h \
 ../../extplugin.h ../../param_names.h ../../pc_system.h \
 ../../bx_debug/debug.h ../../config.h ../../osdep.h \
 ../../memory/memory-bochs.h ../../gui/siminterface.h ../../gui/gui.h \
 usb_pcap.h usb_common.h
usb_ehci.lo: usb_ehci.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h \
 ../../osdep.h ../../gui/paramtree.h ../../logio.h \
 ../../instrument/stubs/instrument.h ../../misc/bswap.h ../../plugin.h \
 ../../extplugin.h ../../param_names.h ../../pc_system.h \
 ../../bx_debug/debug.h ../../config.h ../../osdep.h \
 ../../memory/memory-bochs.h ../../gui/siminterface.h ../../gui/gui.h \
 ../pci.h usb_common.h usb_pcap.h uhci_core.h ohci_core.h ../../qemu-queue.h \
 usb_ehci.h
usb_floppy.lo: usb_floppy.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h \
 ../../osdep.h ../../gui/paramtree.h ../../logio.h \
 ../../instrument/stubs/instrument.h ../../misc/bswap.h ../../plugin.h \
 ../../extplugin.h ../../param_names.h ../../pc_system.h \
 ../../bx_debug/debug.h ../../config.h ../../osdep.h \
 ../../memory/memory-bochs.h ../../gui/siminterface.h ../../gui/gui.h \
 usb_common.h usb_pcap.h ../hdimage/hdimage.h usb_floppy.h
usb_hid.lo: usb_hid.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h \
 ../../osdep.h ../../gui/paramtree.h ../../logio.h \
 ../../instrument/stubs/instrument.h ../../misc/bswap.h ../../plugin.h \
 ../../extplugin.h ../../param_names.h ../../pc_system.h \
 ../../bx_debug/debug.h ../../config.h ../../osdep.h \
 ../../memory/memory-bochs.h ../../gui/siminterface.h ../../gui/gui.h \
 usb_common.h usb_pcap.h usb_hid.h
usb_hub.lo: usb_hub.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h \
 ../../osdep.h ../../gui/paramtree.h ../../logio.h \
 ../../instrument/stubs/instrument.h ../../misc/bswap.h ../../plugin.h \
 ../../extplugin.h ../../param_names.h ../../pc_system.h \
 ../../bx_debug/debug.h ../../config.h ../../osdep.h \
 ../../memory/memory-bochs.h ../../gui/siminterface.h ../../gui/gui.h \
 usb_common.h usb_pcap.h usb_hub.h
usb_msd.lo: usb_msd.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h \
 ../../osdep.h ../../gui/paramtree.h ../../logio.h \
 ../../instrument/stubs/instrument.h ../../misc/bswap.h ../../plugin.h \
 ../../extplugin.h ../../param_names.h ../../pc_system.h \
 ../../bx_debug/debug.h ../../config.h ../../osdep.h \
 ../../memory/memory-bochs.h ../../gui/siminterface.h ../../gui/gui.h \
 usb_common.h usb_pcap.h ../hdimage/cdrom.h ../hdimage/hdimage.h \
 scsi_device.h usb_msd.h
usb_uasp.lo: usb_uasp.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h \
 ../../osdep.h ../../gui/paramtree.h ../../logio.h \
 ../../instrument/stubs/instrument.h ../../misc/bswap.h ../../plugin.h \
 ../../extplugin.h ../../param_names.h ../../pc_system.h \
 ../../bx_debug/debug.h ../../config.h ../../osdep.h \
 ../../memory/memory-bochs.h ../../gui/siminterface.h ../../gui/gui.h \
 usb_common.h usb_pcap.h ../hdimage/cdrom.h ../hdimage/hdimage.h \
 scsi_device.h usb_msd.h
usb_ohci.lo: usb_ohci.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h \
 ../../osdep.h ../../gui/paramtree.h ../../logio.h \
 ../../instrument/stubs/instrument.h ../../misc/bswap.h ../../plugin.h \
 ../../extplugin.h ../../param_names.h ../../pc_system.h \
 ../../bx_debug/debug.h ../../config.h ../../osdep.h \
 ../../memory/memory-bochs.h ../../gui/siminterface.h ../../gui/gui.h \
 ../pci.h usb_common.h usb_pcap.h ohci_core.h usb_ohci.h
usb_pcap.lo: usb_pcap.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h \
 ../../osdep.h ../../gui/paramtree.h ../../logio.h \
 ../../instrument/stubs/instrument.h ../../misc/bswap.h ../../plugin.h \
 ../../extplugin.h ../../param_names.h ../../pc_system.h \
 ../../bx_debug/debug.h ../../config.h ../../osdep.h \
 ../../memory/memory-bochs.h ../../gui/siminterface.h ../../gui/gui.h \
 usb_pcap.h usb_common.h
usb_printer.lo: usb_printer.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h \
 ../../osdep.h ../../gui/paramtree.h ../../logio.h \
 ../../instrument/stubs/instrument.h ../../misc/bswap.h ../../plugin.h \
 ../../extplugin.h ../../param_names.h ../../pc_system.h \
 ../../bx_debug/debug.h ../../config.h ../../osdep.h \
 ../../memory/memory-bochs.h ../../gui/siminterface.h ../../gui/gui.h \
 usb_common.h usb_pcap.h usb_printer.h
usb_uhci.lo: usb_uhci.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h \
 ../../osdep.h ../../gui/paramtree.h ../../logio.h \
 ../../instrument/stubs/instrument.h ../../misc/bswap.h ../../plugin.h \
 ../../extplugin.h ../../param_names.h ../../pc_system.h \
 ../../bx_debug/debug.h ../../config.h ../../osdep.h \
 ../../memory/memory-bochs.h ../../gui/siminterface.h ../../gui/gui.h \
 ../pci.h usb_common.h usb_pcap.h uhci_core.h usb_uhci.h
usb_xhci.lo: usb_xhci.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h \
 ../../osdep.h ../../gui/paramtree.h ../../logio.h \
 ../../instrument/stubs/instrument.h ../../misc/bswap.h ../../plugin.h \
 ../../extplugin.h ../../param_names.h ../../pc_system.h \
 ../../bx_debug/debug.h ../../config.h ../../osdep.h \
 ../../memory/memory-bochs.h ../../gui/siminterface.h ../../gui/gui.h \
 ../pci.h usb_common.h usb_pcap.h usb_xhci.h
