Makefile.kmk revision 9f0a3520e48fa74caec1abadb643db5710ad97e0
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
8796769239832e686064138005dd1b45f038348bvboxsync# Windows extras.
8796769239832e686064138005dd1b45f038348bvboxsyncINSTALLS.win += VBoxNetFlt-inf
de4157257515400c2c25373591135f110227b68cvboxsyncVBoxNetFlt-inf_INST = $(INST_BIN)
8796769239832e686064138005dd1b45f038348bvboxsyncVBoxNetFlt-inf_MODE = a+r,u+w
de4157257515400c2c25373591135f110227b68cvboxsyncVBoxNetFlt-inf_SOURCES = \
de4157257515400c2c25373591135f110227b68cvboxsync $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.inf \
de4157257515400c2c25373591135f110227b68cvboxsync $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt_m.inf
de4157257515400c2c25373591135f110227b68cvboxsyncVBoxNetFlt-inf_CLEAN = $(VBoxNetFlt-inf_SOURCES)
de4157257515400c2c25373591135f110227b68cvboxsyncVBoxNetFlt-inf_BLDDIRS = $(PATH_TARGET)/VBoxNetFltCat.dir
3186f45ef453b44e92adeddf57bae69632e2c66avboxsync
de4157257515400c2c25373591135f110227b68cvboxsync$(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,$<,$@)
3186f45ef453b44e92adeddf57bae69632e2c66avboxsync
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,$<,$@)
3186f45ef453b44e92adeddf57bae69632e2c66avboxsync
de4157257515400c2c25373591135f110227b68cvboxsync ifdef VBOX_SIGNING_MODE
de4157257515400c2c25373591135f110227b68cvboxsyncVBoxNetFlt-inf_SOURCES += \
de4157257515400c2c25373591135f110227b68cvboxsync $(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)
de4157257515400c2c25373591135f110227b68cvboxsync
3186f45ef453b44e92adeddf57bae69632e2c66avboxsync$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.cat: \
de4157257515400c2c25373591135f110227b68cvboxsync $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.inf \
de4157257515400c2c25373591135f110227b68cvboxsync $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt_m.inf \
7d4e1fc3835655581f938a1a387bc32049de8150vboxsync $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.cat
7d4e1fc3835655581f938a1a387bc32049de8150vboxsync $(call MSG_TOOL,Inf2Cat,VBoxNetFlt-inf,$@,$<)
7d4e1fc3835655581f938a1a387bc32049de8150vboxsync $(call VBOX_MAKE_CAT_FN, $(@D),$@)
de4157257515400c2c25373591135f110227b68cvboxsync endif # signing
0e17b29891cd74ccbd23b28441e92ae817c2edefvboxsync
7d4e1fc3835655581f938a1a387bc32049de8150vboxsync#
de4157257515400c2c25373591135f110227b68cvboxsync# WinNetConfig - static library with host network interface config API
ba8485daab567f4004a984eb709724cb2217d504vboxsync#
de4157257515400c2c25373591135f110227b68cvboxsyncLIBRARIES.win += WinNetConfig
de4157257515400c2c25373591135f110227b68cvboxsyncWinNetConfig_TEMPLATE = VBOXR3STATIC
de4157257515400c2c25373591135f110227b68cvboxsyncWinNetConfig_DEFS = _WIN32_WINNT=0x0500 _UNICODE UNICODE
de4157257515400c2c25373591135f110227b68cvboxsyncWinNetConfig_SDKS = WINPSDK W2K3DDK
de4157257515400c2c25373591135f110227b68cvboxsyncWinNetConfig_SOURCES = \
d3cbc27baab0363d1b4c332aef6d583ece898ac2vboxsync win/WinNetConfig.cpp
d3cbc27baab0363d1b4c332aef6d583ece898ac2vboxsync
d3cbc27baab0363d1b4c332aef6d583ece898ac2vboxsyncelse if1of ($(KBUILD_TARGET), linux solaris)
d3cbc27baab0363d1b4c332aef6d583ece898ac2vboxsync#
ba8485daab567f4004a984eb709724cb2217d504vboxsync# vboxnetflt(.ko/.o/) - The lower case driver.
d3cbc27baab0363d1b4c332aef6d583ece898ac2vboxsync# Note! On Solaris the name has to be <= 8 chars long.
d3cbc27baab0363d1b4c332aef6d583ece898ac2vboxsync#
ba8485daab567f4004a984eb709724cb2217d504vboxsyncSYSMODS += vboxnetflt
d3cbc27baab0363d1b4c332aef6d583ece898ac2vboxsyncvboxnetflt_TEMPLATE = VBOXR0DRV
de4157257515400c2c25373591135f110227b68cvboxsyncvboxnetflt_NAME.solaris = vboxflt
8796769239832e686064138005dd1b45f038348bvboxsyncvboxnetflt_DEFS.linux = KBUILD_MODNAME=KBUILD_STR\(vboxnetflt\) KBUILD_BASENAME=KBUILD_STR\(vboxnetflt\) MODULE
3e7a39ff2686f649052206d7c0bdcdd2d7f024d4vboxsyncvboxnetflt_DEFS = IN_RT_R0
3e7a39ff2686f649052206d7c0bdcdd2d7f024d4vboxsyncvboxnetflt_DEFS.solaris += VBOX_SVN_REV=$(VBOX_SVN_REV)
3e7a39ff2686f649052206d7c0bdcdd2d7f024d4vboxsyncvboxnetflt_DEPS.solaris += $(VBOX_SVN_REV_KMK)
8796769239832e686064138005dd1b45f038348bvboxsyncvboxnetflt_NOINST.linux = true
3e7a39ff2686f649052206d7c0bdcdd2d7f024d4vboxsyncvboxnetflt_INCS.linux := \
3e7a39ff2686f649052206d7c0bdcdd2d7f024d4vboxsync $(PATH_ROOT)/src/VBox/Runtime/r0drv/linux
3e7a39ff2686f649052206d7c0bdcdd2d7f024d4vboxsyncvboxnetflt_INCS := \
8796769239832e686064138005dd1b45f038348bvboxsync $(PATH_SUB_CURRENT)
8796769239832e686064138005dd1b45f038348bvboxsyncvboxnetflt_LDFLAGS.solaris += -N drv/vboxdrv
8796769239832e686064138005dd1b45f038348bvboxsyncifdef VBOXNETFLT_SOLARIS_USE_NETINFO
3e7a39ff2686f649052206d7c0bdcdd2d7f024d4vboxsync vboxnetflt_DEFS.solaris += VBOXNETFLT_SOLARIS_USE_NETINFO
3e7a39ff2686f649052206d7c0bdcdd2d7f024d4vboxsync vboxnetflt_LDFLAGS.solaris += -N misc/neti
3e7a39ff2686f649052206d7c0bdcdd2d7f024d4vboxsyncendif
8796769239832e686064138005dd1b45f038348bvboxsyncvboxnetflt_LIBS = \
3e7a39ff2686f649052206d7c0bdcdd2d7f024d4vboxsync $(PATH_LIB)/SUPR0IdcClient$(VBOX_SUFF_LIB)
3e7a39ff2686f649052206d7c0bdcdd2d7f024d4vboxsync## @todo vboxflt should resolves all the IPRT bits from vboxdrv.
3e7a39ff2686f649052206d7c0bdcdd2d7f024d4vboxsync#vboxnetflt_LIBS += \
8796769239832e686064138005dd1b45f038348bvboxsync# $(PATH_LIB)/RuntimeR0Drv$(VBOX_SUFF_LIB)
8796769239832e686064138005dd1b45f038348bvboxsyncvboxnetflt_SOURCES.linux = linux/VBoxNetFlt-linux.c
3e7a39ff2686f649052206d7c0bdcdd2d7f024d4vboxsyncvboxnetflt_SOURCES.solaris = solaris/VBoxNetFlt-solaris.c
7d4e1fc3835655581f938a1a387bc32049de8150vboxsyncvboxnetflt_SOURCES = VBoxNetFlt.c
7d4e1fc3835655581f938a1a387bc32049de8150vboxsync
7d4e1fc3835655581f938a1a387bc32049de8150vboxsyncendif
7d4e1fc3835655581f938a1a387bc32049de8150vboxsync
8796769239832e686064138005dd1b45f038348bvboxsyncifeq ($(KBUILD_TARGET),linux)
8796769239832e686064138005dd1b45f038348bvboxsync #
8796769239832e686064138005dd1b45f038348bvboxsync # Install source files for compliation on Linux.
6436a02734030c1ef6800c287a5235bef8cedba4vboxsync # files_vboxnetflt defines VBOX_VBOXNETFLT_SOURCES.
6436a02734030c1ef6800c287a5235bef8cedba4vboxsync #
8796769239832e686064138005dd1b45f038348bvboxsync include $(PATH_SUB_CURRENT)/linux/files_vboxnetflt
8796769239832e686064138005dd1b45f038348bvboxsync INSTALLS += VBoxNetFlt-src VBoxNetFlt-sh
8796769239832e686064138005dd1b45f038348bvboxsync VBoxNetFlt-src_INST = bin/src/vboxnetflt/
8796769239832e686064138005dd1b45f038348bvboxsync VBoxNetFlt-src_MODE = a+r,u+w
8796769239832e686064138005dd1b45f038348bvboxsync VBoxNetFlt-src_SOURCES = $(subst ",,$(VBOX_VBOXNETFLT_SOURCES)) #"
8796769239832e686064138005dd1b45f038348bvboxsync VBoxNetFlt-src_SOURCES+= \
8796769239832e686064138005dd1b45f038348bvboxsync $(if $(VBOX_OSE),,$(PATH_VBoxNetFlt-src)/dkms.conf) \
8796769239832e686064138005dd1b45f038348bvboxsync $(PATH_VBoxNetFlt-src)/Makefile
6436a02734030c1ef6800c287a5235bef8cedba4vboxsync VBoxNetFlt-src_CLEAN = \
6436a02734030c1ef6800c287a5235bef8cedba4vboxsync $(PATH_VBoxNetFlt-src)/dkms.conf \
6436a02734030c1ef6800c287a5235bef8cedba4vboxsync $(PATH_VBoxNetFlt-src)/Makefile
6436a02734030c1ef6800c287a5235bef8cedba4vboxsync
6436a02734030c1ef6800c287a5235bef8cedba4vboxsync VBoxNetFlt-sh_INST = bin/src/vboxnetflt/
8796769239832e686064138005dd1b45f038348bvboxsync VBoxNetFlt-sh_MODE = a+rx,u+w
7d4e1fc3835655581f938a1a387bc32049de8150vboxsync VBoxNetFlt-sh_SOURCES = $(PATH_VBoxNetFlt-sh)/build_in_tmp
7d4e1fc3835655581f938a1a387bc32049de8150vboxsync VBoxNetFlt-sh_CLEAN = $(PATH_VBoxNetFlt-sh)/build_in_tmp
7d4e1fc3835655581f938a1a387bc32049de8150vboxsync
7d4e1fc3835655581f938a1a387bc32049de8150vboxsync
7d4e1fc3835655581f938a1a387bc32049de8150vboxsyncincludedep $(PATH_TARGET)/VBoxNetFlt-src-1.dep
7d4e1fc3835655581f938a1a387bc32049de8150vboxsync$$(PATH_VBoxNetFlt-src)/Makefile: \
7d4e1fc3835655581f938a1a387bc32049de8150vboxsync $(PATH_SUB_CURRENT)/linux/Makefile \
6436a02734030c1ef6800c287a5235bef8cedba4vboxsync $$(if $$(eq $$(VBoxNetFlt/linux/Makefile_VBOX_HARDENED),$$(VBOX_WITH_HARDENING)),,FORCE) \
6436a02734030c1ef6800c287a5235bef8cedba4vboxsync | $$(dir $$@)
6436a02734030c1ef6800c287a5235bef8cedba4vboxsyncifndef VBOX_WITH_HARDENING
6436a02734030c1ef6800c287a5235bef8cedba4vboxsync $(QUIET)$(SED) -e "s;-DVBOX_WITH_HARDENING;;g" --output $@ $<
6436a02734030c1ef6800c287a5235bef8cedba4vboxsyncelse
8796769239832e686064138005dd1b45f038348bvboxsync $(QUIET)$(CP) -f $< $@
8796769239832e686064138005dd1b45f038348bvboxsyncendif
7d4e1fc3835655581f938a1a387bc32049de8150vboxsync %$(QUIET2)$(RM) -f -- $(PATH_TARGET)/VBoxNetFlt-src-1.dep
6436a02734030c1ef6800c287a5235bef8cedba4vboxsync %$(QUIET2)$(APPEND) '$(PATH_TARGET)/VBoxNetFlt-src-1.dep' 'VBoxNetFlt/linux/Makefile_VBOX_HARDENED=$(VBOX_WITH_HARDENING)'
7d4e1fc3835655581f938a1a387bc32049de8150vboxsync
7d4e1fc3835655581f938a1a387bc32049de8150vboxsync## Scripts needed for building the kernel modules
7d4e1fc3835655581f938a1a387bc32049de8150vboxsync
8796769239832e686064138005dd1b45f038348bvboxsync$$(PATH_VBoxNetFlt-sh)/build_in_tmp: \
8796769239832e686064138005dd1b45f038348bvboxsync $(PATH_ROOT)/src/VBox/HostDrivers/Support/linux/build_in_tmp \
8796769239832e686064138005dd1b45f038348bvboxsync $(VBOX_VERSION_STAMP) \
de4157257515400c2c25373591135f110227b68cvboxsync | $$(dir $$@)
de4157257515400c2c25373591135f110227b68cvboxsync $(call MSG_TOOL,Creating,,$@)
de4157257515400c2c25373591135f110227b68cvboxsync $(QUIET)$(SED) -e "s;_VERSION_;${VBOX_VERSION_STRING};g; s;_MODULE_;vboxnetflt;g" --output $@ $<
de4157257515400c2c25373591135f110227b68cvboxsync $(QUIET)chmod 0755 $@
de4157257515400c2c25373591135f110227b68cvboxsync
de4157257515400c2c25373591135f110227b68cvboxsync$$(PATH_VBoxNetFlt-src)/dkms.conf: \
de4157257515400c2c25373591135f110227b68cvboxsync $(PATH_SUB_CURRENT)/linux/dkms.conf \
de4157257515400c2c25373591135f110227b68cvboxsync $(VBOX_VERSION_STAMP) \
de4157257515400c2c25373591135f110227b68cvboxsync | $$(dir $$@)
7a141f2215866578954491a419b29eb83881b88evboxsync $(call MSG_TOOL,Creating,,$@)
7a141f2215866578954491a419b29eb83881b88evboxsync $(QUIET)$(SED) -e "s;_VERSION_;${VBOX_VERSION_STRING};g" --output $@ $<
6e78955aadb768c015260b3a89eb93e8f1c1483avboxsync
de4157257515400c2c25373591135f110227b68cvboxsyncendif # linux
de4157257515400c2c25373591135f110227b68cvboxsync
de4157257515400c2c25373591135f110227b68cvboxsyncinclude $(KBUILD_PATH)/subfooter.kmk
de4157257515400c2c25373591135f110227b68cvboxsync
de4157257515400c2c25373591135f110227b68cvboxsync