Makefile.kmk revision 05f96de6c3d830f3008119aee971aa7fdd728dab
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk# Sub-Makefile for the Network Filter Driver (VBoxNetFlt).
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk# Copyright (C) 2008 Sun Microsystems, Inc.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk# This file is part of VirtualBox Open Source Edition (OSE), as
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk# available from http://www.virtualbox.org. This file is free software;
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk# you can redistribute it and/or modify it under the terms of the GNU
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk# General Public License (GPL) as published by the Free Software
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk# Foundation, in version 2 as it comes in the "COPYING" file of the
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk# Clara, CA 95054 USA or visit http://www.sun.com if you need
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk# additional information or have any questions.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenkSUB_DEPTH = ../../../..
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenkinclude $(KBUILD_PATH)/subheader.kmk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenkif1of ($(KBUILD_TARGET), darwin win) # this ifeq must go, see @todo around elif
# VBoxNetFlt.sys - The mixed case driver.
VBoxNetFlt_INST = $(INST_VBOXNETFLT)$(if $(eq $(KBUILD_TARGET),darwin),Contents/MacOS/)
VBoxNetFlt_SDKS.win = W2K3DDK WINPSDKINCS
VBoxNetFlt_DEFS.win += VBOX_NETFLT_ONDEMAND_BIND
VBoxNetFlt_DEFS.win += VBOXNETFLT_STATIC_CONFIG
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
VBoxNetFlt_DEFS.win.amd64 += RT_WITH_W64_UNWIND_HACK
$(PATH_SDK_W2K3DDK_LIB)/ntoskrnl.lib \
$(PATH_SDK_W2K3DDK_LIB)/hal.lib \
$(PATH_SDK_W2K3DDK_LIB)/ndis.lib \
darwin/VBoxNetFlt-darwin.cpp_DEFS = VBOX_SVN_REV=$(VBOX_SVN_REV)
INSTALLS += VBoxNetFlt.kext
VBoxNetFlt.kext_INST = $(INST_VBOXNETFLT)Contents/
$$(PATH_VBoxNetFlt.kext)/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/VBoxNetFlt_m.inf
VBoxNetFlt-inf_BLDDIRS = $(PATH_TARGET)/VBoxNetFltCat.dir
$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.inf: $(PATH_SUB_CURRENT)/win/VBoxNetFlt.inf $(MAKEFILE_CURRENT) | $$(dir $$@)
$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt_m.inf: $(PATH_SUB_CURRENT)/win/VBoxNetFlt_m.inf $(MAKEFILE_CURRENT) | $$(dir $$@)
$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.sys \
$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFltNotify.dll \
$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.cat
$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.sys: $$(TARGET_VBoxNetFlt) | $$(dir $$@)
$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFltNotify.dll: $$(TARGET_VBoxNetFltNotify) | $$(dir $$@)
$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.cat: \
$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.sys \
$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFltNotify.dll \
$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.inf \
$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt_m.inf
LIBRARIES.win += WinNetConfig
WinNetConfig_INCS.win += $(PATH_TOOL_$(VBOX_VCC_TOOL)_INC)
PROGRAMS.win += NetFltInstall
NetFltInstall_SOURCES = win/NetFltInstall.cpp
$(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/comsupp.lib \
$(PATH_SDK_WINPSDK_LIB)/WbemUuid.Lib
PROGRAMS.win += NetFltUninstall
NetFltUninstall_SOURCES = win/NetFltUninstall.cpp
$(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/comsupp.lib \
$(PATH_SDK_WINPSDK_LIB)/WbemUuid.Lib
PROGRAMS.win += NetAdpInstall
NetAdpInstall_SOURCES = win/NetAdpInstall.cpp
$(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/comsupp.lib \
$(PATH_SDK_WINPSDK_LIB)/WbemUuid.Lib
PROGRAMS.win += NetAdpUninstall
NetAdpUninstall_SOURCES = win/NetAdpUninstall.cpp
$(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/comsupp.lib \
$(PATH_SDK_WINPSDK_LIB)/WbemUuid.Lib
DLLS.win += VBoxNetFltNotify
$(PATH_TOOL_$(VBOX_VCC_TOOL)_ATLMFC_LIB)/atls.lib
$(PATH_VBoxNetFltNotify)/VBoxNetFltNotifyn_i.c \
$(PATH_VBoxNetFltNotify)/VBoxNetFltNotifyn_p.c \
$(PATH_VBoxNetFltNotify)/VBoxNetFltNotifyn.h \
$(PATH_VBoxNetFltNotify)/dlldata.c \
$(PATH_VBoxNetFltNotify)/VBoxNetFltNotifyn.tlb
$(PATH_SDK_WINPSDK_BIN)/Midl.Exe\
$(PATH_SDK_WINPSDK)/Bin/Midl.Exe\
$(PATH_DEVTOOLS)/win.x86/bin/midl.exe\
$$(PATH_VBoxNetFltNotify)/VBoxNetFltNotifyn_i.c \
+ $$(PATH_VBoxNetFltNotify)/VBoxNetFltNotifyn_p.c \
+ $$(PATH_VBoxNetFltNotify)/VBoxNetFltNotifyn.h \
+ $$(PATH_VBoxNetFltNotify)/dlldata.c \
+ $$(PATH_VBoxNetFltNotify)/VBoxNetFltNotifyn.tlb: \
$(PATH_SUB_CURRENT)/win/notifyobj/VBoxNetFltNotifyn.idl \
# VBoxNetAdp.sys - The VirtualBox Adapter miniport driver.
SYSMODS.win += VBoxNetAdp
VBoxNetAdp_LDFLAGS.win.x86 = -Entry:DriverEntry@8
VBoxNetAdp_LDFLAGS.win.amd64 = -Entry:DriverEntry
VBoxNetAdp_DEFS.win.amd64 += RT_WITH_W64_UNWIND_HACK
$(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/VBoxNetAdp.inf $(MAKEFILE_CURRENT) | $$(dir $$@)
$(PATH_TARGET)/VBoxNetAdpCat.dir/VBoxNetAdp.sys \
$(PATH_TARGET)/VBoxNetAdpCat.dir/VBoxNetAdp.cat
$(PATH_TARGET)/VBoxNetAdpCat.dir/VBoxNetAdp.sys: $$(TARGET_VBoxNetAdp) | $$(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)
vboxnetflt_NOINST.linux = true
$(PATH_ROOT)/src/VBox/Runtime/r0drv/linux
vboxnetflt_DEFS.solaris += VBOXNETFLT_SOLARIS_USE_NETINFO
vboxnetflt_SOURCES = VBoxNetFlt.c
solaris/VBoxNetFlt-solaris.c_DEFS = VBOX_SVN_REV=$(VBOX_SVN_REV)
include $(PATH_SUB_CURRENT)/linux/files_vboxnetflt
VBoxNetFlt-src_INST = bin/src/vboxnetflt/
$(PATH_VBoxNetFlt-src)/dkms.conf) \
$(PATH_VBoxNetFlt-src)/dkms.conf \
$(PATH_TARGET)/VBoxNetFlt-src-1.dep
VBoxNetFlt-sh_INST = bin/src/vboxnetflt/
$(if $(VBOX_OSE),,$(PATH_ROOT)/src/VBox/HostDrivers/linux/do_Module.symvers)
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)'
$(PATH_ROOT)/src/VBox/HostDrivers/linux/build_in_tmp \
$$(PATH_VBoxNetFlt-src)/dkms.conf: \
$(PATH_SUB_CURRENT)/linux/dkms.conf \
## @todo Properly generate opt_netgraph.h
$(PATH_OUT)/opt_netgraph.h:
echo > $(PATH_OUT)/opt_netgraph.h
include $(KBUILD_PATH)/subfooter.kmk