Makefile.kmk revision b0a3d0ec5780199a2f379da63c59ccf48f1a73b9
59190ecd61435d19ba3515b876272aee7bd12298vboxsync# $Id$
59190ecd61435d19ba3515b876272aee7bd12298vboxsync## @file
59190ecd61435d19ba3515b876272aee7bd12298vboxsync# Sub-Makefile for the Windows USB drivers.
59190ecd61435d19ba3515b876272aee7bd12298vboxsync#
59190ecd61435d19ba3515b876272aee7bd12298vboxsync
59190ecd61435d19ba3515b876272aee7bd12298vboxsync#
59190ecd61435d19ba3515b876272aee7bd12298vboxsync# Copyright (C) 2006-2007 Oracle Corporation
59190ecd61435d19ba3515b876272aee7bd12298vboxsync#
c55c68b6a3324172e9dc207926215845880b0f90vboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
c55c68b6a3324172e9dc207926215845880b0f90vboxsync# available from http://www.virtualbox.org. This file is free software;
c55c68b6a3324172e9dc207926215845880b0f90vboxsync# you can redistribute it and/or modify it under the terms of the GNU
c55c68b6a3324172e9dc207926215845880b0f90vboxsync# General Public License (GPL) as published by the Free Software
c55c68b6a3324172e9dc207926215845880b0f90vboxsync# Foundation, in version 2 as it comes in the "COPYING" file of the
c55c68b6a3324172e9dc207926215845880b0f90vboxsync# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
c55c68b6a3324172e9dc207926215845880b0f90vboxsync# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
59190ecd61435d19ba3515b876272aee7bd12298vboxsync#
59190ecd61435d19ba3515b876272aee7bd12298vboxsync
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncSUB_DEPTH = ../../../../..
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncinclude $(KBUILD_PATH)/subheader.kmk
59190ecd61435d19ba3515b876272aee7bd12298vboxsync
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncLIBRARIES.win += usbd
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncSYSMODS.win += VBoxUSB VBoxUSBMon
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncPROGRAMS.win += USBInstall USBUninstall USBTest
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncINSTALLS.win += install-infs
59190ecd61435d19ba3515b876272aee7bd12298vboxsync
59190ecd61435d19ba3515b876272aee7bd12298vboxsync#
59190ecd61435d19ba3515b876272aee7bd12298vboxsync# usbd
59190ecd61435d19ba3515b876272aee7bd12298vboxsync#
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncusbd_TEMPLATE = VBOXR0DRV
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncusbd_SOURCES = usbd/usbd.def
59190ecd61435d19ba3515b876272aee7bd12298vboxsync
59190ecd61435d19ba3515b876272aee7bd12298vboxsync#
59190ecd61435d19ba3515b876272aee7bd12298vboxsync# VBoxUSB
59190ecd61435d19ba3515b876272aee7bd12298vboxsync#
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncVBoxUSB_TEMPLATE = VBOXR0DRV
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncifdef VBOX_SIGNING_MODE
59190ecd61435d19ba3515b876272aee7bd12298vboxsync VBoxUSB_NOINST = true
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncendif
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncVBoxUSB_SDKS = W2K3DDK WINPSDKINCS
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncVBoxUSB_DEFS = IN_RT_R0 IN_SUP_R0
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncVBoxUSB_LDFLAGS.x86 = -Entry:DriverEntry@8
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncVBoxUSB_LDFLAGS.amd64 = -Entry:DriverEntry
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncVBoxUSB_SOURCES = \
df294ff29aab74013667896ef2d4f5bd1f782143vboxsync dev/VBoxUsbDev.cpp \
df294ff29aab74013667896ef2d4f5bd1f782143vboxsync dev/VBoxUsbRt.cpp \
df294ff29aab74013667896ef2d4f5bd1f782143vboxsync dev/VBoxUsbPnP.cpp \
df294ff29aab74013667896ef2d4f5bd1f782143vboxsync dev/VBoxUsbPwr.cpp \
df294ff29aab74013667896ef2d4f5bd1f782143vboxsync cmn/VBoxUsbTool.cpp \
df294ff29aab74013667896ef2d4f5bd1f782143vboxsync cmn/VBoxDrvTool.cpp \
df294ff29aab74013667896ef2d4f5bd1f782143vboxsync dev/VBoxUsbDev.rc
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncVBoxUSB_LIBS = \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $(PATH_SDK_W2K3DDK_LIB)/ntoskrnl.lib \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $(PATH_SDK_W2K3DDK_LIB)/hal.lib \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $(PATH_LIB)/RuntimeR0Drv$(VBOX_SUFF_LIB) \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $(TARGET_usbd)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync
59190ecd61435d19ba3515b876272aee7bd12298vboxsync#
59190ecd61435d19ba3515b876272aee7bd12298vboxsync# VBoxUSBMon
59190ecd61435d19ba3515b876272aee7bd12298vboxsync#
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncVBoxUSBMon_TEMPLATE = VBOXR0DRV
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncifdef VBOX_SIGNING_MODE
59190ecd61435d19ba3515b876272aee7bd12298vboxsync VBoxUSBMon_NOINST = true
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncendif
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncVBoxUSBMon_INCS := $(PATH_SUB_CURRENT)/..
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncVBoxUSBMon_SDKS = W2K3DDK WINPSDKINCS
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncVBoxUSBMon_DEFS = IN_RT_R0 IN_SUP_R0 i386=1 STD_CALL CONDITION_HANDLING=1 NT_INST=0 \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync WIN32=100 _NT1X_=100 WINNT=1 _WIN32_WINNT=0x0501 WINVER=0x0501 _WIN32_IE=0x0600 WIN32_LEAN_AND_MEAN=1 \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync VBOXUSBFILTERMGR_USB_SPINLOCK
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncVBoxUSBMon_LDFLAGS.x86 = -Entry:DriverEntry@8
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncVBoxUSBMon_LDFLAGS.amd64 = -Entry:DriverEntry
df294ff29aab74013667896ef2d4f5bd1f782143vboxsyncifdef VBOX_USBMON_WITH_FILTER_AUTOAPPLY
df294ff29aab74013667896ef2d4f5bd1f782143vboxsync VBoxUSBMon_DEFS += VBOX_USBMON_WITH_FILTER_AUTOAPPLY
df294ff29aab74013667896ef2d4f5bd1f782143vboxsyncendif
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncVBoxUSBMon_SOURCES = \
df294ff29aab74013667896ef2d4f5bd1f782143vboxsync mon/VBoxUsbMon.cpp \
df294ff29aab74013667896ef2d4f5bd1f782143vboxsync mon/VBoxUsbFlt.cpp \
df294ff29aab74013667896ef2d4f5bd1f782143vboxsync mon/VBoxUsbHook.cpp \
df294ff29aab74013667896ef2d4f5bd1f782143vboxsync cmn/VBoxUsbTool.cpp \
df294ff29aab74013667896ef2d4f5bd1f782143vboxsync cmn/VBoxDrvTool.cpp \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync ../USBFilter.cpp \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync ../VBoxUSBFilterMgr.cpp \
df294ff29aab74013667896ef2d4f5bd1f782143vboxsync mon/VBoxUsbMon.rc
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncVBoxUSBMon_LIBS = \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $(PATH_SDK_W2K3DDK_LIB)/ntoskrnl.lib \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $(PATH_SDK_W2K3DDK_LIB)/hal.lib \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $(PATH_LIB)/RuntimeR0Drv$(VBOX_SUFF_LIB) \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $(TARGET_usbd)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync
59190ecd61435d19ba3515b876272aee7bd12298vboxsync#
59190ecd61435d19ba3515b876272aee7bd12298vboxsync# USBInstall
59190ecd61435d19ba3515b876272aee7bd12298vboxsync#
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncUSBInstall_TEMPLATE = VBOXR3EXE
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncUSBInstall_DEFS = IN_RT_R3
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncUSBInstall_SDKS = WINPSDK W2K3DDK VBOX_NTDLL
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncUSBInstall_CXXFLAGS = -Gz
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncUSBInstall_CFLAGS = -Gz
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncUSBInstall_SOURCES = \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync Install/USBInstall.cpp
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncUSBInstall_LIBS = \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $(PATH_SDK_W2K3DDK_LIB)/newdev.lib \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $(LIB_RUNTIME) \
df294ff29aab74013667896ef2d4f5bd1f782143vboxsync $(PATH_LIB)/SUPR3$(VBOX_SUFF_LIB) \
df294ff29aab74013667896ef2d4f5bd1f782143vboxsync $(TARGET_VBoxDrvCfg)
b0a3d0ec5780199a2f379da63c59ccf48f1a73b9vboxsync
59190ecd61435d19ba3515b876272aee7bd12298vboxsync
59190ecd61435d19ba3515b876272aee7bd12298vboxsync#
59190ecd61435d19ba3515b876272aee7bd12298vboxsync# USBUninstall
59190ecd61435d19ba3515b876272aee7bd12298vboxsync#
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncUSBUninstall_TEMPLATE = VBOXR3EXE
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncUSBUninstall_DEFS = IN_RT_R3
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncUSBUninstall_SDKS = WINPSDK W2K3DDK VBOX_NTDLL
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncUSBUninstall_CXXFLAGS = -Gz
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncUSBUninstall_CFLAGS = -Gz
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncUSBUninstall_SOURCES = \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync Install/USBUninstall.cpp
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncUSBUninstall_LIBS = \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $(PATH_SDK_W2K3DDK_LIB)/newdev.lib \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $(LIB_RUNTIME) \
df294ff29aab74013667896ef2d4f5bd1f782143vboxsync $(PATH_LIB)/SUPR3$(VBOX_SUFF_LIB) \
df294ff29aab74013667896ef2d4f5bd1f782143vboxsync $(TARGET_VBoxDrvCfg)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync
59190ecd61435d19ba3515b876272aee7bd12298vboxsync#
59190ecd61435d19ba3515b876272aee7bd12298vboxsync# USBTest
59190ecd61435d19ba3515b876272aee7bd12298vboxsync#
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncUSBTest_TEMPLATE = VBOXR3EXE
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncUSBTest_DEFS = IN_RT_R3
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncUSBTest_SDKS = WINPSDK W2K3DDK VBOX_NTDLL
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncUSBTest_CXXFLAGS = -Gz
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncUSBTest_CFLAGS = -Gz
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncUSBTest_SOURCES = \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync testcase/USBTest.cpp
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncUSBTest_LIBS = \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $(PATH_SDK_W2K3DDK_LIB)/newdev.lib \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $(LIB_RUNTIME) \
df294ff29aab74013667896ef2d4f5bd1f782143vboxsync $(PATH_LIB)/SUPR3$(VBOX_SUFF_LIB) \
df294ff29aab74013667896ef2d4f5bd1f782143vboxsync $(TARGET_VBoxDrvCfg)
b0a3d0ec5780199a2f379da63c59ccf48f1a73b9vboxsync
59190ecd61435d19ba3515b876272aee7bd12298vboxsync#
59190ecd61435d19ba3515b876272aee7bd12298vboxsync# Install the INF files.
59190ecd61435d19ba3515b876272aee7bd12298vboxsync#
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncinstall-infs_INST = bin/
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncinstall-infs_MODE = a+r,u+w
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncinstall-infs_SOURCES = \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $(PATH_TARGET)/VBoxUSBCat.dir/VBoxUSB.inf \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $(PATH_TARGET)/VBoxUSBMonCat.dir/VBoxUSBMon.inf
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncinstall-infs_CLEAN = $(install-infs_SOURCES)
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncinstall-infs_BLDDIRS = \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $(PATH_TARGET)/VBoxUSBCat.dir \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $(PATH_TARGET)/VBoxUSBMonCat.dir
59190ecd61435d19ba3515b876272aee7bd12298vboxsync
df294ff29aab74013667896ef2d4f5bd1f782143vboxsync$(PATH_TARGET)/VBoxUSBCat.dir/VBoxUSB.inf: $(PATH_SUB_CURRENT)/dev/VBoxUSB.inf $(MAKEFILE_CURRENT) | $$(dir $$@)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $(call MSG_GENERATE,install-infs,$@,$<)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $(call VBOX_EDIT_INF_FN,$<,$@)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync
df294ff29aab74013667896ef2d4f5bd1f782143vboxsync$(PATH_TARGET)/VBoxUSBMonCat.dir/VBoxUSBMon.inf: $(PATH_SUB_CURRENT)/mon/VBoxUSBMon.inf $(MAKEFILE_CURRENT) | $$(dir $$@)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $(call MSG_GENERATE,install-infs,$@,$<)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $(call VBOX_EDIT_INF_FN,$<,$@)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncifdef VBOX_SIGNING_MODE
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncinstall-infs_SOURCES += \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $(PATH_TARGET)/VBoxUSBCat.dir/VBoxUSB.cat \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $(PATH_TARGET)/VBoxUSBCat.dir/VBoxUSB.sys \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $(PATH_TARGET)/VBoxUSBMonCat.dir/VBoxUSBMon.cat \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $(PATH_TARGET)/VBoxUSBMonCat.dir/VBoxUSBMon.sys
59190ecd61435d19ba3515b876272aee7bd12298vboxsync
23eb2c553a4eede4f244e510a7a8c64c79596195vboxsync$(PATH_TARGET)/VBoxUSBCat.dir/VBoxUSB.sys: $$(TARGET_VBoxUSB) | $$(dir $$@)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $(INSTALL) -m 644 $< $(@D)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync
59190ecd61435d19ba3515b876272aee7bd12298vboxsync$(PATH_TARGET)/VBoxUSBCat.dir/VBoxUSB.cat: \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $(PATH_TARGET)/VBoxUSBCat.dir/VBoxUSB.inf \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $(PATH_TARGET)/VBoxUSBCat.dir/VBoxUSB.sys
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $(call MSG_TOOL,Inf2Cat,VBoxUSB-inf,$@,$<)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $(call VBOX_MAKE_CAT_FN, $(@D),$@)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync
23eb2c553a4eede4f244e510a7a8c64c79596195vboxsync$(PATH_TARGET)/VBoxUSBMonCat.dir/VBoxUSBMon.sys: $$(TARGET_VBoxUSBMon) | $$(dir $$@)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $(INSTALL) -m 644 $< $(@D)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync
59190ecd61435d19ba3515b876272aee7bd12298vboxsync$(PATH_TARGET)/VBoxUSBMonCat.dir/VBoxUSBMon.cat: \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $(PATH_TARGET)/VBoxUSBMonCat.dir/VBoxUSBMon.inf \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $(PATH_TARGET)/VBoxUSBMonCat.dir/VBoxUSBMon.sys
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $(call MSG_TOOL,Inf2Cat,VBoxUSBMon-inf,$@,$<)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $(call VBOX_MAKE_CAT_FN, $(@D),$@)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncendif # signing
59190ecd61435d19ba3515b876272aee7bd12298vboxsync
59190ecd61435d19ba3515b876272aee7bd12298vboxsync# generate rules
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncinclude $(KBUILD_PATH)/subfooter.kmk
59190ecd61435d19ba3515b876272aee7bd12298vboxsync