Makefile.kmk revision 59190ecd61435d19ba3515b876272aee7bd12298
59190ecd61435d19ba3515b876272aee7bd12298vboxsync# $Id$
59190ecd61435d19ba3515b876272aee7bd12298vboxsync## @file
59190ecd61435d19ba3515b876272aee7bd12298vboxsync# Sub-Makefile for the Windows USB drivers.
59190ecd61435d19ba3515b876272aee7bd12298vboxsync#
59190ecd61435d19ba3515b876272aee7bd12298vboxsync
59190ecd61435d19ba3515b876272aee7bd12298vboxsync#
59190ecd61435d19ba3515b876272aee7bd12298vboxsync# Copyright (C) 2006-2007 Oracle Corporation
59190ecd61435d19ba3515b876272aee7bd12298vboxsync#
59190ecd61435d19ba3515b876272aee7bd12298vboxsync# Oracle Corporation confidential
59190ecd61435d19ba3515b876272aee7bd12298vboxsync# All rights reserved
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 = \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync Device/vboxusb.cpp \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync Device/vboxdev.cpp \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync Device/vboxpnp.cpp \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync Device/vboxpwr.cpp \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync Device/vboxrwr.cpp \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync Device/vboxusb.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# VBoxUSBFlt
59190ecd61435d19ba3515b876272aee7bd12298vboxsync#
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncVBoxUSBFlt_TEMPLATE = VBOXR0DRV
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncVBoxUSBFlt_SDKS = W2K3DDK WINPSDKINCS
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncVBoxUSBFlt_DEFS = 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
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncVBoxUSBFlt_LDFLAGS.x86 = -Entry:DriverEntry@8
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncVBoxUSBFlt_LDFLAGS.amd64 = -Entry:DriverEntry
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncVBoxUSBFlt_SOURCES = \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync Filter/USBFilter.c \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync Filter/USBFilt-win32.cpp \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync Filter/USBFilter.rc
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncVBoxUSBFlt_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
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncVBoxUSBMon_SOURCES = \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync Monitor/USBMon.cpp \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync Monitor/USBMonFlt.cpp \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync ../USBFilter.cpp \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync ../VBoxUSBFilterMgr.cpp \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync Monitor/USBMon.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) \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $(PATH_LIB)/SUPR3$(VBOX_SUFF_LIB)
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) \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $(PATH_LIB)/SUPR3$(VBOX_SUFF_LIB)
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) \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $(PATH_LIB)/SUPR3$(VBOX_SUFF_LIB)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync
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
59190ecd61435d19ba3515b876272aee7bd12298vboxsync$(PATH_TARGET)/VBoxUSBCat.dir/VBoxUSB.inf: $(PATH_SUB_CURRENT)/Device/VBoxUSB.inf $(MAKEFILE_CURRENT) | $$(call DIRDEP,$$(@D))
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $(call MSG_GENERATE,install-infs,$@,$<)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $(call VBOX_EDIT_INF_FN,$<,$@)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync
59190ecd61435d19ba3515b876272aee7bd12298vboxsync$(PATH_TARGET)/VBoxUSBMonCat.dir/VBoxUSBMon.inf: $(PATH_SUB_CURRENT)/Monitor/VBoxUSBMon.inf $(MAKEFILE_CURRENT) | $$(call DIRDEP,$$(@D))
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $(call MSG_GENERATE,install-infs,$@,$<)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $(call VBOX_EDIT_INF_FN,$<,$@)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync
59190ecd61435d19ba3515b876272aee7bd12298vboxsync$(PATH_TARGET)/VBoxUSBFltCat.dir/VBoxUSBFlt.inf: $(PATH_SUB_CURRENT)/Filter/VBoxUSBFlt.inf $(MAKEFILE_CURRENT) | $$(call DIRDEP,$$(@D))
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
59190ecd61435d19ba3515b876272aee7bd12298vboxsync$(PATH_TARGET)/VBoxUSBCat.dir/VBoxUSB.sys: $$(TARGET_VBoxUSB) | $$(call DIRDEP,$$(@D))
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
59190ecd61435d19ba3515b876272aee7bd12298vboxsync$(PATH_TARGET)/VBoxUSBMonCat.dir/VBoxUSBMon.sys: $$(TARGET_VBoxUSBMon) | $$(call DIRDEP,$$(@D))
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