Makefile.kmk revision 6436a02734030c1ef6800c287a5235bef8cedba4
de4157257515400c2c25373591135f110227b68cvboxsync# $Id$
de4157257515400c2c25373591135f110227b68cvboxsync## @file
de4157257515400c2c25373591135f110227b68cvboxsync# Sub-Makefile for the Network Filter Driver (VBoxNetFlt).
de4157257515400c2c25373591135f110227b68cvboxsync#
de4157257515400c2c25373591135f110227b68cvboxsync
de4157257515400c2c25373591135f110227b68cvboxsync#
de4157257515400c2c25373591135f110227b68cvboxsync# Copyright (C) 2008 Sun Microsystems, Inc.
de4157257515400c2c25373591135f110227b68cvboxsync#
d65680efa46fa49e8bf14e67b29b782510ff934cvboxsync# Sun Microsystems, Inc. confidential
d65680efa46fa49e8bf14e67b29b782510ff934cvboxsync# All rights reserved
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
de4157257515400c2c25373591135f110227b68cvboxsyncifeq ($(KBUILD_TARGET),win)
de4157257515400c2c25373591135f110227b68cvboxsync#
de4157257515400c2c25373591135f110227b68cvboxsync# Windows extras.
de4157257515400c2c25373591135f110227b68cvboxsync#
de4157257515400c2c25373591135f110227b68cvboxsyncINSTALLS.win += VBoxNetFlt-inf
de4157257515400c2c25373591135f110227b68cvboxsyncVBoxNetFlt-inf_INST = $(INST_BIN)
3186f45ef453b44e92adeddf57bae69632e2c66avboxsyncVBoxNetFlt-inf_MODE = a+r,u+w
de4157257515400c2c25373591135f110227b68cvboxsyncVBoxNetFlt-inf_SOURCES = \
de4157257515400c2c25373591135f110227b68cvboxsync $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.inf \
de4157257515400c2c25373591135f110227b68cvboxsync $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt_m.inf
3186f45ef453b44e92adeddf57bae69632e2c66avboxsyncVBoxNetFlt-inf_CLEAN = $(VBoxNetFlt-inf_SOURCES)
de4157257515400c2c25373591135f110227b68cvboxsyncVBoxNetFlt-inf_BLDDIRS = $(PATH_TARGET)/VBoxNetFltCat.dir
de4157257515400c2c25373591135f110227b68cvboxsync
de4157257515400c2c25373591135f110227b68cvboxsync$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.inf: $(PATH_SUB_CURRENT)/win/VBoxNetFlt.inf $(MAKEFILE_CURRENT) | $$(dir $$@)
3186f45ef453b44e92adeddf57bae69632e2c66avboxsync $(call MSG_GENERATE,VBoxNetFlt-inf,$@,$<)
de4157257515400c2c25373591135f110227b68cvboxsync $(call VBOX_EDIT_INF_FN,$<,$@)
de4157257515400c2c25373591135f110227b68cvboxsync
de4157257515400c2c25373591135f110227b68cvboxsync$(PATH_TARGET)/VBoxNetFltCat.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 += \
3186f45ef453b44e92adeddf57bae69632e2c66avboxsync $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.sys \
de4157257515400c2c25373591135f110227b68cvboxsync $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.cat
de4157257515400c2c25373591135f110227b68cvboxsync
de4157257515400c2c25373591135f110227b68cvboxsync$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.sys: $$(TARGET_VBoxNetFlt) | $$(dir $$@)
de4157257515400c2c25373591135f110227b68cvboxsync $(INSTALL) -m 644 $< $(@D)
ba8485daab567f4004a984eb709724cb2217d504vboxsync
de4157257515400c2c25373591135f110227b68cvboxsync$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFltNotify.dll: $$(TARGET_VBoxNetFltNotify) | $$(dir $$@)
de4157257515400c2c25373591135f110227b68cvboxsync $(INSTALL) -m 644 $< $(@D)
de4157257515400c2c25373591135f110227b68cvboxsync
de4157257515400c2c25373591135f110227b68cvboxsync$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.cat: \
de4157257515400c2c25373591135f110227b68cvboxsync $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.sys \
d3cbc27baab0363d1b4c332aef6d583ece898ac2vboxsync $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFltNotify.dll \
d3cbc27baab0363d1b4c332aef6d583ece898ac2vboxsync $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.inf \
d3cbc27baab0363d1b4c332aef6d583ece898ac2vboxsync $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt_m.inf \
d3cbc27baab0363d1b4c332aef6d583ece898ac2vboxsync $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.cat
ba8485daab567f4004a984eb709724cb2217d504vboxsync $(call MSG_TOOL,Inf2Cat,VBoxNetFlt-inf,$@,$<)
d3cbc27baab0363d1b4c332aef6d583ece898ac2vboxsync $(call VBOX_MAKE_CAT_FN, $(@D),$@)
d3cbc27baab0363d1b4c332aef6d583ece898ac2vboxsync endif # signing
ba8485daab567f4004a984eb709724cb2217d504vboxsync
d3cbc27baab0363d1b4c332aef6d583ece898ac2vboxsync#
de4157257515400c2c25373591135f110227b68cvboxsync# WinNetConfig - static library with host network interface config API
de4157257515400c2c25373591135f110227b68cvboxsync#
de4157257515400c2c25373591135f110227b68cvboxsyncLIBRARIES.win += WinNetConfig
de4157257515400c2c25373591135f110227b68cvboxsyncWinNetConfig_TEMPLATE = VBOXR3STATIC
de4157257515400c2c25373591135f110227b68cvboxsyncWinNetConfig_DEFS = _WIN32_WINNT=0x0500 _UNICODE UNICODE
de4157257515400c2c25373591135f110227b68cvboxsyncWinNetConfig_SDKS = WINPSDK W2K3DDK
de4157257515400c2c25373591135f110227b68cvboxsyncWinNetConfig_SOURCES = \
de4157257515400c2c25373591135f110227b68cvboxsync win/WinNetConfig.cpp
de4157257515400c2c25373591135f110227b68cvboxsync
de4157257515400c2c25373591135f110227b68cvboxsync
de4157257515400c2c25373591135f110227b68cvboxsync#
7a141f2215866578954491a419b29eb83881b88evboxsync# NetFltInstall
7a141f2215866578954491a419b29eb83881b88evboxsync#
6e78955aadb768c015260b3a89eb93e8f1c1483avboxsyncPROGRAMS.win += NetFltInstall
de4157257515400c2c25373591135f110227b68cvboxsyncNetFltInstall_TEMPLATE = VBOXR3STATIC
de4157257515400c2c25373591135f110227b68cvboxsyncNetFltInstall_SDKS = WINPSDK W2K3DDK VBOX_NTDLL
de4157257515400c2c25373591135f110227b68cvboxsyncNetFltInstall_SOURCES = win/NetFltInstall.cpp
de4157257515400c2c25373591135f110227b68cvboxsyncNetFltInstall_LIBS = $(PATH_LIB)/WinNetConfig.lib
de4157257515400c2c25373591135f110227b68cvboxsync
f336478e22e4a45fe0c3c34b12671915a717202cvboxsync
f336478e22e4a45fe0c3c34b12671915a717202cvboxsync#
f336478e22e4a45fe0c3c34b12671915a717202cvboxsync# NetFltUninstall
f336478e22e4a45fe0c3c34b12671915a717202cvboxsync#
de4157257515400c2c25373591135f110227b68cvboxsyncPROGRAMS.win += NetFltUninstall
de4157257515400c2c25373591135f110227b68cvboxsyncNetFltUninstall_TEMPLATE = VBOXR3STATIC
a9d11b1adac24249df39e0db5f8c402a8cb6d9f5vboxsyncNetFltUninstall_SDKS = WINPSDK W2K3DDK VBOX_NTDLL
ac30f40fd58a13ce3d7549ac537919c5d29cf239vboxsyncNetFltUninstall_SOURCES = win/NetFltUninstall.cpp
ac30f40fd58a13ce3d7549ac537919c5d29cf239vboxsyncNetFltUninstall_LIBS = $(PATH_LIB)/WinNetConfig.lib
de4157257515400c2c25373591135f110227b68cvboxsync
de4157257515400c2c25373591135f110227b68cvboxsync
de4157257515400c2c25373591135f110227b68cvboxsync#
de4157257515400c2c25373591135f110227b68cvboxsync# VBoxNetFltNotify
de4157257515400c2c25373591135f110227b68cvboxsync#
de4157257515400c2c25373591135f110227b68cvboxsyncDLLS.win += VBoxNetFltNotify
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsyncVBoxNetFltNotify_TEMPLATE = VBOXR3STATIC
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsyncVBoxNetFltNotify_SDKS = WINPSDK W2K3DDK VBOX_NTDLL
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsyncVBoxNetFltNotify_DEFS = _WIN32_WINNT=0x0500 WIN32 _ATL_STATIC_REGISTRY
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsyncVBoxNetFltNotify_INCS = \
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsync $(PATH_VBoxNetFltNotify)
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsyncVBoxNetFltNotify_SOURCES = \
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsync win/notifyobj/VBoxNetFltNotify.cpp \
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsync win/notifyobj/VBoxNetFltNotify.def \
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsync win/notifyobj/VBoxNetFltNotify.rc
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsyncVBoxNetFltNotify_LIBS = \
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsync $(PATH_TOOL_$(VBOX_VCC_TOOL)_ATLMFC_LIB)/atls.lib
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsync#VBoxNetFltNotify_INTERMEDIATES =
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsyncVBoxNetFltNotify_DEPS = \
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsync $(PATH_VBoxNetFltNotify)/VBoxNetFltNotifyn_i.c \
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsync $(PATH_VBoxNetFltNotify)/VBoxNetFltNotifyn_p.c \
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsync $(PATH_VBoxNetFltNotify)/VBoxNetFltNotifyn.h \
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsync $(PATH_VBoxNetFltNotify)/dlldata.c \
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsync $(PATH_VBoxNetFltNotify)/VBoxNetFltNotifyn.tlb
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsyncVBoxNetFltNotify_CLEAN = $(VBoxNetFltNotify_DEPS)
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsync
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsyncVBOXNETFLT_NOTIFY_IDL ?= $(EXEC_X86_WIN32) $(call VBOX_FN_MAKE_WIN_PATH,$(firstword $(wildcard \
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsync $(PATH_SDK_WINPSDK_BIN)/Midl.Exe\
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsync $(PATH_SDK_WINPSDK)/Bin/Midl.Exe\
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsync $(PATH_DEVTOOLS)/win.x86/bin/midl.exe\
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsync ) Sorry_Cannot_Find_The_Midl_Compiler_In_The_PSDK))
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsync
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsync$$(PATH_VBoxNetFltNotify)/VBoxNetFltNotifyn_i.c \
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsync+ $$(PATH_VBoxNetFltNotify)/VBoxNetFltNotifyn_p.c \
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsync+ $$(PATH_VBoxNetFltNotify)/VBoxNetFltNotifyn.h \
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsync+ $$(PATH_VBoxNetFltNotify)/dlldata.c \
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsync+ $$(PATH_VBoxNetFltNotify)/VBoxNetFltNotifyn.tlb: \
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsync $(PATH_SUB_CURRENT)/win/notifyobj/VBoxNetFltNotifyn.idl \
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsync | $$(dir $$@)
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsync $(VBOXNETFLT_NOTIFY_IDL) /nologo \
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsync /out $(call VBOX_FN_MAKE_WIN_PATH,$(PATH_VBoxNetFltNotify)) \
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsync /cpp_cmd $(subst $(EXEC_X86_WIN32),,$(call VBOX_FN_MAKE_WIN_PATH,$(TOOL_$(VBOX_VCC_TOOL)_CC))) \
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsync $(addprefix /I , $(call VBOX_FN_MAKE_WIN_PATH,$(SDK_W2K3DDK_INCS))) \
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsync $(call VBOX_FN_MAKE_WIN_PATH,$<)
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsyncendif #ifeq ($(KBUILD_TARGET), win)
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsync
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsyncelse if1of ($(KBUILD_TARGET), linux solaris) ## @todo merge this with the mixed case stuff.
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsync#
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsync# vboxnetflt(.ko/.o/) - The lower case driver.
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsync# Note! On Solaris the name has to be <= 8 chars long.
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsync#
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsyncSYSMODS += vboxnetflt
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsyncvboxnetflt_TEMPLATE = VBOXR0DRV
67d312470741b15a56131ddaeb0a9ea01b04b541vboxsyncvboxnetflt_NAME.solaris = vboxflt
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsyncvboxnetflt_DEFS.linux = KBUILD_MODNAME=KBUILD_STR\(vboxnetflt\) KBUILD_BASENAME=KBUILD_STR\(vboxnetflt\) MODULE
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsyncvboxnetflt_DEFS = IN_RT_R0
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsyncvboxnetflt_DEFS.solaris += VBOX_SVN_REV=$(VBOX_SVN_REV)
3c125fffb3ee3f0f8229db88ef5f2082ed3cc81cvboxsyncvboxnetflt_DEPS.solaris += $(VBOX_SVN_REV_KMK)
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsyncvboxnetflt_NOINST.linux = true
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsyncvboxnetflt_INCS.linux := \
19d5b809210ca8f1ab03a31f36eb28235621350bvboxsync $(PATH_ROOT)/src/VBox/Runtime/r0drv/linux
de4157257515400c2c25373591135f110227b68cvboxsyncvboxnetflt_INCS := \
de4157257515400c2c25373591135f110227b68cvboxsync $(PATH_SUB_CURRENT)
vboxnetflt_LDFLAGS.solaris += -N drv/vboxdrv
ifdef VBOXNETFLT_SOLARIS_USE_NETINFO
vboxnetflt_DEFS.solaris += VBOXNETFLT_SOLARIS_USE_NETINFO
vboxnetflt_LDFLAGS.solaris += -N misc/neti
endif
vboxnetflt_LIBS = \
$(PATH_LIB)/SUPR0IdcClient$(VBOX_SUFF_LIB)
## @todo vboxflt should resolves all the IPRT bits from vboxdrv.
#vboxnetflt_LIBS += \
# $(PATH_LIB)/RuntimeR0Drv$(VBOX_SUFF_LIB)
vboxnetflt_SOURCES.linux = linux/VBoxNetFlt-linux.c
vboxnetflt_SOURCES.solaris = solaris/VBoxNetFlt-solaris.c
vboxnetflt_SOURCES = VBoxNetFlt.c
endif
ifeq ($(KBUILD_TARGET),linux)
#
# Install source files for compliation on Linux.
# files_vboxnetflt defines VBOX_VBOXNETFLT_SOURCES.
#
include $(PATH_SUB_CURRENT)/linux/files_vboxnetflt
INSTALLS += VBoxNetFlt-src VBoxNetFlt-sh
VBoxNetFlt-src_INST = bin/src/vboxnetflt/
VBoxNetFlt-src_MODE = a+r,u+w
VBoxNetFlt-src_SOURCES = $(subst ",,$(VBOX_VBOXNETFLT_SOURCES)) #"
VBoxNetFlt-src_SOURCES+= \
$(if $(VBOX_OSE),,\
$(PATH_VBoxNetFlt-src)/dkms.conf \
$(PATH_ROOT)/src/VBox/HostDrivers/linux/do_Module.symvers) \
$(PATH_VBoxNetFlt-src)/Makefile
VBoxNetFlt-src_CLEAN = \
$(PATH_VBoxNetFlt-src)/dkms.conf \
$(PATH_VBoxNetFlt-src)/Makefile
VBoxNetFlt-sh_INST = bin/src/vboxnetflt/
VBoxNetFlt-sh_MODE = a+rx,u+w
VBoxNetFlt-sh_SOURCES = $(PATH_VBoxNetFlt-sh)/build_in_tmp
VBoxNetFlt-sh_CLEAN = $(PATH_VBoxNetFlt-sh)/build_in_tmp
includedep $(PATH_TARGET)/VBoxNetFlt-src-1.dep
$$(PATH_VBoxNetFlt-src)/Makefile: \
$(PATH_SUB_CURRENT)/linux/Makefile \
$$(if $$(eq $$(VBoxNetFlt/linux/Makefile_VBOX_HARDENED),$$(VBOX_WITH_HARDENING)),,FORCE) \
| $$(dir $$@)
ifndef VBOX_WITH_HARDENING
$(QUIET)$(SED) -e "s;-DVBOX_WITH_HARDENING;;g" --output $@ $<
else
$(QUIET)$(CP) -f $< $@
endif
%$(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)'
## Scripts needed for building the kernel modules
$$(PATH_VBoxNetFlt-sh)/build_in_tmp: \
$(PATH_ROOT)/src/VBox/HostDrivers/linux/build_in_tmp \
$(VBOX_VERSION_STAMP) \
| $$(dir $$@)
$(call MSG_TOOL,Creating,,$@)
$(QUIET)$(SED) -e "s;_VERSION_;${VBOX_VERSION_STRING};g; s;_MODULE_;vboxnetflt;g" --output $@ $<
$(QUIET)chmod 0755 $@
$$(PATH_VBoxNetFlt-src)/dkms.conf: \
$(PATH_SUB_CURRENT)/linux/dkms.conf \
$(VBOX_VERSION_STAMP) \
| $$(dir $$@)
$(call MSG_TOOL,Creating,,$@)
$(QUIET)$(SED) -e "s;_VERSION_;${VBOX_VERSION_STRING};g" --output $@ $<
endif # linux
include $(KBUILD_PATH)/subfooter.kmk