VirtualBox

source: vbox/trunk/src/VBox/HostDrivers/VBoxUSB/win/Makefile.kmk@ 37192

Last change on this file since 37192 was 36941, checked in by vboxsync, 14 years ago

usb rework

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 5.2 KB
Line 
1# $Id: Makefile.kmk 36941 2011-05-03 14:56:08Z vboxsync $
2## @file
3# Sub-Makefile for the Windows USB drivers.
4#
5
6#
7# Copyright (C) 2006-2007 Oracle Corporation
8#
9# This file is part of VirtualBox Open Source Edition (OSE), as
10# available from http://www.virtualbox.org. This file is free software;
11# you can redistribute it and/or modify it under the terms of the GNU
12# General Public License (GPL) as published by the Free Software
13# Foundation, in version 2 as it comes in the "COPYING" file of the
14# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
15# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
16#
17
18SUB_DEPTH = ../../../../..
19include $(KBUILD_PATH)/subheader.kmk
20
21LIBRARIES.win += usbd
22SYSMODS.win += VBoxUSB VBoxUSBMon
23PROGRAMS.win += USBInstall USBUninstall USBTest
24INSTALLS.win += install-infs
25
26#
27# usbd
28#
29usbd_TEMPLATE = VBOXR0DRV
30usbd_SOURCES = usbd/usbd.def
31
32#
33# VBoxUSB
34#
35VBoxUSB_TEMPLATE = VBOXR0DRV
36ifdef VBOX_SIGNING_MODE
37 VBoxUSB_NOINST = true
38endif
39VBoxUSB_SDKS = W2K3DDK WINPSDKINCS
40VBoxUSB_DEFS = IN_RT_R0 IN_SUP_R0
41VBoxUSB_LDFLAGS.x86 = -Entry:DriverEntry@8
42VBoxUSB_LDFLAGS.amd64 = -Entry:DriverEntry
43VBoxUSB_SOURCES = \
44 dev/VBoxUsbDev.cpp \
45 dev/VBoxUsbRt.cpp \
46 dev/VBoxUsbPnP.cpp \
47 dev/VBoxUsbPwr.cpp \
48 cmn/VBoxUsbTool.cpp \
49 cmn/VBoxDrvTool.cpp \
50 dev/VBoxUsbDev.rc
51VBoxUSB_LIBS = \
52 $(PATH_SDK_W2K3DDK_LIB)/ntoskrnl.lib \
53 $(PATH_SDK_W2K3DDK_LIB)/hal.lib \
54 $(PATH_LIB)/RuntimeR0Drv$(VBOX_SUFF_LIB) \
55 $(TARGET_usbd)
56
57#
58# VBoxUSBMon
59#
60VBoxUSBMon_TEMPLATE = VBOXR0DRV
61ifdef VBOX_SIGNING_MODE
62 VBoxUSBMon_NOINST = true
63endif
64VBoxUSBMon_INCS := $(PATH_SUB_CURRENT)/..
65VBoxUSBMon_SDKS = W2K3DDK WINPSDKINCS
66VBoxUSBMon_DEFS = IN_RT_R0 IN_SUP_R0 i386=1 STD_CALL CONDITION_HANDLING=1 NT_INST=0 \
67 WIN32=100 _NT1X_=100 WINNT=1 _WIN32_WINNT=0x0501 WINVER=0x0501 _WIN32_IE=0x0600 WIN32_LEAN_AND_MEAN=1 \
68 VBOXUSBFILTERMGR_USB_SPINLOCK
69VBoxUSBMon_LDFLAGS.x86 = -Entry:DriverEntry@8
70VBoxUSBMon_LDFLAGS.amd64 = -Entry:DriverEntry
71ifdef VBOX_USBMON_WITH_FILTER_AUTOAPPLY
72 VBoxUSBMon_DEFS += VBOX_USBMON_WITH_FILTER_AUTOAPPLY
73endif
74VBoxUSBMon_SOURCES = \
75 mon/VBoxUsbMon.cpp \
76 mon/VBoxUsbFlt.cpp \
77 mon/VBoxUsbHook.cpp \
78 cmn/VBoxUsbTool.cpp \
79 cmn/VBoxDrvTool.cpp \
80 ../USBFilter.cpp \
81 ../VBoxUSBFilterMgr.cpp \
82 mon/VBoxUsbMon.rc
83VBoxUSBMon_LIBS = \
84 $(PATH_SDK_W2K3DDK_LIB)/ntoskrnl.lib \
85 $(PATH_SDK_W2K3DDK_LIB)/hal.lib \
86 $(PATH_LIB)/RuntimeR0Drv$(VBOX_SUFF_LIB) \
87 $(TARGET_usbd)
88
89#
90# USBInstall
91#
92USBInstall_TEMPLATE = VBOXR3EXE
93USBInstall_DEFS = IN_RT_R3
94USBInstall_SDKS = WINPSDK W2K3DDK VBOX_NTDLL
95USBInstall_CXXFLAGS = -Gz
96USBInstall_CFLAGS = -Gz
97USBInstall_SOURCES = \
98 Install/USBInstall.cpp
99USBInstall_LIBS = \
100 $(PATH_SDK_W2K3DDK_LIB)/newdev.lib \
101 $(LIB_RUNTIME) \
102 $(PATH_LIB)/SUPR3$(VBOX_SUFF_LIB) \
103 $(TARGET_VBoxDrvCfg)
104
105
106#
107# USBUninstall
108#
109USBUninstall_TEMPLATE = VBOXR3EXE
110USBUninstall_DEFS = IN_RT_R3
111USBUninstall_SDKS = WINPSDK W2K3DDK VBOX_NTDLL
112USBUninstall_CXXFLAGS = -Gz
113USBUninstall_CFLAGS = -Gz
114USBUninstall_SOURCES = \
115 Install/USBUninstall.cpp
116USBUninstall_LIBS = \
117 $(PATH_SDK_W2K3DDK_LIB)/newdev.lib \
118 $(LIB_RUNTIME) \
119 $(PATH_LIB)/SUPR3$(VBOX_SUFF_LIB) \
120 $(TARGET_VBoxDrvCfg)
121
122#
123# USBTest
124#
125USBTest_TEMPLATE = VBOXR3EXE
126USBTest_DEFS = IN_RT_R3
127USBTest_SDKS = WINPSDK W2K3DDK VBOX_NTDLL
128USBTest_CXXFLAGS = -Gz
129USBTest_CFLAGS = -Gz
130USBTest_SOURCES = \
131 testcase/USBTest.cpp
132USBTest_LIBS = \
133 $(PATH_SDK_W2K3DDK_LIB)/newdev.lib \
134 $(LIB_RUNTIME) \
135 $(PATH_LIB)/SUPR3$(VBOX_SUFF_LIB) \
136 $(TARGET_VBoxDrvCfg)
137
138#
139# Install the INF files.
140#
141install-infs_INST = bin/
142install-infs_MODE = a+r,u+w
143install-infs_SOURCES = \
144 $(PATH_TARGET)/VBoxUSBCat.dir/VBoxUSB.inf \
145 $(PATH_TARGET)/VBoxUSBMonCat.dir/VBoxUSBMon.inf
146install-infs_CLEAN = $(install-infs_SOURCES)
147install-infs_BLDDIRS = \
148 $(PATH_TARGET)/VBoxUSBCat.dir \
149 $(PATH_TARGET)/VBoxUSBMonCat.dir
150
151$(PATH_TARGET)/VBoxUSBCat.dir/VBoxUSB.inf: $(PATH_SUB_CURRENT)/dev/VBoxUSB.inf $(MAKEFILE_CURRENT) | $$(dir $$@)
152 $(call MSG_GENERATE,install-infs,$@,$<)
153 $(call VBOX_EDIT_INF_FN,$<,$@)
154
155$(PATH_TARGET)/VBoxUSBMonCat.dir/VBoxUSBMon.inf: $(PATH_SUB_CURRENT)/mon/VBoxUSBMon.inf $(MAKEFILE_CURRENT) | $$(dir $$@)
156 $(call MSG_GENERATE,install-infs,$@,$<)
157 $(call VBOX_EDIT_INF_FN,$<,$@)
158
159ifdef VBOX_SIGNING_MODE
160install-infs_SOURCES += \
161 $(PATH_TARGET)/VBoxUSBCat.dir/VBoxUSB.cat \
162 $(PATH_TARGET)/VBoxUSBCat.dir/VBoxUSB.sys \
163 $(PATH_TARGET)/VBoxUSBMonCat.dir/VBoxUSBMon.cat \
164 $(PATH_TARGET)/VBoxUSBMonCat.dir/VBoxUSBMon.sys
165
166$(PATH_TARGET)/VBoxUSBCat.dir/VBoxUSB.sys: $$(TARGET_VBoxUSB) | $$(dir $$@)
167 $(INSTALL) -m 644 $< $(@D)
168
169$(PATH_TARGET)/VBoxUSBCat.dir/VBoxUSB.cat: \
170 $(PATH_TARGET)/VBoxUSBCat.dir/VBoxUSB.inf \
171 $(PATH_TARGET)/VBoxUSBCat.dir/VBoxUSB.sys
172 $(call MSG_TOOL,Inf2Cat,VBoxUSB-inf,$@,$<)
173 $(call VBOX_MAKE_CAT_FN, $(@D),$@)
174
175$(PATH_TARGET)/VBoxUSBMonCat.dir/VBoxUSBMon.sys: $$(TARGET_VBoxUSBMon) | $$(dir $$@)
176 $(INSTALL) -m 644 $< $(@D)
177
178$(PATH_TARGET)/VBoxUSBMonCat.dir/VBoxUSBMon.cat: \
179 $(PATH_TARGET)/VBoxUSBMonCat.dir/VBoxUSBMon.inf \
180 $(PATH_TARGET)/VBoxUSBMonCat.dir/VBoxUSBMon.sys
181 $(call MSG_TOOL,Inf2Cat,VBoxUSBMon-inf,$@,$<)
182 $(call VBOX_MAKE_CAT_FN, $(@D),$@)
183
184endif # signing
185
186# generate rules
187include $(KBUILD_PATH)/subfooter.kmk
188
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette