Makefile.kmk revision 978ccb9c5d6ee548d1197bb15d7bdde1586442eb
a9ceb1b76f2372385c1477c4bbdc5ceeb45f1d2cvboxsync# Sub-Makefile for the Network Filter Driver (VBoxNetFlt).
a9ceb1b76f2372385c1477c4bbdc5ceeb45f1d2cvboxsync# Copyright (C) 2008-2012 Oracle Corporation
a9ceb1b76f2372385c1477c4bbdc5ceeb45f1d2cvboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
# you can redistribute it and/or modify it under the terms of the GNU
include $(KBUILD_PATH)/subheader.kmk
# VBoxNetFlt.sys - The mixed case driver.
VBoxNetFlt_INST = $(INST_VBOXNETFLT)$(if $(eq $(KBUILD_TARGET),darwin),Contents/MacOS/)
VBoxNetFlt_DEBUG_INST.darwin = $(patsubst %/,%,$(INST_VBOXNETFLT))
VBoxNetFlt_SDKS.win = ReorderCompilerIncs $(VBOX_WINDDK_WLH) $(VBOX_WINPSDK)INCS
# with WINDDKWLH the WIN9X_COMPAT_SPINLOCK is needed to avoid inline declaration of KeInitializeSpinLock
# in ntoskrnl.lib and our object files
VBoxNetFlt_DEFS.win += WIN9X_COMPAT_SPINLOCK=1
VBoxNetFlt_DEFS.win += VBOXNETFLT_STATIC_CONFIG
VBoxNetFlt_DEFS.win += VBOXNETFLT_NO_PACKET_QUEUE
VBoxNetFlt_DEFS.win += NDIS_MINIPORT_DRIVER NDIS_WDM=1 BINARY_COMPATIBLE=0
VBoxNetFlt_DEFS.win += NDIS50_MINIPORT=1 NDIS50=1
VBoxNetFlt_DEFS.win += VBOX_LOOPBACK_USEFLAGS
VBoxNetFlt_SOURCES = VBoxNetFlt.c
#VBoxNetFlt_LDFLAGS.darwin = -v -Wl,-whyload -Wl,-v -Wl,-whatsloaded
VBoxNetFlt_LDFLAGS.win.x86 = -Entry:DriverEntry@8
VBoxNetFlt_LDFLAGS.win.amd64 = -Entry:DriverEntry
$(PATH_SDK_$(VBOX_WINDDK_WLH)_LIB)/ntoskrnl.lib \
$(PATH_SDK_$(VBOX_WINDDK_WLH)_LIB)/hal.lib \
$(PATH_SDK_$(VBOX_WINDDK_WLH)_LIB)/ndis.lib \
darwin/VBoxNetFlt-darwin.cpp_DEFS = VBOX_SVN_REV=$(VBOX_SVN_REV)
INSTALLS += VBoxNetFlt.kext
VBoxNetFlt.kext_INST = $(INST_VBOXNETFLT)Contents/
$$(VBoxNetFlt.kext_0_OUTDIR)/Contents/Info.plist: $(PATH_SUB_CURRENT)/darwin/Info.plist $(VBOX_VERSION_MK) | $$(dir $$@)
INSTALLS.darwin += Scripts-darwin
INSTALLS.win += VBoxNetFlt-inf
$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.inf \
$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFltM.inf
VBoxNetFlt-inf_BLDDIRS = $(PATH_TARGET)/VBoxNetFltCat.dir
$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.inf: $(PATH_SUB_CURRENT)/win/drv/VBoxNetFlt.inf $(MAKEFILE_CURRENT) | $$(dir $$@)
$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFltM.inf: $(PATH_SUB_CURRENT)/win/drv/VBoxNetFltM.inf $(MAKEFILE_CURRENT) | $$(dir $$@)
$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.sys \
$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFltNobj.dll \
$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.cat
$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.sys: $$(VBoxNetFlt_1_TARGET) | $$(dir $$@)
$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFltNobj.dll: $$(VBoxNetFltNobj_1_TARGET) | $$(dir $$@)
$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.cat: \
$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.sys \
$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFltNobj.dll \
$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.inf \
$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFltM.inf
# VBoxNetLwf.sys - The light-weight filter driver for NDIS6.
VBoxNetLwf_SDKS.win = ReorderCompilerIncs $(VBOX_WINDDK_WLH) $(VBOX_WINPSDK)INCS
# with WINDDKWLH the WIN9X_COMPAT_SPINLOCK is needed to avoid inline declaration of KeInitializeSpinLock
# in ntoskrnl.lib and our object files
VBoxNetLwf_DEFS.win += WIN9X_COMPAT_SPINLOCK=1 NDISLWF=1 DBG=1
# VBoxNetLwf_DEFS.win += VBOXNETFLT_STATIC_CONFIG
# VBoxNetLwf_DEFS.win += VBOXNETFLT_NO_PACKET_QUEUE
# VBoxNetLwf_DEFS.win += NDIS_MINIPORT_DRIVER NDIS_WDM=1 BINARY_COMPATIBLE=0
VBoxNetLwf_DEFS.win += NDIS60=1
# VBoxNetLwf_DEFS.win += VBOX_LOOPBACK_USEFLAGS
# VBoxNetLwf_SOURCES = VBoxNetLwf.c
VBoxNetLwf_LDFLAGS.win.x86 = -Entry:DriverEntry@8
VBoxNetLwf_LDFLAGS.win.amd64 = -Entry:DriverEntry
$(PATH_SDK_$(VBOX_WINDDK_WLH)_LIB)/ntoskrnl.lib \
$(PATH_SDK_$(VBOX_WINDDK_WLH)_LIB)/hal.lib \
$(PATH_SDK_$(VBOX_WINDDK_WLH)_LIB)/ndis.lib \
INSTALLS.win += VBoxNetLwf-inf
$(PATH_TARGET)/VBoxNetLwfCat.dir/VBoxNetLwf.inf
VBoxNetLwf-inf_BLDDIRS = $(PATH_TARGET)/VBoxNetLwfCat.dir
$(PATH_TARGET)/VBoxNetLwfCat.dir/VBoxNetLwf.inf: $(PATH_SUB_CURRENT)/win/ndis6/VBoxNetLwf.inf $(MAKEFILE_CURRENT) | $$(dir $$@)
$(PATH_TARGET)/VBoxNetLwfCat.dir/VBoxNetLwf.sys \
$(PATH_TARGET)/VBoxNetLwfCat.dir/VBoxNetLwf.cat
# $(PATH_TARGET)/VBoxNetLwfCat.dir/VBoxNetLwfNobj.dll \
$(PATH_TARGET)/VBoxNetLwfCat.dir/VBoxNetLwf.sys: $$(VBoxNetLwf_1_TARGET) | $$(dir $$@)
#$(PATH_TARGET)/VBoxNetLwfCat.dir/VBoxNetLwfNobj.dll: $$(VBoxNetLwfNobj_1_TARGET) | $$(dir $$@)
$(PATH_TARGET)/VBoxNetLwfCat.dir/VBoxNetLwf.cat: \
$(PATH_TARGET)/VBoxNetLwfCat.dir/VBoxNetLwf.sys \
$(PATH_TARGET)/VBoxNetLwfCat.dir/VBoxNetLwf.inf
LIBRARIES.win += WinNetConfig
WinNetConfig_INCS.win += $(PATH_TOOL_$(VBOX_VCC_TOOL)_INC)
PROGRAMS.win += NetFltInstall
NetFltInstall_SOURCES = win/tools/VBoxNetFltInstall.cpp
$(PATH_SDK_$(VBOX_WINDDK)_LIB)/Newdev.lib \
$(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/comsupp.lib \
$(PATH_SDK_$(VBOX_WINPSDK)_LIB)/WbemUuid.Lib
PROGRAMS.win += NetFltUninstall
NetFltUninstall_SOURCES = win/tools/VBoxNetFltUninstall.cpp
$(PATH_SDK_$(VBOX_WINDDK)_LIB)/Newdev.lib \
$(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/comsupp.lib \
$(PATH_SDK_$(VBOX_WINPSDK)_LIB)/WbemUuid.Lib
PROGRAMS.win += NetAdpInstall
NetAdpInstall_SOURCES = win/tools/VBoxNetAdpInstall.cpp
$(PATH_SDK_$(VBOX_WINDDK)_LIB)/Newdev.lib \
$(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/comsupp.lib \
$(PATH_SDK_$(VBOX_WINPSDK)_LIB)/WbemUuid.Lib
PROGRAMS.win += NetAdpUninstall
NetAdpUninstall_SOURCES = win/tools/VBoxNetAdpUninstall.cpp
$(PATH_SDK_$(VBOX_WINDDK)_LIB)/Newdev.lib \
$(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/comsupp.lib \
$(PATH_SDK_$(VBOX_WINPSDK)_LIB)/WbemUuid.Lib
PROGRAMS.win += NetAdp6Install
NetAdp6Install_SOURCES = win/tools/VBoxNetAdpInstall.cpp
$(PATH_SDK_$(VBOX_WINDDK)_LIB)/Newdev.lib \
$(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/comsupp.lib \
$(PATH_SDK_$(VBOX_WINPSDK)_LIB)/WbemUuid.Lib
PROGRAMS.win += NetAdp6Uninstall
NetAdp6Uninstall_SOURCES = win/tools/VBoxNetAdpUninstall.cpp
$(PATH_SDK_$(VBOX_WINDDK)_LIB)/Newdev.lib \
$(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/comsupp.lib \
$(PATH_SDK_$(VBOX_WINPSDK)_LIB)/WbemUuid.Lib
PROGRAMS.win += NetLwfInstall
NetLwfInstall_SOURCES = win/tools/VBoxNetLwfInstall.cpp
$(PATH_SDK_$(VBOX_WINDDK)_LIB)/Newdev.lib \
$(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/comsupp.lib \
$(PATH_SDK_$(VBOX_WINPSDK)_LIB)/WbemUuid.Lib
PROGRAMS.win += NetLwfUninstall
NetLwfUninstall_SOURCES = win/tools/VBoxNetLwfUninstall.cpp
$(PATH_SDK_$(VBOX_WINDDK)_LIB)/Newdev.lib \
$(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/comsupp.lib \
$(PATH_SDK_$(VBOX_WINPSDK)_LIB)/WbemUuid.Lib
DLLS.win += VBoxNetFltNobj
$(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
$$(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_INSTTYPE.win = none
VBoxNetAdp_DEFS.win += VBOXNETFLT_NO_PACKET_QUEUE
VBoxNetAdp_LDFLAGS.win.x86 = -Entry:DriverEntry@8
VBoxNetAdp_LDFLAGS.win.amd64 = -Entry:DriverEntry
$(PATH_SDK_$(VBOX_WINDDK)_LIB)/ntoskrnl.lib \
$(PATH_SDK_$(VBOX_WINDDK)_LIB)/hal.lib \
$(PATH_SDK_$(VBOX_WINDDK)_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
# VBoxNetAdp6.sys - The VirtualBox Adapter miniport driver.
SYSMODS.win += VBoxNetAdp6
VBoxNetAdp6_INSTTYPE.win = none
VBoxNetAdp6_LDFLAGS.win.x86 = -Entry:DriverEntry@8
VBoxNetAdp6_LDFLAGS.win.amd64 = -Entry:DriverEntry
$(PATH_SDK_$(VBOX_WINDDK)_LIB)/ntoskrnl.lib \
$(PATH_SDK_$(VBOX_WINDDK)_LIB)/hal.lib \
$(PATH_SDK_$(VBOX_WINDDK)_LIB)/ndis.lib \
INSTALLS.win += VBoxNetAdp6-inf
$(PATH_TARGET)/VBoxNetAdp6Cat.dir/VBoxNetAdp6.inf
VBoxNetAdp6-inf_BLDDIRS = $(PATH_TARGET)/VBoxNetAdp6Cat.dir
$(PATH_TARGET)/VBoxNetAdp6Cat.dir/VBoxNetAdp6.inf: $(PATH_SUB_CURRENT)/win/ndis6/VBoxNetAdp6.inf $(MAKEFILE_CURRENT) | $$(dir $$@)
$(PATH_TARGET)/VBoxNetAdp6Cat.dir/VBoxNetAdp6.sys \
$(PATH_TARGET)/VBoxNetAdp6Cat.dir/VBoxNetAdp6.cat
$(PATH_TARGET)/VBoxNetAdp6Cat.dir/VBoxNetAdp6.sys: $$(VBoxNetAdp6_1_TARGET) | $$(dir $$@)
$(PATH_TARGET)/VBoxNetAdp6Cat.dir/VBoxNetAdp6.cat: \
$(PATH_TARGET)/VBoxNetAdp6Cat.dir/VBoxNetAdp6.sys \
$(PATH_TARGET)/VBoxNetAdp6Cat.dir/VBoxNetAdp6.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) \