VirtualBox

source: vbox/trunk/src/VBox/HostDrivers/VBoxNetFlt/Makefile.kmk@ 40993

Last change on this file since 40993 was 40993, checked in by vboxsync, 13 years ago

NetCfg/win: disable/enable/update HostOnly

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 15.2 KB
Line 
1# $Id: Makefile.kmk 40993 2012-04-19 14:25:38Z vboxsync $
2## @file
3# Sub-Makefile for the Network Filter Driver (VBoxNetFlt).
4#
5
6#
7# Copyright (C) 2008-2010 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
21
22if1of ($(KBUILD_TARGET), darwin win) # this ifeq must go, see @todo around elif
23 #
24 # VBoxNetFlt.sys - The mixed case driver.
25 #
26 SYSMODS += VBoxNetFlt
27 VBoxNetFlt_TEMPLATE = VBOXR0DRV
28 VBoxNetFlt_INST = $(INST_VBOXNETFLT)$(if $(eq $(KBUILD_TARGET),darwin),Contents/MacOS/)
29 if defined(VBOX_SIGNING_MODE) && "$(KBUILD_TARGET)" == "win"
30 VBoxNetFlt_INSTTYPE = none
31 VBoxNetFlt_DEBUG_INSTTYPE = both
32 endif
33 VBoxNetFlt_DEFS = IN_RT_R0 IN_SUP_STATIC
34 VBoxNetFlt_INCS = .
35 VBoxNetFlt_SOURCES.darwin = \
36 darwin/VBoxNetFlt-darwin.cpp
37 VBoxNetFlt_SDKS.win = WINDDKWLH WINPSDKINCS
38 VBoxNetFlt_SOURCES.win = \
39 win/drv/VBoxNetFltP-win.cpp \
40 win/drv/VBoxNetFltM-win.cpp \
41 win/drv/VBoxNetFltRt-win.cpp \
42 win/drv/VBoxNetFlt-win.rc
43 # with WINDDKWLH the WIN9X_COMPAT_SPINLOCK is needed to avoid inline declaration of KeInitializeSpinLock
44 # otherwise the linker would complain about dumplicate _KeInitializeSpinLock@4 definition
45 # in ntoskrnl.lib and our object files
46 VBoxNetFlt_DEFS.win += WIN9X_COMPAT_SPINLOCK=1
47 VBoxNetFlt_DEFS.win += VBOXNETFLT_STATIC_CONFIG
48 VBoxNetFlt_DEFS.win += VBOXNETFLT_NO_PACKET_QUEUE
49 VBoxNetFlt_DEFS.win += NDIS_MINIPORT_DRIVER NDIS_WDM=1 BINARY_COMPATIBLE=0
50 VBoxNetFlt_DEFS.win += NDIS50_MINIPORT=1 NDIS50=1
51 ifdef VBOX_LOOPBACK_USEFLAGS
52 VBoxNetFlt_DEFS.win += VBOX_LOOPBACK_USEFLAGS
53 endif
54 VBoxNetFlt_SOURCES = VBoxNetFlt.c
55 #VBoxNetFlt_LDFLAGS.darwin = -v -Wl,-whyload -Wl,-v -Wl,-whatsloaded
56 VBoxNetFlt_LDFLAGS.win.x86 = -Entry:DriverEntry@8
57 VBoxNetFlt_LDFLAGS.win.amd64 = -Entry:DriverEntry
58 VBoxNetFlt_LIBS.win = \
59 $(PATH_SDK_WINDDKWLH_LIB)/ntoskrnl.lib \
60 $(PATH_SDK_WINDDKWLH_LIB)/hal.lib \
61 $(PATH_SDK_WINDDKWLH_LIB)/ndis.lib \
62 $(PATH_STAGE_LIB)/RuntimeR0Drv$(VBOX_SUFF_LIB)
63 VBoxNetFlt_LIBS = \
64 $(PATH_STAGE_LIB)/SUPR0IdcClient$(VBOX_SUFF_LIB)
65
66 darwin/VBoxNetFlt-darwin.cpp_DEFS = VBOX_SVN_REV=$(VBOX_SVN_REV)
67
68
69# Darwin extras.
70ifeq ($(KBUILD_TARGET),darwin)
71 INSTALLS += VBoxNetFlt.kext
72 VBoxNetFlt.kext_INST = $(INST_VBOXNETFLT)Contents/
73 VBoxNetFlt.kext_SOURCES = \
74 $(VBoxNetFlt.kext_0_OUTDIR)/Info.plist
75 VBoxNetFlt.kext_CLEAN = \
76 $(VBoxNetFlt.kext_0_OUTDIR)/Info.plist
77
78$$(VBoxNetFlt.kext_0_OUTDIR)/Info.plist: $(PATH_SUB_CURRENT)/darwin/Info.plist $(VBOX_VERSION_MK) | $$(dir $$@)
79 $(call MSG_GENERATE,VBoxNetFlt,$@,$<)
80 $(QUIET)$(RM) -f $@
81 $(QUIET)$(SED) \
82 -e 's/@VBOX_VERSION_STRING@/$(VBOX_VERSION_STRING)/g' \
83 -e 's/@VBOX_VERSION_MAJOR@/$(VBOX_VERSION_MAJOR)/g' \
84 -e 's/@VBOX_VERSION_MINOR@/$(VBOX_VERSION_MINOR)/g' \
85 -e 's/@VBOX_VERSION_BUILD@/$(VBOX_VERSION_BUILD)/g' \
86 -e 's/@VBOX_VENDOR@/$(VBOX_VENDOR)/g' \
87 -e 's/@VBOX_PRODUCT@/$(VBOX_PRODUCT)/g' \
88 -e 's/@VBOX_C_YEAR@/$(VBOX_C_YEAR)/g' \
89 --output $@ \
90 $<
91
92 INSTALLS.darwin += Scripts-darwin
93 Scripts-darwin_INST = $(INST_DIST)
94 Scripts-darwin_EXEC_SOURCES = \
95 darwin/loadnetflt.sh
96endif # darwin
97
98
99ifeq ($(KBUILD_TARGET),win)
100 #
101 # Windows extras.
102 #
103 INSTALLS.win += VBoxNetFlt-inf
104 VBoxNetFlt-inf_INST = $(INST_BIN)
105 VBoxNetFlt-inf_SOURCES = \
106 $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.inf \
107 $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFltM.inf
108 VBoxNetFlt-inf_CLEAN = $(VBoxNetFlt-inf_SOURCES)
109 VBoxNetFlt-inf_BLDDIRS = $(PATH_TARGET)/VBoxNetFltCat.dir
110
111$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.inf: $(PATH_SUB_CURRENT)/win/drv/VBoxNetFlt.inf $(MAKEFILE_CURRENT) | $$(dir $$@)
112 $(call MSG_GENERATE,VBoxNetFlt-inf,$@,$<)
113 $(call VBOX_EDIT_INF_FN,$<,$@)
114
115$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFltM.inf: $(PATH_SUB_CURRENT)/win/drv/VBoxNetFltM.inf $(MAKEFILE_CURRENT) | $$(dir $$@)
116 $(call MSG_GENERATE,VBoxNetFlt-inf,$@,$<)
117 $(call VBOX_EDIT_INF_FN,$<,$@)
118
119 ifdef VBOX_SIGNING_MODE
120VBoxNetFlt-inf_SOURCES += \
121 $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.sys \
122 $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFltNobj.dll \
123 $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.cat
124
125$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.sys: $$(VBoxNetFlt_1_TARGET) | $$(dir $$@)
126 $(INSTALL) -m 644 $< $(@D)
127
128$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFltNobj.dll: $$(VBoxNetFltNobj_1_TARGET) | $$(dir $$@)
129 $(INSTALL) -m 644 $< $(@D)
130
131$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.cat: \
132 $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.sys \
133 $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFltNobj.dll \
134 $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.inf \
135 $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFltM.inf
136 $(call MSG_TOOL,Inf2Cat,VBoxNetFlt-inf,$@,$<)
137 $(call VBOX_MAKE_CAT_FN, $(@D),$@)
138
139 endif # signing
140
141 #
142 # WinNetConfig - static library with host network interface config API
143 #
144 LIBRARIES.win += WinNetConfig
145 WinNetConfig_TEMPLATE = VBOXR3STATIC
146 WinNetConfig_DEFS = _WIN32_WINNT=0x0501 _UNICODE UNICODE
147 WinNetConfig_SDKS = WINPSDK W2K3DDK
148 WinNetConfig_SOURCES = \
149 win/cfg/VBoxNetCfg.cpp
150 WinNetConfig_INCS.win += $(PATH_TOOL_$(VBOX_VCC_TOOL)_INC)
151
152 #
153 # NetFltInstall
154 #
155 PROGRAMS.win += NetFltInstall
156 NetFltInstall_TEMPLATE = VBOXR3STATIC
157 NetFltInstall_SDKS = WINPSDK W2K3DDK VBOX_NTDLL
158 NetFltInstall_SOURCES = win/tools/VBoxNetFltInstall.cpp
159 NetFltInstall_LIBS = \
160 $(WinNetConfig_1_TARGET) \
161 $(VBoxDrvCfg_1_TARGET) \
162 $(PATH_SDK_W2K3DDK_LIB)/Newdev.lib \
163 $(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/comsupp.lib \
164 $(PATH_SDK_WINPSDK_LIB)/WbemUuid.Lib
165
166
167 #
168 # NetFltUninstall
169 #
170 PROGRAMS.win += NetFltUninstall
171 NetFltUninstall_TEMPLATE = VBOXR3STATIC
172 NetFltUninstall_SDKS = WINPSDK W2K3DDK VBOX_NTDLL
173 NetFltUninstall_SOURCES = win/tools/VBoxNetFltUninstall.cpp
174 NetFltUninstall_LIBS = \
175 $(WinNetConfig_1_TARGET) \
176 $(VBoxDrvCfg_1_TARGET) \
177 $(PATH_SDK_W2K3DDK_LIB)/Newdev.lib \
178 $(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/comsupp.lib \
179 $(PATH_SDK_WINPSDK_LIB)/WbemUuid.Lib
180
181 #
182 # NetAdpInstall
183 #
184 PROGRAMS.win += NetAdpInstall
185 NetAdpInstall_TEMPLATE = VBOXR3STATIC
186 NetAdpInstall_SDKS = WINPSDK W2K3DDK VBOX_NTDLL
187 NetAdpInstall_SOURCES = win/tools/VBoxNetAdpInstall.cpp
188 NetAdpInstall_LIBS = \
189 $(WinNetConfig_1_TARGET) \
190 $(VBoxDrvCfg_1_TARGET) \
191 $(PATH_SDK_W2K3DDK_LIB)/Newdev.lib \
192 $(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/comsupp.lib \
193 $(PATH_SDK_WINPSDK_LIB)/WbemUuid.Lib
194
195
196 #
197 # NetAdpUninstall
198 #
199 PROGRAMS.win += NetAdpUninstall
200 NetAdpUninstall_TEMPLATE = VBOXR3STATIC
201 NetAdpUninstall_SDKS = WINPSDK W2K3DDK VBOX_NTDLL
202 NetAdpUninstall_SOURCES = win/tools/VBoxNetAdpUninstall.cpp
203 NetAdpUninstall_LIBS = \
204 $(WinNetConfig_1_TARGET) \
205 $(VBoxDrvCfg_1_TARGET) \
206 $(PATH_SDK_W2K3DDK_LIB)/Newdev.lib \
207 $(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/comsupp.lib \
208 $(PATH_SDK_WINPSDK_LIB)/WbemUuid.Lib
209
210 #
211 # VBoxNetFltNobj
212 #
213 DLLS.win += VBoxNetFltNobj
214 VBoxNetFltNobj_TEMPLATE = VBOXR3STATIC
215 if defined(VBOX_SIGNING_MODE)
216 VBoxNetFltNobj_INSTTYPE = none
217 VBoxNetFltNobj_DEBUG_INSTTYPE = both
218 endif
219 VBoxNetFltNobj_SDKS = WINPSDK W2K3DDK VBOX_NTDLL
220 VBoxNetFltNobj_DEFS = _WIN32_WINNT=0x0500 WIN32 _ATL_STATIC_REGISTRY
221 VBoxNetFltNobj_INCS = \
222 $(VBoxNetFltNobj_0_OUTDIR)
223 VBoxNetFltNobj_SOURCES = \
224 win/nobj/VBoxNetFltNobj.cpp \
225 win/nobj/VBoxNetFltNobj.def \
226 win/nobj/VBoxNetFltNobj.rc
227 VBoxNetFltNobj_LIBS = \
228 $(PATH_TOOL_$(VBOX_VCC_TOOL)_ATLMFC_LIB)/atls$(VBOX_VCC_CRT_TYPE).lib
229 #VBoxNetFltNobj_INTERMEDIATES =
230 VBoxNetFltNobj_DEPS = \
231 $(VBoxNetFltNobj_0_OUTDIR)/VBoxNetFltNobjT_i.c \
232 $(VBoxNetFltNobj_0_OUTDIR)/VBoxNetFltNobjT_p.c \
233 $(VBoxNetFltNobj_0_OUTDIR)/VBoxNetFltNobjT.h \
234 $(VBoxNetFltNobj_0_OUTDIR)/dlldata.c \
235 $(VBoxNetFltNobj_0_OUTDIR)/VBoxNetFltNobjT.tlb
236 VBoxNetFltNobj_CLEAN = $(VBoxNetFltNobj_DEPS)
237
238 VBOXNETFLT_NOBJ_IDL ?= $(EXEC_X86_WIN32) $(call VBOX_FN_MAKE_WIN_PATH,$(firstword $(wildcard \
239 $(PATH_SDK_WINPSDK_BIN)/Midl.Exe\
240 $(PATH_SDK_WINPSDK)/Bin/Midl.Exe\
241 $(PATH_DEVTOOLS)/win.x86/bin/midl.exe\
242 ) Sorry_Cannot_Find_The_Midl_Compiler_In_The_PSDK))
243
244$$(VBoxNetFltNobj_0_OUTDIR)/VBoxNetFltNobjT_i.c \
245+ $$(VBoxNetFltNobj_0_OUTDIR)/VBoxNetFltNobjT_p.c \
246+ $$(VBoxNetFltNobj_0_OUTDIR)/VBoxNetFltNobjT.h \
247+ $$(VBoxNetFltNobj_0_OUTDIR)/dlldata.c \
248+ $$(VBoxNetFltNobj_0_OUTDIR)/VBoxNetFltNobjT.tlb: \
249 $(PATH_SUB_CURRENT)/win/nobj/VBoxNetFltNobjT.idl \
250 | $$(dir $$@)
251 $(VBOXNETFLT_NOBJ_IDL) /nologo \
252 /out $(call VBOX_FN_MAKE_WIN_PATH,$(VBoxNetFltNobj_0_OUTDIR)) \
253 /cpp_cmd $(subst $(EXEC_X86_WIN32),,$(call VBOX_FN_MAKE_WIN_PATH,$(TOOL_$(VBOX_VCC_TOOL)_CC))) \
254 $(addprefix /I , $(call VBOX_FN_MAKE_WIN_PATH,$(SDK_W2K3DDK_INCS))) \
255 $(call VBOX_FN_MAKE_WIN_PATH,$<)
256
257 #
258 # VBoxNetAdp.sys - The VirtualBox Adapter miniport driver.
259 #
260 SYSMODS.win += VBoxNetAdp
261 VBoxNetAdp_TEMPLATE = VBOXR0DRV
262 #VBoxNetAdp_INST = $(INST_VBOXNETADP)
263 if defined(VBOX_SIGNING_MODE)
264 VBoxNetAdp_INSTTYPE = none
265 VBoxNetAdp_DEBUG_INSTTYPE = both
266 endif
267 VBoxNetAdp_DEFS = IN_RT_R0 IN_SUP_STATIC
268 VBoxNetAdp_INCS := $(PATH_SUB_CURRENT)
269 VBoxNetAdp_SDKS = WINDDKWLH WINPSDKINCS
270 VBoxNetAdp_SOURCES = \
271 VBoxNetFlt.c \
272 win/drv/VBoxNetFltM-win.cpp \
273 win/drv/VBoxNetFltRt-win.cpp \
274 win/drv/VBoxNetFlt-win.rc
275 VBoxNetAdp_DEFS += VBOXNETFLT_STATIC_CONFIG VBOXNETADP
276 VBoxNetAdp_DEFS.win += VBOXNETFLT_NO_PACKET_QUEUE
277 VBoxNetAdp_DEFS += NDIS_MINIPORT_DRIVER NDIS_WDM=1 BINARY_COMPATIBLE=0
278 VBoxNetAdp_DEFS += NDIS50_MINIPORT=1 NDIS50=1
279 VBoxNetAdp_LDFLAGS.win.x86 = -Entry:DriverEntry@8
280 VBoxNetAdp_LDFLAGS.win.amd64 = -Entry:DriverEntry
281 VBoxNetAdp_LIBS.win = \
282 $(PATH_SDK_W2K3DDK_LIB)/ntoskrnl.lib \
283 $(PATH_SDK_W2K3DDK_LIB)/hal.lib \
284 $(PATH_SDK_W2K3DDK_LIB)/ndis.lib \
285 $(PATH_STAGE_LIB)/RuntimeR0Drv$(VBOX_SUFF_LIB)
286 VBoxNetAdp_LIBS = \
287 $(PATH_STAGE_LIB)/SUPR0IdcClient$(VBOX_SUFF_LIB)
288
289
290 INSTALLS.win += VBoxNetAdp-inf
291 VBoxNetAdp-inf_INST = $(INST_BIN)
292 VBoxNetAdp-inf_MODE = a+r,u+w
293 VBoxNetAdp-inf_SOURCES = \
294 $(PATH_TARGET)/VBoxNetAdpCat.dir/VBoxNetAdp.inf
295 VBoxNetAdp-inf_CLEAN = $(VBoxNetAdp-inf_SOURCES)
296 VBoxNetAdp-inf_BLDDIRS = $(PATH_TARGET)/VBoxNetAdpCat.dir
297
298$(PATH_TARGET)/VBoxNetAdpCat.dir/VBoxNetAdp.inf: $(PATH_SUB_CURRENT)/win/drv/VBoxNetAdp.inf $(MAKEFILE_CURRENT) | $$(dir $$@)
299 $(call MSG_GENERATE,VBoxNetAdp-inf,$@,$<)
300 $(call VBOX_EDIT_INF_FN,$<,$@)
301
302 ifdef VBOX_SIGNING_MODE
303VBoxNetAdp-inf_SOURCES += \
304 $(PATH_TARGET)/VBoxNetAdpCat.dir/VBoxNetAdp.sys \
305 $(PATH_TARGET)/VBoxNetAdpCat.dir/VBoxNetAdp.cat
306
307$(PATH_TARGET)/VBoxNetAdpCat.dir/VBoxNetAdp.sys: $$(VBoxNetAdp_1_TARGET) | $$(dir $$@)
308 $(INSTALL) -m 644 $< $(@D)
309
310$(PATH_TARGET)/VBoxNetAdpCat.dir/VBoxNetAdp.cat: \
311 $(PATH_TARGET)/VBoxNetAdpCat.dir/VBoxNetAdp.sys \
312 $(PATH_TARGET)/VBoxNetAdpCat.dir/VBoxNetAdp.inf
313 $(call MSG_TOOL,Inf2Cat,VBoxNetFlt-inf,$@,$<)
314 $(call VBOX_MAKE_CAT_FN, $(@D),$@)
315
316 endif # ifdef VBOX_SIGNING_MODE
317
318endif #ifeq ($(KBUILD_TARGET), win)
319
320else if1of ($(KBUILD_TARGET), linux solaris freebsd) ## @todo merge this with the mixed case stuff.
321#
322# vboxnetflt(.ko/.o/) - The lower case driver.
323# Note! On Solaris the name has to be <= 8 chars long.
324#
325 ifdef VBOX_WITH_VBOXDRV
326 SYSMODS += vboxnetflt
327 vboxnetflt_TEMPLATE = VBOXR0DRV
328 vboxnetflt_NAME.solaris = vboxflt
329 vboxnetflt_DEFS.linux = KBUILD_MODNAME=KBUILD_STR\(vboxnetflt\) KBUILD_BASENAME=KBUILD_STR\(vboxnetflt\) MODULE
330 vboxnetflt_DEFS = IN_RT_R0
331 vboxnetflt_DEPS.solaris += $(VBOX_SVN_REV_KMK)
332 vboxnetflt_INCS.linux := \
333 $(PATH_ROOT)/src/VBox/Runtime/r0drv/linux
334 vboxnetflt_INCS := \
335 $(PATH_SUB_CURRENT)
336 vboxnetflt_LDFLAGS.solaris += -N drv/vboxdrv -N misc/ctf
337 vboxnetflt_LIBS = \
338 $(PATH_STAGE_LIB)/SUPR0IdcClient$(VBOX_SUFF_LIB)
339 ## @todo vboxflt should resolves all the IPRT bits from vboxdrv.
340 #vboxnetflt_LIBS += \
341 # $(PATH_STAGE_LIB)/RuntimeR0Drv$(VBOX_SUFF_LIB)
342 vboxnetflt_SOURCES.linux = linux/VBoxNetFlt-linux.c
343 vboxnetflt_SOURCES.solaris = solaris/VBoxNetFlt-solaris.c
344 vboxnetflt_SOURCES.freebsd = freebsd/VBoxNetFlt-freebsd.c
345 vboxnetflt_SOURCES = VBoxNetFlt.c
346 solaris/VBoxNetFlt-solaris.c_DEFS = VBOX_SVN_REV=$(VBOX_SVN_REV)
347
348 ifdef VBOX_WITH_NETFLT_CROSSBOW
349 SYSMODS += vboxnetbow
350 vboxnetbow_TEMPLATE = VBOXR0DRV
351 vboxnetbow_NAME = vboxbow
352 vboxnetbow_DEFS = vboxnetflt_DEFS VBOX_WITH_NETFLT_CROSSBOW
353 vboxnetbow_INCS := $(PATH_SUB_CURRENT)
354 vboxnetbow_LDFLAGS += -N drv/vboxdrv -N drv/vnic -N misc/mac -N misc/dls
355 vboxnetbow_LIBS = \
356 $(PATH_STAGE_LIB)/SUPR0IdcClient$(VBOX_SUFF_LIB)
357 vboxnetbow_SOURCES.solaris = solaris/VBoxNetFltBow-solaris.c
358 vboxnetbow_SOURCES = VBoxNetFlt.c
359 solaris/VBoxNetFltBow-solaris.c_DEFS = VBOX_SVN_REV=$(VBOX_SVN_REV)
360 endif # VBOX_WITH_NETFLT_CROSSBOW
361 endif # VBOX_WITH_VBOXDRV
362endif # to be removed.
363
364
365ifeq ($(KBUILD_TARGET),linux)
366 #
367 # Install source files for compilation on Linux.
368 # files_vboxnetflt defines VBOX_VBOXNETFLT_SOURCES.
369 #
370 include $(PATH_SUB_CURRENT)/linux/files_vboxnetflt
371 INSTALLS += VBoxNetFlt-src VBoxNetFlt-sh
372 VBoxNetFlt-src_INST = bin/src/vboxnetflt/
373 VBoxNetFlt-src_SOURCES = \
374 $(subst $(DQUOTE),,$(VBOX_VBOXNETFLT_SOURCES)) \
375 $(VBoxNetFlt-src_0_OUTDIR)/Makefile
376 VBoxNetFlt-src_EXEC_SOURCES = \
377 $(PATH_ROOT)/src/VBox/HostDrivers/linux/do_Module.symvers
378 VBoxNetFlt-src_CLEAN = \
379 $(VBoxNetFlt-src_0_OUTDIR)/Makefile \
380 $(PATH_TARGET)/VBoxNetFlt-src-1.dep \
381
382 # Scripts needed for building the kernel module.
383
384 includedep $(PATH_TARGET)/VBoxNetFlt-src-1.dep
385 $$(VBoxNetFlt-src_0_OUTDIR)/Makefile: \
386 $(PATH_SUB_CURRENT)/linux/Makefile \
387 $$(if $$(eq $$(VBoxNetFlt/linux/Makefile_VBOX_HARDENED),$$(VBOX_WITH_HARDENING)),,FORCE) \
388 | $$(dir $$@)
389 $(QUIET)$(RM) -f -- $@
390 ifndef VBOX_WITH_HARDENING
391 $(QUIET)$(SED) -e "s;-DVBOX_WITH_HARDENING;;g" --output $@ $<
392 else
393 $(QUIET)$(CP) -f $< $@
394 endif
395 %$(QUIET2)$(RM) -f -- $(PATH_TARGET)/VBoxNetFlt-src-1.dep
396 %$(QUIET2)$(APPEND) '$(PATH_TARGET)/VBoxNetFlt-src-1.dep' 'VBoxNetFlt/linux/Makefile_VBOX_HARDENED=$(VBOX_WITH_HARDENING)'
397
398endif # linux
399
400# Gross hack for FreeBSD 7, should figure this out properly
401## @todo Properly generate opt_netgraph.h
402ifeq ($(KBUILD_TARGET),freebsd)
403 vboxnetflt_DEPS.freebsd += $(PATH_OUT)/opt_netgraph.h
404$(PATH_OUT)/opt_netgraph.h:
405 echo > $(PATH_OUT)/opt_netgraph.h
406
407 #
408 # Install source files for compilation on FreeBSD.
409 # files_vboxnetflt defines VBOX_VBOXNETFLT_SOURCES.
410 #
411 include $(PATH_SUB_CURRENT)/freebsd/files_vboxnetflt
412 INSTALLS += VBoxNetFlt-src
413 VBoxNetFlt-src_INST = bin/src/vboxnetflt/
414 VBoxNetFlt-src_SOURCES = \
415 $(subst $(DQUOTE),,$(VBOX_VBOXNETFLT_SOURCES)) \
416 $(VBoxNetFlt-src_0_OUTDIR)/Makefile
417 VBoxNetFlt-src_CLEAN = \
418 $(VBoxNetFlt-src_0_OUTDIR)/Makefile \
419
420 $$(VBoxNetFlt-src_0_OUTDIR)/Makefile: \
421 $(PATH_SUB_CURRENT)/freebsd/Makefile \
422 $$(if $$(eq $$(VBoxNetFlt/freebsd/Makefile_VBOX_HARDENED),$$(VBOX_WITH_HARDENING)),,FORCE) \
423 | $$(dir $$@)
424 $(QUIET)$(RM) -f -- $@
425 $(QUIET)$(CP) -f $< $@
426 ifndef VBOX_WITH_HARDENING
427 $(QUIET)$(SED) -e "s;-DVBOX_WITH_HARDENING;;g" --output [email protected] $@
428 ${QUIET}$(MV) -f [email protected] $@
429 endif
430 ifndef VBOX_WITH_NETFLT_VIMAGE
431 $(QUIET)$(SED) -e "s;-DVIMAGE;;g" --output [email protected] $@
432 ${QUIET}$(MV) -f [email protected] $@
433 endif
434endif # freebsd
435
436include $(KBUILD_PATH)/subfooter.kmk
437
Note: See TracBrowser for help on using the repository browser.

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