Makefile.kmk revision 73e8df2e481cb3697372a3cf4acffd068a7f1296
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync# Sub-Makefile for the Network Filter Driver (VBoxNetFlt).
e64031e20c39650a7bc902a3e1aba613b9415deevboxsync# Copyright (C) 2008-2010 Oracle Corporation
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync# available from http://www.virtualbox.org. This file is free software;
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync# you can redistribute it and/or modify it under the terms of the GNU
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync# General Public License (GPL) as published by the Free Software
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync# Foundation, in version 2 as it comes in the "COPYING" file of the
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsyncSUB_DEPTH = ../../../..
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsyncinclude $(KBUILD_PATH)/subheader.kmk
4651430e55b9df9726347e3e3968618e540fe729vboxsyncif1of ($(KBUILD_TARGET), darwin win) # this ifeq must go, see @todo around elif
d5bf937d132098565e18a0d1fc408fb777c5e5b6vboxsync # VBoxNetFlt.sys - The mixed case driver.
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync SYSMODS += VBoxNetFlt
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync VBoxNetFlt_TEMPLATE = VBOXR0DRV
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync VBoxNetFlt_INST = $(INST_VBOXNETFLT)$(if $(eq $(KBUILD_TARGET),darwin),Contents/MacOS/)
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync if defined(VBOX_SIGNING_MODE) && "$(KBUILD_TARGET)" == "win"
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync VBoxNetFlt_INSTTYPE = none
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync VBoxNetFlt_DEBUG_INSTTYPE = both
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync VBoxNetFlt_DEFS = IN_RT_R0 IN_SUP_STATIC
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync VBoxNetFlt_INCS = .
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync VBoxNetFlt_SDKS.win = WINDDKWLH WINPSDKINCS
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync # with WINDDKWLH the WIN9X_COMPAT_SPINLOCK is needed to avoid inline declaration of KeInitializeSpinLock
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync # otherwise the linker would complain about dumplicate _KeInitializeSpinLock@4 definition
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync # in ntoskrnl.lib and our object files
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync VBoxNetFlt_DEFS.win += WIN9X_COMPAT_SPINLOCK=1
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync VBoxNetFlt_DEFS.win += VBOXNETFLT_STATIC_CONFIG
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync VBoxNetFlt_DEFS.win += VBOXNETFLT_NO_PACKET_QUEUE
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync VBoxNetFlt_DEFS.win += NDIS_MINIPORT_DRIVER NDIS_WDM=1 BINARY_COMPATIBLE=0
231051c77670a4142b7545d51bd2251ae603189dvboxsync VBoxNetFlt_DEFS.win += NDIS50_MINIPORT=1 NDIS50=1
231051c77670a4142b7545d51bd2251ae603189dvboxsync ifdef VBOX_LOOPBACK_USEFLAGS
231051c77670a4142b7545d51bd2251ae603189dvboxsync VBoxNetFlt_DEFS.win += VBOX_LOOPBACK_USEFLAGS
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync VBoxNetFlt_SOURCES = VBoxNetFlt.c
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync #VBoxNetFlt_LDFLAGS.darwin = -v -Wl,-whyload -Wl,-v -Wl,-whatsloaded
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync VBoxNetFlt_LDFLAGS.win.x86 = -Entry:DriverEntry@8
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync VBoxNetFlt_LDFLAGS.win.amd64 = -Entry:DriverEntry
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync $(PATH_SDK_WINDDKWLH_LIB)/ntoskrnl.lib \
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync $(PATH_SDK_WINDDKWLH_LIB)/hal.lib \
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync $(PATH_SDK_WINDDKWLH_LIB)/ndis.lib \
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync $(PATH_STAGE_LIB)/RuntimeR0Drv$(VBOX_SUFF_LIB)
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync VBoxNetFlt_LIBS = \
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync $(PATH_STAGE_LIB)/SUPR0IdcClient$(VBOX_SUFF_LIB)
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync darwin/VBoxNetFlt-darwin.cpp_DEFS = VBOX_SVN_REV=$(VBOX_SVN_REV)
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync# Darwin extras.
b2a9ade0eaa3c7b26c02cc05f83c352cafb9e03avboxsyncifeq ($(KBUILD_TARGET),darwin)
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync VBoxNetFlt.kext_INST = $(INST_VBOXNETFLT)Contents/
b2a9ade0eaa3c7b26c02cc05f83c352cafb9e03avboxsync$$(VBoxNetFlt.kext_0_OUTDIR)/Info.plist: $(PATH_SUB_CURRENT)/darwin/Info.plist $(VBOX_VERSION_MK) | $$(dir $$@)
b2a9ade0eaa3c7b26c02cc05f83c352cafb9e03avboxsync $(call MSG_GENERATE,VBoxNetFlt,$@,$<)
b2a9ade0eaa3c7b26c02cc05f83c352cafb9e03avboxsync $(QUIET)$(RM) -f $@
b2a9ade0eaa3c7b26c02cc05f83c352cafb9e03avboxsync $(QUIET)$(SED) \
22ea904a6fe5c95f54c4374502747cc844ce8204vboxsync -e 's/@VBOX_VERSION_STRING@/$(VBOX_VERSION_STRING)/g' \
22ea904a6fe5c95f54c4374502747cc844ce8204vboxsync -e 's/@VBOX_VERSION_MAJOR@/$(VBOX_VERSION_MAJOR)/g' \
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync -e 's/@VBOX_VERSION_MINOR@/$(VBOX_VERSION_MINOR)/g' \
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync -e 's/@VBOX_VERSION_BUILD@/$(VBOX_VERSION_BUILD)/g' \
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync -e 's/@VBOX_VENDOR@/$(VBOX_VENDOR)/g' \
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync -e 's/@VBOX_PRODUCT@/$(VBOX_PRODUCT)/g' \
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync -e 's/@VBOX_C_YEAR@/$(VBOX_C_YEAR)/g' \
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync --output $@ \
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync INSTALLS.darwin += Scripts-darwin
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync Scripts-darwin_INST = $(INST_DIST)
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync Scripts-darwin_EXEC_SOURCES = \
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsyncendif # darwin
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsyncifeq ($(KBUILD_TARGET),win)
6b9316bfe743cc7d2ee00d925f4ab455bc224e86vboxsync # Windows extras.
6b9316bfe743cc7d2ee00d925f4ab455bc224e86vboxsync INSTALLS.win += VBoxNetFlt-inf
6b9316bfe743cc7d2ee00d925f4ab455bc224e86vboxsync VBoxNetFlt-inf_INST = $(INST_BIN)
6b9316bfe743cc7d2ee00d925f4ab455bc224e86vboxsync VBoxNetFlt-inf_SOURCES = \
6b9316bfe743cc7d2ee00d925f4ab455bc224e86vboxsync VBoxNetFlt-inf_CLEAN = $(VBoxNetFlt-inf_SOURCES)
6b9316bfe743cc7d2ee00d925f4ab455bc224e86vboxsync VBoxNetFlt-inf_BLDDIRS = $(PATH_TARGET)/VBoxNetFltCat.dir
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.inf: $(PATH_SUB_CURRENT)/win/drv/VBoxNetFlt.inf $(MAKEFILE_CURRENT) | $$(dir $$@)
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync $(call MSG_GENERATE,VBoxNetFlt-inf,$@,$<)
6b9316bfe743cc7d2ee00d925f4ab455bc224e86vboxsync $(call VBOX_EDIT_INF_FN,$<,$@)
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFltM.inf: $(PATH_SUB_CURRENT)/win/drv/VBoxNetFltM.inf $(MAKEFILE_CURRENT) | $$(dir $$@)
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync $(call MSG_GENERATE,VBoxNetFlt-inf,$@,$<)
6b9316bfe743cc7d2ee00d925f4ab455bc224e86vboxsync $(call VBOX_EDIT_INF_FN,$<,$@)
6b9316bfe743cc7d2ee00d925f4ab455bc224e86vboxsync ifdef VBOX_SIGNING_MODE
6b9316bfe743cc7d2ee00d925f4ab455bc224e86vboxsyncVBoxNetFlt-inf_SOURCES += \
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFltNobj.dll \
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.sys: $$(VBoxNetFlt_1_TARGET) | $$(dir $$@)
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync $(INSTALL) -m 644 $< $(@D)
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFltNobj.dll: $$(VBoxNetFltNobj_1_TARGET) | $$(dir $$@)
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync $(INSTALL) -m 644 $< $(@D)
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFltNobj.dll \
fbf482cad760a830bc8789ad639162019954ba80vboxsync $(call MSG_TOOL,Inf2Cat,VBoxNetFlt-inf,$@,$<)
fbf482cad760a830bc8789ad639162019954ba80vboxsync $(call VBOX_MAKE_CAT_FN, $(@D),$@)
fbf482cad760a830bc8789ad639162019954ba80vboxsync endif # signing
fbf482cad760a830bc8789ad639162019954ba80vboxsync # WinNetConfig - static library with host network interface config API
fbf482cad760a830bc8789ad639162019954ba80vboxsync LIBRARIES.win += WinNetConfig
fbf482cad760a830bc8789ad639162019954ba80vboxsync WinNetConfig_TEMPLATE = VBOXR3STATIC
fbf482cad760a830bc8789ad639162019954ba80vboxsync WinNetConfig_DEFS = _WIN32_WINNT=0x0501 _UNICODE UNICODE
fbf482cad760a830bc8789ad639162019954ba80vboxsync WinNetConfig_SDKS = WINPSDK W2K3DDK
fbf482cad760a830bc8789ad639162019954ba80vboxsync WinNetConfig_SOURCES = \
96eb45983d3cdab98da24ba9a31ef0c6e6021a77vboxsync WinNetConfig_INCS.win += $(PATH_TOOL_$(VBOX_VCC_TOOL)_INC)
fbf482cad760a830bc8789ad639162019954ba80vboxsync # NetFltInstall
fbf482cad760a830bc8789ad639162019954ba80vboxsync PROGRAMS.win += NetFltInstall
fbf482cad760a830bc8789ad639162019954ba80vboxsync NetFltInstall_TEMPLATE = VBOXR3STATIC
fbf482cad760a830bc8789ad639162019954ba80vboxsync NetFltInstall_SDKS = WINPSDK W2K3DDK VBOX_NTDLL
fbf482cad760a830bc8789ad639162019954ba80vboxsync NetFltInstall_SOURCES = win/tools/VBoxNetFltInstall.cpp
fbf482cad760a830bc8789ad639162019954ba80vboxsync NetFltInstall_LIBS = \
fbf482cad760a830bc8789ad639162019954ba80vboxsync $(WinNetConfig_1_TARGET) \
fbf482cad760a830bc8789ad639162019954ba80vboxsync $(VBoxDrvCfg_1_TARGET) \
fbf482cad760a830bc8789ad639162019954ba80vboxsync $(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/comsupp.lib \
fbf482cad760a830bc8789ad639162019954ba80vboxsync $(PATH_SDK_WINPSDK_LIB)/WbemUuid.Lib
fbf482cad760a830bc8789ad639162019954ba80vboxsync # NetFltUninstall
fbf482cad760a830bc8789ad639162019954ba80vboxsync PROGRAMS.win += NetFltUninstall
fbf482cad760a830bc8789ad639162019954ba80vboxsync NetFltUninstall_TEMPLATE = VBOXR3STATIC
fbf482cad760a830bc8789ad639162019954ba80vboxsync NetFltUninstall_SDKS = WINPSDK W2K3DDK VBOX_NTDLL
fbf482cad760a830bc8789ad639162019954ba80vboxsync NetFltUninstall_SOURCES = win/tools/VBoxNetFltUninstall.cpp
fbf482cad760a830bc8789ad639162019954ba80vboxsync NetFltUninstall_LIBS = \
fbf482cad760a830bc8789ad639162019954ba80vboxsync $(WinNetConfig_1_TARGET) \
fbf482cad760a830bc8789ad639162019954ba80vboxsync $(VBoxDrvCfg_1_TARGET) \
fbf482cad760a830bc8789ad639162019954ba80vboxsync $(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/comsupp.lib \
fbf482cad760a830bc8789ad639162019954ba80vboxsync $(PATH_SDK_WINPSDK_LIB)/WbemUuid.Lib
fbf482cad760a830bc8789ad639162019954ba80vboxsync # NetAdpInstall
fbf482cad760a830bc8789ad639162019954ba80vboxsync PROGRAMS.win += NetAdpInstall
fbf482cad760a830bc8789ad639162019954ba80vboxsync NetAdpInstall_TEMPLATE = VBOXR3STATIC
fbf482cad760a830bc8789ad639162019954ba80vboxsync NetAdpInstall_SDKS = WINPSDK W2K3DDK VBOX_NTDLL
fbf482cad760a830bc8789ad639162019954ba80vboxsync NetAdpInstall_SOURCES = win/tools/VBoxNetAdpInstall.cpp
fbf482cad760a830bc8789ad639162019954ba80vboxsync NetAdpInstall_LIBS = \
fbf482cad760a830bc8789ad639162019954ba80vboxsync $(WinNetConfig_1_TARGET) \
fbf482cad760a830bc8789ad639162019954ba80vboxsync $(VBoxDrvCfg_1_TARGET) \
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync $(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/comsupp.lib \
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync $(PATH_SDK_WINPSDK_LIB)/WbemUuid.Lib
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync # NetAdpUninstall
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync PROGRAMS.win += NetAdpUninstall
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync NetAdpUninstall_TEMPLATE = VBOXR3STATIC
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync NetAdpUninstall_SDKS = WINPSDK W2K3DDK VBOX_NTDLL
f7c0f913c4c22ee18059ff97055442566d0f14a1vboxsync NetAdpUninstall_SOURCES = win/tools/VBoxNetAdpUninstall.cpp
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync NetAdpUninstall_LIBS = \
f7c0f913c4c22ee18059ff97055442566d0f14a1vboxsync $(WinNetConfig_1_TARGET) \
f7c0f913c4c22ee18059ff97055442566d0f14a1vboxsync $(VBoxDrvCfg_1_TARGET) \
f7c0f913c4c22ee18059ff97055442566d0f14a1vboxsync $(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/comsupp.lib \
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync $(PATH_SDK_WINPSDK_LIB)/WbemUuid.Lib
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync # VBoxNetFltNobj
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync DLLS.win += VBoxNetFltNobj
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync VBoxNetFltNobj_TEMPLATE = VBOXR3STATIC
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync if defined(VBOX_SIGNING_MODE)
d5bf937d132098565e18a0d1fc408fb777c5e5b6vboxsync VBoxNetFltNobj_INSTTYPE = none
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync VBoxNetFltNobj_DEBUG_INSTTYPE = both
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync VBoxNetFltNobj_SDKS = WINPSDK W2K3DDK VBOX_NTDLL
468c2bcb36eb9a032f5dd0fcb34db10bd58e9996vboxsync VBoxNetFltNobj_DEFS = _WIN32_WINNT=0x0500 WIN32 _ATL_STATIC_REGISTRY
$(VBoxNetFltNobj_0_OUTDIR)/VBoxNetFltNobjT_i.c \
$(VBoxNetFltNobj_0_OUTDIR)/VBoxNetFltNobjT_p.c \
$(VBoxNetFltNobj_0_OUTDIR)/VBoxNetFltNobjT.h \
$(VBoxNetFltNobj_0_OUTDIR)/dlldata.c \
$(VBoxNetFltNobj_0_OUTDIR)/VBoxNetFltNobjT.tlb
$(PATH_SDK_WINPSDK_BIN)/Midl.Exe\
$(PATH_SDK_WINPSDK)/Bin/Midl.Exe\
$(PATH_DEVTOOLS)/win.x86/bin/midl.exe\
$$(VBoxNetFltNobj_0_OUTDIR)/VBoxNetFltNobjT_i.c \
+ $$(VBoxNetFltNobj_0_OUTDIR)/VBoxNetFltNobjT_p.c \
+ $$(VBoxNetFltNobj_0_OUTDIR)/VBoxNetFltNobjT.h \
+ $$(VBoxNetFltNobj_0_OUTDIR)/dlldata.c \
+ $$(VBoxNetFltNobj_0_OUTDIR)/VBoxNetFltNobjT.tlb: \
$(PATH_SUB_CURRENT)/win/nobj/VBoxNetFltNobjT.idl \
# VBoxNetAdp.sys - The VirtualBox Adapter miniport driver.
SYSMODS.win += VBoxNetAdp
VBoxNetAdp_DEFS.win += VBOXNETFLT_NO_PACKET_QUEUE
VBoxNetAdp_LDFLAGS.win.x86 = -Entry:DriverEntry@8
VBoxNetAdp_LDFLAGS.win.amd64 = -Entry:DriverEntry
$(PATH_SDK_W2K3DDK_LIB)/ntoskrnl.lib \
$(PATH_SDK_W2K3DDK_LIB)/hal.lib \
$(PATH_SDK_W2K3DDK_LIB)/ndis.lib \
INSTALLS.win += VBoxNetAdp-inf
$(PATH_TARGET)/VBoxNetAdpCat.dir/VBoxNetAdp.inf
VBoxNetAdp-inf_BLDDIRS = $(PATH_TARGET)/VBoxNetAdpCat.dir
$(PATH_TARGET)/VBoxNetAdpCat.dir/VBoxNetAdp.inf: $(PATH_SUB_CURRENT)/win/drv/VBoxNetAdp.inf $(MAKEFILE_CURRENT) | $$(dir $$@)
$(PATH_TARGET)/VBoxNetAdpCat.dir/VBoxNetAdp.sys \
$(PATH_TARGET)/VBoxNetAdpCat.dir/VBoxNetAdp.cat
$(PATH_TARGET)/VBoxNetAdpCat.dir/VBoxNetAdp.sys: $$(VBoxNetAdp_1_TARGET) | $$(dir $$@)
$(PATH_TARGET)/VBoxNetAdpCat.dir/VBoxNetAdp.cat: \
$(PATH_TARGET)/VBoxNetAdpCat.dir/VBoxNetAdp.sys \
$(PATH_TARGET)/VBoxNetAdpCat.dir/VBoxNetAdp.inf
vboxnetflt_NAME.solaris = vboxflt
vboxnetflt_DEFS.linux = KBUILD_MODNAME=KBUILD_STR\(vboxnetflt\) KBUILD_BASENAME=KBUILD_STR\(vboxnetflt\) MODULE
vboxnetflt_DEPS.solaris += $(VBOX_SVN_REV_KMK)
$(PATH_ROOT)/src/VBox/Runtime/r0drv/linux
vboxnetflt_SOURCES = VBoxNetFlt.c
solaris/VBoxNetFlt-solaris.c_DEFS = VBOX_SVN_REV=$(VBOX_SVN_REV)
vboxnetbow_SOURCES = VBoxNetFlt.c
solaris/VBoxNetFltBow-solaris.c_DEFS = VBOX_SVN_REV=$(VBOX_SVN_REV)
include $(PATH_SUB_CURRENT)/linux/files_vboxnetflt
VBoxNetFlt-src_INST = bin/src/vboxnetflt/
$(PATH_ROOT)/src/VBox/HostDrivers/linux/do_Module.symvers
$(PATH_TARGET)/VBoxNetFlt-src-1.dep \
includedep $(PATH_TARGET)/VBoxNetFlt-src-1.dep
$(PATH_SUB_CURRENT)/linux/Makefile \
$$(if $$(eq $$(VBoxNetFlt/linux/Makefile_VBOX_HARDENED),$$(VBOX_WITH_HARDENING)),,FORCE) \
%$(QUIET2)$(RM) -f -- $(PATH_TARGET)/VBoxNetFlt-src-1.dep
%$(QUIET2)$(APPEND) '$(PATH_TARGET)/VBoxNetFlt-src-1.dep' 'VBoxNetFlt/linux/Makefile_VBOX_HARDENED=$(VBOX_WITH_HARDENING)'
## @todo Properly generate opt_netgraph.h
$(PATH_OUT)/opt_netgraph.h:
echo > $(PATH_OUT)/opt_netgraph.h
include $(PATH_SUB_CURRENT)/freebsd/files_vboxnetflt
VBoxNetFlt-src_INST = bin/src/vboxnetflt/
$(PATH_SUB_CURRENT)/freebsd/Makefile \
$$(if $$(eq $$(VBoxNetFlt/freebsd/Makefile_VBOX_HARDENED),$$(VBOX_WITH_HARDENING)),,FORCE) \
include $(KBUILD_PATH)/subfooter.kmk