Makefile.kmk revision e9de74ed58adf36ec80e630d53dc4c85d9203453
de4157257515400c2c25373591135f110227b68cvboxsync# $Id$
de4157257515400c2c25373591135f110227b68cvboxsync## @file
de4157257515400c2c25373591135f110227b68cvboxsync# Sub-Makefile for the Network Filter Driver (VBoxNetFlt).
de4157257515400c2c25373591135f110227b68cvboxsync#
de4157257515400c2c25373591135f110227b68cvboxsync
de4157257515400c2c25373591135f110227b68cvboxsync#
de4157257515400c2c25373591135f110227b68cvboxsync# Copyright (C) 2008 Sun Microsystems, Inc.
de4157257515400c2c25373591135f110227b68cvboxsync#
b263fac6f6e7fa933c7bfb2a45d598fe8e458c09vboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
b263fac6f6e7fa933c7bfb2a45d598fe8e458c09vboxsync# available from http://www.virtualbox.org. This file is free software;
b263fac6f6e7fa933c7bfb2a45d598fe8e458c09vboxsync# you can redistribute it and/or modify it under the terms of the GNU
b263fac6f6e7fa933c7bfb2a45d598fe8e458c09vboxsync# General Public License (GPL) as published by the Free Software
b263fac6f6e7fa933c7bfb2a45d598fe8e458c09vboxsync# Foundation, in version 2 as it comes in the "COPYING" file of the
b263fac6f6e7fa933c7bfb2a45d598fe8e458c09vboxsync# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
b263fac6f6e7fa933c7bfb2a45d598fe8e458c09vboxsync# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
b263fac6f6e7fa933c7bfb2a45d598fe8e458c09vboxsync#
b263fac6f6e7fa933c7bfb2a45d598fe8e458c09vboxsync# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
b263fac6f6e7fa933c7bfb2a45d598fe8e458c09vboxsync# Clara, CA 95054 USA or visit http://www.sun.com if you need
b263fac6f6e7fa933c7bfb2a45d598fe8e458c09vboxsync# additional information or have any questions.
de4157257515400c2c25373591135f110227b68cvboxsync#
de4157257515400c2c25373591135f110227b68cvboxsync
de4157257515400c2c25373591135f110227b68cvboxsyncSUB_DEPTH = ../../../..
de4157257515400c2c25373591135f110227b68cvboxsyncinclude $(KBUILD_PATH)/subheader.kmk
de4157257515400c2c25373591135f110227b68cvboxsync
de4157257515400c2c25373591135f110227b68cvboxsync
de4157257515400c2c25373591135f110227b68cvboxsyncif1of ($(KBUILD_TARGET), darwin win)
de4157257515400c2c25373591135f110227b68cvboxsync#
de4157257515400c2c25373591135f110227b68cvboxsync# VBoxNetFlt.sys - The mixed case driver.
de4157257515400c2c25373591135f110227b68cvboxsync#
de4157257515400c2c25373591135f110227b68cvboxsyncSYSMODS += VBoxNetFlt
de4157257515400c2c25373591135f110227b68cvboxsyncVBoxNetFlt_TEMPLATE = VBOXR0DRV
de4157257515400c2c25373591135f110227b68cvboxsyncVBoxNetFlt_INST = $(INST_VBOXNETFLT)$(if $(eq $(KBUILD_TARGET),darwin),Contents/MacOS/)
3186f45ef453b44e92adeddf57bae69632e2c66avboxsyncif defined(VBOX_SIGNING_MODE) && "$(KBUILD_TARGET)" == "win"
3186f45ef453b44e92adeddf57bae69632e2c66avboxsync VBoxNetFlt_NOINST = true
de4157257515400c2c25373591135f110227b68cvboxsyncendif
de4157257515400c2c25373591135f110227b68cvboxsyncVBoxNetFlt_DEFS = IN_RT_R0 VBOX_SVN_REV=$(VBOX_SVN_REV) IN_SUP_STATIC
de4157257515400c2c25373591135f110227b68cvboxsyncVBoxNetFlt_SDKS.win = W2K3DDK WINPSDKINCS
de4157257515400c2c25373591135f110227b68cvboxsyncVBoxNetFlt_INCS := $(PATH_SUB_CURRENT)
de4157257515400c2c25373591135f110227b68cvboxsyncVBoxNetFlt_SOURCES.darwin = darwin/VBoxNetFlt-darwin.cpp
ba8485daab567f4004a984eb709724cb2217d504vboxsyncVBoxNetFlt_SOURCES.win = \
ba8485daab567f4004a984eb709724cb2217d504vboxsync win/VBoxNetFlt-win.c \
ba8485daab567f4004a984eb709724cb2217d504vboxsync win/VBoxNetFltPt-win.c \
ba8485daab567f4004a984eb709724cb2217d504vboxsync win/VBoxNetFlt-win.rc
e006a5cefba44e778d2bfec179aa00b347b31ecfvboxsyncifdef VBOX_NETFLT_ONDEMAND_BIND
ba8485daab567f4004a984eb709724cb2217d504vboxsync VBoxNetFlt_DEFS.win += VBOX_NETFLT_ONDEMAND_BIND
9d1274496c423743379ecfb581f623ccedd9ebeevboxsyncelse
9f0a3520e48fa74caec1abadb643db5710ad97e0vboxsync VBoxNetFlt_DEFS.win += VBOXNETFLT_STATIC_CONFIG
ba8485daab567f4004a984eb709724cb2217d504vboxsync VBoxNetFlt_SOURCES.win += win/VBoxNetFltMp-win.c
e006a5cefba44e778d2bfec179aa00b347b31ecfvboxsyncendif
de4157257515400c2c25373591135f110227b68cvboxsyncVBoxNetFlt_SOURCES = VBoxNetFlt.c
de4157257515400c2c25373591135f110227b68cvboxsyncVBoxNetFlt_LDFLAGS.darwin = -v -Wl,-whyload -Wl,-v -Wl,-whatsloaded
de4157257515400c2c25373591135f110227b68cvboxsyncVBoxNetFlt_LDFLAGS.win.x86 = -Entry:DriverEntry@8
de4157257515400c2c25373591135f110227b68cvboxsyncVBoxNetFlt_LDFLAGS.win.amd64 = -Entry:DriverEntry
3bddd917f8743d7e0773c2872c497ca4dae57c78vboxsyncVBoxNetFlt_SOURCES.win.amd64 += win/VBoxNetFltA-win.asm
13ef4f36ce232d17f4738ffbc4ac21909898cc23vboxsyncVBoxNetFlt_DEFS.win.amd64 += RT_WITH_W64_UNWIND_HACK
de4157257515400c2c25373591135f110227b68cvboxsyncVBoxNetFlt_LIBS.win = \
de4157257515400c2c25373591135f110227b68cvboxsync $(PATH_SDK_W2K3DDK_LIB)/ntoskrnl.lib \
de4157257515400c2c25373591135f110227b68cvboxsync $(PATH_SDK_W2K3DDK_LIB)/hal.lib \
de4157257515400c2c25373591135f110227b68cvboxsync $(PATH_SDK_W2K3DDK_LIB)/ndis.lib \
de4157257515400c2c25373591135f110227b68cvboxsync $(PATH_LIB)/RuntimeR0Drv$(VBOX_SUFF_LIB)
de4157257515400c2c25373591135f110227b68cvboxsyncVBoxNetFlt_LIBS = \
de4157257515400c2c25373591135f110227b68cvboxsync $(PATH_LIB)/SUPR0IdcClient$(VBOX_SUFF_LIB)
de4157257515400c2c25373591135f110227b68cvboxsync
de4157257515400c2c25373591135f110227b68cvboxsync
de4157257515400c2c25373591135f110227b68cvboxsync# Darwin extras.
3186f45ef453b44e92adeddf57bae69632e2c66avboxsyncifeq ($(KBUILD_TARGET),darwin)
3186f45ef453b44e92adeddf57bae69632e2c66avboxsyncINSTALLS += VBoxNetFlt.kext
de4157257515400c2c25373591135f110227b68cvboxsyncVBoxNetFlt.kext_INST = $(INST_VBOXNETFLT)Contents/
de4157257515400c2c25373591135f110227b68cvboxsyncVBoxNetFlt.kext_SOURCES = \
3186f45ef453b44e92adeddf57bae69632e2c66avboxsync $(PATH_VBoxNetFlt.kext)/Info.plist
de4157257515400c2c25373591135f110227b68cvboxsyncVBoxNetFlt.kext_CLEAN = \
3186f45ef453b44e92adeddf57bae69632e2c66avboxsync $(PATH_VBoxNetFlt.kext)/Info.plist
de4157257515400c2c25373591135f110227b68cvboxsync
3186f45ef453b44e92adeddf57bae69632e2c66avboxsync$$(PATH_VBoxNetFlt.kext)/Info.plist: $(PATH_SUB_CURRENT)/darwin/Info.plist $(VBOX_VERSION_MK) | $$(dir $$@)
de4157257515400c2c25373591135f110227b68cvboxsync $(call MSG_GENERATE,VBoxNetFlt,$@,$<)
de4157257515400c2c25373591135f110227b68cvboxsync $(xQUIET)$(RM) -f $@
de4157257515400c2c25373591135f110227b68cvboxsync $(xQUIET)$(SED) \
de4157257515400c2c25373591135f110227b68cvboxsync -e 's/@VBOX_VERSION_STRING@/$(VBOX_VERSION_STRING)/g' \
de4157257515400c2c25373591135f110227b68cvboxsync -e 's/@VBOX_VERSION_MAJOR@/$(VBOX_VERSION_MAJOR)/g' \
de4157257515400c2c25373591135f110227b68cvboxsync -e 's/@VBOX_VERSION_MINOR@/$(VBOX_VERSION_MINOR)/g' \
de4157257515400c2c25373591135f110227b68cvboxsync -e 's/@VBOX_VERSION_BUILD@/$(VBOX_VERSION_BUILD)/g' \
3186f45ef453b44e92adeddf57bae69632e2c66avboxsync --output $@ \
3186f45ef453b44e92adeddf57bae69632e2c66avboxsync $<
de4157257515400c2c25373591135f110227b68cvboxsync
de4157257515400c2c25373591135f110227b68cvboxsyncINSTALLS.darwin += Scripts-darwin
de4157257515400c2c25373591135f110227b68cvboxsyncScripts-darwin_INST = $(INST_DIST)
de4157257515400c2c25373591135f110227b68cvboxsyncScripts-darwin_SOURCES = \
de4157257515400c2c25373591135f110227b68cvboxsync darwin/loadnetflt.sh
3186f45ef453b44e92adeddf57bae69632e2c66avboxsyncendif # darwin
de4157257515400c2c25373591135f110227b68cvboxsync
de4157257515400c2c25373591135f110227b68cvboxsync
8796769239832e686064138005dd1b45f038348bvboxsyncifeq ($(KBUILD_TARGET),win)
8796769239832e686064138005dd1b45f038348bvboxsync#
de4157257515400c2c25373591135f110227b68cvboxsync# Windows extras.
8796769239832e686064138005dd1b45f038348bvboxsync#
de4157257515400c2c25373591135f110227b68cvboxsyncINSTALLS.win += VBoxNetFlt-inf
de4157257515400c2c25373591135f110227b68cvboxsyncVBoxNetFlt-inf_INST = $(INST_BIN)
de4157257515400c2c25373591135f110227b68cvboxsyncVBoxNetFlt-inf_MODE = a+r,u+w
de4157257515400c2c25373591135f110227b68cvboxsyncVBoxNetFlt-inf_SOURCES = \
de4157257515400c2c25373591135f110227b68cvboxsync $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.inf \
58e7c901bdf9c8c46e6e20a8e8b99a84e206ddf4vboxsync $(PATH_TARGET)/VBoxNetFltMpCat.dir/VBoxNetFlt_m.inf
de4157257515400c2c25373591135f110227b68cvboxsyncVBoxNetFlt-inf_CLEAN = $(VBoxNetFlt-inf_SOURCES)
58e7c901bdf9c8c46e6e20a8e8b99a84e206ddf4vboxsyncVBoxNetFlt-inf_BLDDIRS = $(PATH_TARGET)/VBoxNetFltCat.dir $(PATH_TARGET)/VBoxNetFltMpCat.dir
de4157257515400c2c25373591135f110227b68cvboxsync
3186f45ef453b44e92adeddf57bae69632e2c66avboxsync$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.inf: $(PATH_SUB_CURRENT)/win/VBoxNetFlt.inf $(MAKEFILE_CURRENT) | $$(dir $$@)
de4157257515400c2c25373591135f110227b68cvboxsync $(call MSG_GENERATE,VBoxNetFlt-inf,$@,$<)
de4157257515400c2c25373591135f110227b68cvboxsync $(call VBOX_EDIT_INF_FN,$<,$@)
de4157257515400c2c25373591135f110227b68cvboxsync
58e7c901bdf9c8c46e6e20a8e8b99a84e206ddf4vboxsync$(PATH_TARGET)/VBoxNetFltMpCat.dir/VBoxNetFlt_m.inf: $(PATH_SUB_CURRENT)/win/VBoxNetFlt_m.inf $(MAKEFILE_CURRENT) | $$(dir $$@)
de4157257515400c2c25373591135f110227b68cvboxsync $(call MSG_GENERATE,VBoxNetFlt-inf,$@,$<)
de4157257515400c2c25373591135f110227b68cvboxsync $(call VBOX_EDIT_INF_FN,$<,$@)
de4157257515400c2c25373591135f110227b68cvboxsync
de4157257515400c2c25373591135f110227b68cvboxsync ifdef VBOX_SIGNING_MODE
de4157257515400c2c25373591135f110227b68cvboxsyncVBoxNetFlt-inf_SOURCES += \
de4157257515400c2c25373591135f110227b68cvboxsync $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.sys \
58e7c901bdf9c8c46e6e20a8e8b99a84e206ddf4vboxsync $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.cat \
58e7c901bdf9c8c46e6e20a8e8b99a84e206ddf4vboxsync $(PATH_TARGET)/VBoxNetFltMpCat.dir/VBoxNetFlt_m.cat
de4157257515400c2c25373591135f110227b68cvboxsync
3186f45ef453b44e92adeddf57bae69632e2c66avboxsync$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.sys: $$(TARGET_VBoxNetFlt) | $$(dir $$@)
de4157257515400c2c25373591135f110227b68cvboxsync $(INSTALL) -m 644 $< $(@D)
de4157257515400c2c25373591135f110227b68cvboxsync
58e7c901bdf9c8c46e6e20a8e8b99a84e206ddf4vboxsync$(PATH_TARGET)/VBoxNetFltMpCat.dir/VBoxNetFlt.sys: $$(TARGET_VBoxNetFlt) | $$(dir $$@)
58e7c901bdf9c8c46e6e20a8e8b99a84e206ddf4vboxsync $(INSTALL) -m 644 $< $(@D)
58e7c901bdf9c8c46e6e20a8e8b99a84e206ddf4vboxsync
7d4e1fc3835655581f938a1a387bc32049de8150vboxsync$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFltNotify.dll: $$(TARGET_VBoxNetFltNotify) | $$(dir $$@)
7d4e1fc3835655581f938a1a387bc32049de8150vboxsync $(INSTALL) -m 644 $< $(@D)
7d4e1fc3835655581f938a1a387bc32049de8150vboxsync
de4157257515400c2c25373591135f110227b68cvboxsync$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.cat: \
0e17b29891cd74ccbd23b28441e92ae817c2edefvboxsync $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.sys \
7d4e1fc3835655581f938a1a387bc32049de8150vboxsync $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFltNotify.dll \
de4157257515400c2c25373591135f110227b68cvboxsync $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.inf \
de4157257515400c2c25373591135f110227b68cvboxsync $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.cat
de4157257515400c2c25373591135f110227b68cvboxsync $(call MSG_TOOL,Inf2Cat,VBoxNetFlt-inf,$@,$<)
de4157257515400c2c25373591135f110227b68cvboxsync $(call VBOX_MAKE_CAT_FN, $(@D),$@)
58e7c901bdf9c8c46e6e20a8e8b99a84e206ddf4vboxsync
58e7c901bdf9c8c46e6e20a8e8b99a84e206ddf4vboxsync$(PATH_TARGET)/VBoxNetFltMpCat.dir/VBoxNetFlt_m.cat: \
58e7c901bdf9c8c46e6e20a8e8b99a84e206ddf4vboxsync $(PATH_TARGET)/VBoxNetFltMpCat.dir/VBoxNetFlt.sys \
58e7c901bdf9c8c46e6e20a8e8b99a84e206ddf4vboxsync $(PATH_TARGET)/VBoxNetFltMpCat.dir/VBoxNetFlt_m.inf \
58e7c901bdf9c8c46e6e20a8e8b99a84e206ddf4vboxsync $(PATH_TARGET)/VBoxNetFltMpCat.dir/VBoxNetFlt_m.cat
58e7c901bdf9c8c46e6e20a8e8b99a84e206ddf4vboxsync $(call MSG_TOOL,Inf2Cat,VBoxNetFlt-inf,$@,$<)
58e7c901bdf9c8c46e6e20a8e8b99a84e206ddf4vboxsync $(call VBOX_MAKE_CAT_FN, $(@D),$@)
58e7c901bdf9c8c46e6e20a8e8b99a84e206ddf4vboxsync
de4157257515400c2c25373591135f110227b68cvboxsync endif # signing
de4157257515400c2c25373591135f110227b68cvboxsync
d3cbc27baab0363d1b4c332aef6d583ece898ac2vboxsync#
d3cbc27baab0363d1b4c332aef6d583ece898ac2vboxsync# WinNetConfig - static library with host network interface config API
d3cbc27baab0363d1b4c332aef6d583ece898ac2vboxsync#
d3cbc27baab0363d1b4c332aef6d583ece898ac2vboxsyncLIBRARIES.win += WinNetConfig
ba8485daab567f4004a984eb709724cb2217d504vboxsyncWinNetConfig_TEMPLATE = VBOXR3STATIC
cc8faa4971ccaf0d68fbfcfe15662fd63611203evboxsyncWinNetConfig_DEFS = _WIN32_WINNT=0x0501 _UNICODE UNICODE
d3cbc27baab0363d1b4c332aef6d583ece898ac2vboxsyncWinNetConfig_SDKS = WINPSDK W2K3DDK
ba8485daab567f4004a984eb709724cb2217d504vboxsyncWinNetConfig_SOURCES = \
d3cbc27baab0363d1b4c332aef6d583ece898ac2vboxsync win/WinNetConfig.cpp
de4157257515400c2c25373591135f110227b68cvboxsync
3e7a39ff2686f649052206d7c0bdcdd2d7f024d4vboxsync#
3e7a39ff2686f649052206d7c0bdcdd2d7f024d4vboxsync# NetFltInstall
3e7a39ff2686f649052206d7c0bdcdd2d7f024d4vboxsync#
8796769239832e686064138005dd1b45f038348bvboxsyncPROGRAMS.win += NetFltInstall
3e7a39ff2686f649052206d7c0bdcdd2d7f024d4vboxsyncNetFltInstall_TEMPLATE = VBOXR3STATIC
3e7a39ff2686f649052206d7c0bdcdd2d7f024d4vboxsyncNetFltInstall_SDKS = WINPSDK W2K3DDK VBOX_NTDLL
3e7a39ff2686f649052206d7c0bdcdd2d7f024d4vboxsyncNetFltInstall_SOURCES = win/NetFltInstall.cpp
8796769239832e686064138005dd1b45f038348bvboxsyncNetFltInstall_LIBS = $(PATH_LIB)/WinNetConfig.lib
8796769239832e686064138005dd1b45f038348bvboxsync
8796769239832e686064138005dd1b45f038348bvboxsync
3e7a39ff2686f649052206d7c0bdcdd2d7f024d4vboxsync#
3e7a39ff2686f649052206d7c0bdcdd2d7f024d4vboxsync# NetFltUninstall
3e7a39ff2686f649052206d7c0bdcdd2d7f024d4vboxsync#
8796769239832e686064138005dd1b45f038348bvboxsyncPROGRAMS.win += NetFltUninstall
3e7a39ff2686f649052206d7c0bdcdd2d7f024d4vboxsyncNetFltUninstall_TEMPLATE = VBOXR3STATIC
3e7a39ff2686f649052206d7c0bdcdd2d7f024d4vboxsyncNetFltUninstall_SDKS = WINPSDK W2K3DDK VBOX_NTDLL
3e7a39ff2686f649052206d7c0bdcdd2d7f024d4vboxsyncNetFltUninstall_SOURCES = win/NetFltUninstall.cpp
8796769239832e686064138005dd1b45f038348bvboxsyncNetFltUninstall_LIBS = $(PATH_LIB)/WinNetConfig.lib
8796769239832e686064138005dd1b45f038348bvboxsync
3e7a39ff2686f649052206d7c0bdcdd2d7f024d4vboxsync
7d4e1fc3835655581f938a1a387bc32049de8150vboxsync#
7d4e1fc3835655581f938a1a387bc32049de8150vboxsync# VBoxNetFltNotify
7d4e1fc3835655581f938a1a387bc32049de8150vboxsync#
7d4e1fc3835655581f938a1a387bc32049de8150vboxsyncDLLS.win += VBoxNetFltNotify
8796769239832e686064138005dd1b45f038348bvboxsyncVBoxNetFltNotify_TEMPLATE = VBOXR3STATIC
8796769239832e686064138005dd1b45f038348bvboxsyncVBoxNetFltNotify_SDKS = WINPSDK W2K3DDK VBOX_NTDLL
8796769239832e686064138005dd1b45f038348bvboxsyncVBoxNetFltNotify_DEFS = _WIN32_WINNT=0x0500 WIN32 _ATL_STATIC_REGISTRY
6436a02734030c1ef6800c287a5235bef8cedba4vboxsyncVBoxNetFltNotify_INCS = \
6436a02734030c1ef6800c287a5235bef8cedba4vboxsync $(PATH_VBoxNetFltNotify)
8796769239832e686064138005dd1b45f038348bvboxsyncVBoxNetFltNotify_SOURCES = \
8796769239832e686064138005dd1b45f038348bvboxsync win/notifyobj/VBoxNetFltNotify.cpp \
8796769239832e686064138005dd1b45f038348bvboxsync win/notifyobj/VBoxNetFltNotify.def \
8796769239832e686064138005dd1b45f038348bvboxsync win/notifyobj/VBoxNetFltNotify.rc
8796769239832e686064138005dd1b45f038348bvboxsyncVBoxNetFltNotify_LIBS = \
8796769239832e686064138005dd1b45f038348bvboxsync $(PATH_TOOL_$(VBOX_VCC_TOOL)_ATLMFC_LIB)/atls.lib
8796769239832e686064138005dd1b45f038348bvboxsync#VBoxNetFltNotify_INTERMEDIATES =
8796769239832e686064138005dd1b45f038348bvboxsyncVBoxNetFltNotify_DEPS = \
6436a02734030c1ef6800c287a5235bef8cedba4vboxsync $(PATH_VBoxNetFltNotify)/VBoxNetFltNotifyn_i.c \
6436a02734030c1ef6800c287a5235bef8cedba4vboxsync $(PATH_VBoxNetFltNotify)/VBoxNetFltNotifyn_p.c \
6436a02734030c1ef6800c287a5235bef8cedba4vboxsync $(PATH_VBoxNetFltNotify)/VBoxNetFltNotifyn.h \
6436a02734030c1ef6800c287a5235bef8cedba4vboxsync $(PATH_VBoxNetFltNotify)/dlldata.c \
6436a02734030c1ef6800c287a5235bef8cedba4vboxsync $(PATH_VBoxNetFltNotify)/VBoxNetFltNotifyn.tlb
8796769239832e686064138005dd1b45f038348bvboxsyncVBoxNetFltNotify_CLEAN = $(VBoxNetFltNotify_DEPS)
7d4e1fc3835655581f938a1a387bc32049de8150vboxsync
7d4e1fc3835655581f938a1a387bc32049de8150vboxsyncVBOXNETFLT_NOTIFY_IDL ?= $(EXEC_X86_WIN32) $(call VBOX_FN_MAKE_WIN_PATH,$(firstword $(wildcard \
7d4e1fc3835655581f938a1a387bc32049de8150vboxsync $(PATH_SDK_WINPSDK_BIN)/Midl.Exe\
7d4e1fc3835655581f938a1a387bc32049de8150vboxsync $(PATH_SDK_WINPSDK)/Bin/Midl.Exe\
7d4e1fc3835655581f938a1a387bc32049de8150vboxsync $(PATH_DEVTOOLS)/win.x86/bin/midl.exe\
7d4e1fc3835655581f938a1a387bc32049de8150vboxsync ) Sorry_Cannot_Find_The_Midl_Compiler_In_The_PSDK))
7d4e1fc3835655581f938a1a387bc32049de8150vboxsync
6436a02734030c1ef6800c287a5235bef8cedba4vboxsync$$(PATH_VBoxNetFltNotify)/VBoxNetFltNotifyn_i.c \
6436a02734030c1ef6800c287a5235bef8cedba4vboxsync+ $$(PATH_VBoxNetFltNotify)/VBoxNetFltNotifyn_p.c \
6436a02734030c1ef6800c287a5235bef8cedba4vboxsync+ $$(PATH_VBoxNetFltNotify)/VBoxNetFltNotifyn.h \
6436a02734030c1ef6800c287a5235bef8cedba4vboxsync+ $$(PATH_VBoxNetFltNotify)/dlldata.c \
6436a02734030c1ef6800c287a5235bef8cedba4vboxsync+ $$(PATH_VBoxNetFltNotify)/VBoxNetFltNotifyn.tlb: \
8796769239832e686064138005dd1b45f038348bvboxsync $(PATH_SUB_CURRENT)/win/notifyobj/VBoxNetFltNotifyn.idl \
8796769239832e686064138005dd1b45f038348bvboxsync | $$(dir $$@)
7d4e1fc3835655581f938a1a387bc32049de8150vboxsync $(VBOXNETFLT_NOTIFY_IDL) /nologo \
6436a02734030c1ef6800c287a5235bef8cedba4vboxsync /out $(call VBOX_FN_MAKE_WIN_PATH,$(PATH_VBoxNetFltNotify)) \
7d4e1fc3835655581f938a1a387bc32049de8150vboxsync /cpp_cmd $(subst $(EXEC_X86_WIN32),,$(call VBOX_FN_MAKE_WIN_PATH,$(TOOL_$(VBOX_VCC_TOOL)_CC))) \
7d4e1fc3835655581f938a1a387bc32049de8150vboxsync $(addprefix /I , $(call VBOX_FN_MAKE_WIN_PATH,$(SDK_W2K3DDK_INCS))) \
7d4e1fc3835655581f938a1a387bc32049de8150vboxsync $(call VBOX_FN_MAKE_WIN_PATH,$<)
8796769239832e686064138005dd1b45f038348bvboxsyncendif #ifeq ($(KBUILD_TARGET), win)
8796769239832e686064138005dd1b45f038348bvboxsync
8796769239832e686064138005dd1b45f038348bvboxsyncelse if1of ($(KBUILD_TARGET), linux solaris) ## @todo merge this with the mixed case stuff.
de4157257515400c2c25373591135f110227b68cvboxsync#
de4157257515400c2c25373591135f110227b68cvboxsync# vboxnetflt(.ko/.o/) - The lower case driver.
de4157257515400c2c25373591135f110227b68cvboxsync# Note! On Solaris the name has to be <= 8 chars long.
de4157257515400c2c25373591135f110227b68cvboxsync#
de4157257515400c2c25373591135f110227b68cvboxsyncSYSMODS += vboxnetflt
de4157257515400c2c25373591135f110227b68cvboxsyncvboxnetflt_TEMPLATE = VBOXR0DRV
de4157257515400c2c25373591135f110227b68cvboxsyncvboxnetflt_NAME.solaris = vboxflt
de4157257515400c2c25373591135f110227b68cvboxsyncvboxnetflt_DEFS.linux = KBUILD_MODNAME=KBUILD_STR\(vboxnetflt\) KBUILD_BASENAME=KBUILD_STR\(vboxnetflt\) MODULE
de4157257515400c2c25373591135f110227b68cvboxsyncvboxnetflt_DEFS = IN_RT_R0
7a141f2215866578954491a419b29eb83881b88evboxsyncvboxnetflt_DEFS.solaris += VBOX_SVN_REV=$(VBOX_SVN_REV)
7a141f2215866578954491a419b29eb83881b88evboxsyncvboxnetflt_DEPS.solaris += $(VBOX_SVN_REV_KMK)
6e78955aadb768c015260b3a89eb93e8f1c1483avboxsyncvboxnetflt_NOINST.linux = true
de4157257515400c2c25373591135f110227b68cvboxsyncvboxnetflt_INCS.linux := \
de4157257515400c2c25373591135f110227b68cvboxsync $(PATH_ROOT)/src/VBox/Runtime/r0drv/linux
de4157257515400c2c25373591135f110227b68cvboxsyncvboxnetflt_INCS := \
de4157257515400c2c25373591135f110227b68cvboxsync $(PATH_SUB_CURRENT)
de4157257515400c2c25373591135f110227b68cvboxsyncvboxnetflt_LDFLAGS.solaris += -N drv/vboxdrv
f336478e22e4a45fe0c3c34b12671915a717202cvboxsyncifdef VBOXNETFLT_SOLARIS_USE_NETINFO
f336478e22e4a45fe0c3c34b12671915a717202cvboxsync vboxnetflt_DEFS.solaris += VBOXNETFLT_SOLARIS_USE_NETINFO
f336478e22e4a45fe0c3c34b12671915a717202cvboxsync vboxnetflt_LDFLAGS.solaris += -N misc/neti
f336478e22e4a45fe0c3c34b12671915a717202cvboxsyncendif
de4157257515400c2c25373591135f110227b68cvboxsyncvboxnetflt_LIBS = \
de4157257515400c2c25373591135f110227b68cvboxsync $(PATH_LIB)/SUPR0IdcClient$(VBOX_SUFF_LIB)
a9d11b1adac24249df39e0db5f8c402a8cb6d9f5vboxsync## @todo vboxflt should resolves all the IPRT bits from vboxdrv.
ac30f40fd58a13ce3d7549ac537919c5d29cf239vboxsync#vboxnetflt_LIBS += \
ac30f40fd58a13ce3d7549ac537919c5d29cf239vboxsync# $(PATH_LIB)/RuntimeR0Drv$(VBOX_SUFF_LIB)
de4157257515400c2c25373591135f110227b68cvboxsyncvboxnetflt_SOURCES.linux = linux/VBoxNetFlt-linux.c
de4157257515400c2c25373591135f110227b68cvboxsyncvboxnetflt_SOURCES.solaris = solaris/VBoxNetFlt-solaris.c
de4157257515400c2c25373591135f110227b68cvboxsyncvboxnetflt_SOURCES = VBoxNetFlt.c
de4157257515400c2c25373591135f110227b68cvboxsync
de4157257515400c2c25373591135f110227b68cvboxsyncendif
de4157257515400c2c25373591135f110227b68cvboxsync
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsyncifeq ($(KBUILD_TARGET),linux)
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsync #
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsync # Install source files for compliation on Linux.
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsync # files_vboxnetflt defines VBOX_VBOXNETFLT_SOURCES.
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsync #
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsync include $(PATH_SUB_CURRENT)/linux/files_vboxnetflt
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsync INSTALLS += VBoxNetFlt-src VBoxNetFlt-sh
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsync VBoxNetFlt-src_INST = bin/src/vboxnetflt/
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsync VBoxNetFlt-src_MODE = a+r,u+w
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsync VBoxNetFlt-src_SOURCES = $(subst ",,$(VBOX_VBOXNETFLT_SOURCES)) #"
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsync VBoxNetFlt-src_SOURCES+= \
01ea175f55740168d1dd0af3277d3b86a30b4f91vboxsync $(if $(VBOX_OSE),,\
e9de74ed58adf36ec80e630d53dc4c85d9203453vboxsync $(PATH_VBoxNetFlt-src)/dkms.conf) \
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsync $(PATH_VBoxNetFlt-src)/Makefile
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsync VBoxNetFlt-src_CLEAN = \
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsync $(PATH_VBoxNetFlt-src)/dkms.conf \
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsync $(PATH_VBoxNetFlt-src)/Makefile
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsync
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsync VBoxNetFlt-sh_INST = bin/src/vboxnetflt/
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsync VBoxNetFlt-sh_MODE = a+rx,u+w
e9de74ed58adf36ec80e630d53dc4c85d9203453vboxsync VBoxNetFlt-sh_SOURCES = \
e9de74ed58adf36ec80e630d53dc4c85d9203453vboxsync $(PATH_VBoxNetFlt-sh)/build_in_tmp \
e9de74ed58adf36ec80e630d53dc4c85d9203453vboxsync $(if $(VBOX_OSE),,\
e9de74ed58adf36ec80e630d53dc4c85d9203453vboxsync $(PATH_ROOT)/src/VBox/HostDrivers/linux/do_Module.symvers)
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsync VBoxNetFlt-sh_CLEAN = $(PATH_VBoxNetFlt-sh)/build_in_tmp
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsync
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsync
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsyncincludedep $(PATH_TARGET)/VBoxNetFlt-src-1.dep
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsync$$(PATH_VBoxNetFlt-src)/Makefile: \
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsync $(PATH_SUB_CURRENT)/linux/Makefile \
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsync $$(if $$(eq $$(VBoxNetFlt/linux/Makefile_VBOX_HARDENED),$$(VBOX_WITH_HARDENING)),,FORCE) \
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsync | $$(dir $$@)
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsyncifndef VBOX_WITH_HARDENING
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsync $(QUIET)$(SED) -e "s;-DVBOX_WITH_HARDENING;;g" --output $@ $<
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsyncelse
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsync $(QUIET)$(CP) -f $< $@
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsyncendif
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsync %$(QUIET2)$(RM) -f -- $(PATH_TARGET)/VBoxNetFlt-src-1.dep
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsync %$(QUIET2)$(APPEND) '$(PATH_TARGET)/VBoxNetFlt-src-1.dep' 'VBoxNetFlt/linux/Makefile_VBOX_HARDENED=$(VBOX_WITH_HARDENING)'
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsync
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsync## Scripts needed for building the kernel modules
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsync
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsync$$(PATH_VBoxNetFlt-sh)/build_in_tmp: \
01ea175f55740168d1dd0af3277d3b86a30b4f91vboxsync $(PATH_ROOT)/src/VBox/HostDrivers/linux/build_in_tmp \
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsync $(VBOX_VERSION_STAMP) \
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsync | $$(dir $$@)
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsync $(call MSG_TOOL,Creating,,$@)
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsync $(QUIET)$(SED) -e "s;_VERSION_;${VBOX_VERSION_STRING};g; s;_MODULE_;vboxnetflt;g" --output $@ $<
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsync $(QUIET)chmod 0755 $@
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsync
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsync$$(PATH_VBoxNetFlt-src)/dkms.conf: \
67d312470741b15a56131ddaeb0a9ea01b04b541vboxsync $(PATH_SUB_CURRENT)/linux/dkms.conf \
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsync $(VBOX_VERSION_STAMP) \
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsync | $$(dir $$@)
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsync $(call MSG_TOOL,Creating,,$@)
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsync $(QUIET)$(SED) -e "s;_VERSION_;${VBOX_VERSION_STRING};g" --output $@ $<
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsync
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsyncendif # linux
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsync
de4157257515400c2c25373591135f110227b68cvboxsyncinclude $(KBUILD_PATH)/subfooter.kmk
de4157257515400c2c25373591135f110227b68cvboxsync