VirtualBox

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

Last change on this file since 54558 was 42154, checked in by vboxsync, 12 years ago

VS2010 preps.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 5.7 KB
Line 
1# $Id: Makefile.kmk 42154 2012-07-13 23:00:53Z vboxsync $
2## @file
3# Sub-Makefile for the Windows USB drivers.
4#
5
6#
7# Copyright (C) 2006-2012 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_INSTTYPE = none
38 VBoxUSB_DEBUG_INSTTYPE = both
39endif
40VBoxUSB_SDKS = ReorderCompilerIncs $(VBOX_WINDDK) $(VBOX_WINPSDK)INCS
41VBoxUSB_DEFS = IN_RT_R0 IN_SUP_R0 VBOX_DBG_LOG_NAME=\"USBDev\"
42VBoxUSB_LDFLAGS.x86 = -Entry:DriverEntry@8
43VBoxUSB_LDFLAGS.amd64 = -Entry:DriverEntry
44VBoxUSB_SOURCES = \
45 dev/VBoxUsbDev.cpp \
46 dev/VBoxUsbRt.cpp \
47 dev/VBoxUsbPnP.cpp \
48 dev/VBoxUsbPwr.cpp \
49 cmn/VBoxUsbTool.cpp \
50 cmn/VBoxDrvTool.cpp \
51 dev/VBoxUsbDev.rc
52VBoxUSB_LIBS = \
53 $(PATH_SDK_$(VBOX_WINDDK)_LIB)/ntoskrnl.lib \
54 $(PATH_SDK_$(VBOX_WINDDK)_LIB)/hal.lib \
55 $(PATH_STAGE_LIB)/RuntimeR0Drv$(VBOX_SUFF_LIB) \
56 $(usbd_1_TARGET)
57
58#
59# VBoxUSBMon
60#
61VBoxUSBMon_TEMPLATE = VBOXR0DRV
62ifdef VBOX_SIGNING_MODE
63 VBoxUSBMon_INSTTYPE = none
64 VBoxUSBMon_DEBUG_INSTTYPE = both
65endif
66VBoxUSBMon_INCS := $(PATH_SUB_CURRENT)/..
67VBoxUSBMon_SDKS = ReorderCompilerIncs $(VBOX_WINDDK) $(VBOX_WINPSDK)INCS
68VBoxUSBMon_DEFS = IN_RT_R0 IN_SUP_R0 i386=1 STD_CALL CONDITION_HANDLING=1 NT_INST=0 \
69 WIN32=100 _NT1X_=100 WINNT=1 _WIN32_WINNT=0x0501 WINVER=0x0501 _WIN32_IE=0x0600 WIN32_LEAN_AND_MEAN=1 \
70 VBOXUSBFILTERMGR_USB_SPINLOCK VBOX_DBG_LOG_NAME=\"USBMon\"
71VBoxUSBMon_LDFLAGS.x86 = -Entry:DriverEntry@8
72VBoxUSBMon_LDFLAGS.amd64 = -Entry:DriverEntry
73ifdef VBOX_USBMON_WITH_FILTER_AUTOAPPLY
74 VBoxUSBMon_DEFS += VBOX_USBMON_WITH_FILTER_AUTOAPPLY
75endif
76VBoxUSBMon_SOURCES = \
77 mon/VBoxUsbMon.cpp \
78 mon/VBoxUsbFlt.cpp \
79 mon/VBoxUsbHook.cpp \
80 cmn/VBoxUsbTool.cpp \
81 cmn/VBoxDrvTool.cpp \
82 ../USBFilter.cpp \
83 ../VBoxUSBFilterMgr.cpp \
84 mon/VBoxUsbMon.rc
85VBoxUSBMon_LIBS = \
86 $(PATH_SDK_$(VBOX_WINDDK)_LIB)/ntoskrnl.lib \
87 $(PATH_SDK_$(VBOX_WINDDK)_LIB)/hal.lib \
88 $(PATH_STAGE_LIB)/RuntimeR0Drv$(VBOX_SUFF_LIB) \
89 $(usbd_1_TARGET)
90if1of ($(KBUILD_TYPE), debug)
91VBoxUSBMon_DEFS += LOG_ENABLED VBOX_USB_WITH_VERBOSE_LOGGING
92endif
93
94#
95# USBInstall
96#
97USBInstall_TEMPLATE = VBOXR3EXE
98USBInstall_DEFS = IN_RT_R3
99USBInstall_SDKS = ReorderCompilerIncs $(VBOX_WINPSDK) $(VBOX_WINDDK) VBOX_NTDLL
100USBInstall_CXXFLAGS = -Gz
101USBInstall_CFLAGS = -Gz
102USBInstall_SOURCES = \
103 Install/USBInstall.cpp
104USBInstall_LIBS = \
105 $(PATH_SDK_$(VBOX_WINDDK)_LIB)/newdev.lib \
106 $(LIB_RUNTIME) \
107 $(PATH_STAGE_LIB)/SUPR3$(VBOX_SUFF_LIB) \
108 $(PATH_STAGE_LIB)/VBoxDrvCfg$(VBOX_SUFF_LIB)
109
110
111#
112# USBUninstall
113#
114USBUninstall_TEMPLATE = VBOXR3EXE
115USBUninstall_DEFS = IN_RT_R3
116USBUninstall_SDKS = ReorderCompilerIncs $(VBOX_WINPSDK) $(VBOX_WINDDK) VBOX_NTDLL
117USBUninstall_CXXFLAGS = -Gz
118USBUninstall_CFLAGS = -Gz
119USBUninstall_SOURCES = \
120 Install/USBUninstall.cpp
121USBUninstall_LIBS = \
122 $(PATH_SDK_$(VBOX_WINDDK)_LIB)/newdev.lib \
123 $(LIB_RUNTIME) \
124 $(PATH_STAGE_LIB)/SUPR3$(VBOX_SUFF_LIB) \
125 $(PATH_STAGE_LIB)/VBoxDrvCfg$(VBOX_SUFF_LIB)
126
127#
128# USBTest
129#
130USBTest_TEMPLATE = VBOXR3EXE
131USBTest_DEFS = IN_RT_R3
132USBTest_SDKS = ReorderCompilerIncs $(VBOX_WINPSDK) $(VBOX_WINDDK) VBOX_NTDLL
133USBTest_CXXFLAGS = -Gz
134USBTest_CFLAGS = -Gz
135USBTest_SOURCES = \
136 testcase/USBTest.cpp
137USBTest_LIBS = \
138 $(PATH_SDK_$(VBOX_WINDDK)_LIB)/newdev.lib \
139 $(LIB_RUNTIME) \
140 $(PATH_STAGE_LIB)/SUPR3$(VBOX_SUFF_LIB) \
141 $(PATH_STAGE_LIB)/VBoxDrvCfg$(VBOX_SUFF_LIB)
142
143#
144# Install the INF files.
145#
146install-infs_INST = bin/
147install-infs_MODE = a+r,u+w
148install-infs_SOURCES = \
149 $(PATH_TARGET)/VBoxUSBCat.dir/VBoxUSB.inf \
150 $(PATH_TARGET)/VBoxUSBMonCat.dir/VBoxUSBMon.inf
151install-infs_CLEAN = $(install-infs_SOURCES)
152install-infs_BLDDIRS = \
153 $(PATH_TARGET)/VBoxUSBCat.dir \
154 $(PATH_TARGET)/VBoxUSBMonCat.dir
155
156$(PATH_TARGET)/VBoxUSBCat.dir/VBoxUSB.inf: $(PATH_SUB_CURRENT)/dev/VBoxUSB.inf $(MAKEFILE_CURRENT) | $$(dir $$@)
157 $(call MSG_GENERATE,install-infs,$@,$<)
158 $(call VBOX_EDIT_INF_FN,$<,$@)
159
160$(PATH_TARGET)/VBoxUSBMonCat.dir/VBoxUSBMon.inf: $(PATH_SUB_CURRENT)/mon/VBoxUSBMon.inf $(MAKEFILE_CURRENT) | $$(dir $$@)
161 $(call MSG_GENERATE,install-infs,$@,$<)
162 $(call VBOX_EDIT_INF_FN,$<,$@)
163
164ifdef VBOX_SIGNING_MODE
165install-infs_SOURCES += \
166 $(PATH_TARGET)/VBoxUSBCat.dir/VBoxUSB.cat \
167 $(PATH_TARGET)/VBoxUSBCat.dir/VBoxUSB.sys \
168 $(PATH_TARGET)/VBoxUSBMonCat.dir/VBoxUSBMon.cat \
169 $(PATH_TARGET)/VBoxUSBMonCat.dir/VBoxUSBMon.sys
170
171$(PATH_TARGET)/VBoxUSBCat.dir/VBoxUSB.sys: $$(VBoxUSB_1_TARGET) | $$(dir $$@)
172 $(INSTALL) -m 644 $< $(@D)
173
174$(PATH_TARGET)/VBoxUSBCat.dir/VBoxUSB.cat: \
175 $(PATH_TARGET)/VBoxUSBCat.dir/VBoxUSB.inf \
176 $(PATH_TARGET)/VBoxUSBCat.dir/VBoxUSB.sys
177 $(call MSG_TOOL,Inf2Cat,VBoxUSB-inf,$@,$<)
178 $(call VBOX_MAKE_CAT_FN, $(@D),$@)
179
180$(PATH_TARGET)/VBoxUSBMonCat.dir/VBoxUSBMon.sys: $$(VBoxUSBMon_1_TARGET) | $$(dir $$@)
181 $(INSTALL) -m 644 $< $(@D)
182
183$(PATH_TARGET)/VBoxUSBMonCat.dir/VBoxUSBMon.cat: \
184 $(PATH_TARGET)/VBoxUSBMonCat.dir/VBoxUSBMon.inf \
185 $(PATH_TARGET)/VBoxUSBMonCat.dir/VBoxUSBMon.sys
186 $(call MSG_TOOL,Inf2Cat,VBoxUSBMon-inf,$@,$<)
187 $(call VBOX_MAKE_CAT_FN, $(@D),$@)
188
189endif # signing
190
191# generate rules
192include $(FILE_KBUILD_SUB_FOOTER)
193
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