Makefile.kmk revision df6aa089a51ac1cd51ac03c3c70ebb9d1a38e7e7
# $Id$
## @file
# Sub-Makefile for the Windows Network Driver.
#
#
# Copyright (C) 2006 InnoTek Systemberatung GmbH
#
# 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
# General Public License as published by the Free Software Foundation,
# in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
# distribution. VirtualBox OSE is distributed in the hope that it will
# be useful, but WITHOUT ANY WARRANTY of any kind.
#
# If you received this file as part of a commercial VirtualBox
# distribution, then only the terms of your commercial VirtualBox
# license agreement apply instead of the previous paragraph.
#
DEPTH ?= ../../../..
SUB_DEPTH = ..
include $(PATH_KBUILD)/subheader.kmk
#
# VBoxTap
#
SYSMODS.win += VBoxTAP
VBoxTAP_TEMPLATE = VBOXR0DRV
VBoxTAP_SDKS = W2K3DDK WINPSDKINCS
VBoxTAP_LDFLAGS.x86 = -Entry:DriverEntry@8
VBoxTAP_LDFLAGS.amd64 = -Entry:DriverEntry
VBoxTAP_SOURCES = \
tapdrvr.c \
VBoxTAP.rc
VBoxTAP_LIBS = \
$(PATH_LIB)/RuntimeR0$(VBOX_SUFF_LIB) \
$(PATH_SDK_W2K3DDK_LIB)/ntoskrnl.lib \
$(PATH_SDK_W2K3DDK_LIB)/hal.lib \
$(PATH_SDK_W2K3DDK_LIB)/ndis.lib \
$(PATH_SDK_W2K3DDK_LIB)/ntstrsafe.lib \
$(PATH_SDK_W2K3DDK_LIB)/BufferOverflowK.lib
#
# Install the .inf.
#
INSTALLS.win += VBoxTAP-inf
VBoxTAP-inf_INST = bin/
VBoxTAP-inf_MODE = a+r,u+w
ifndef VBOX_SIGNING_MODE
VBoxTAP-inf_SOURCES = VBoxTAP.inf
else
VBoxTAP-inf_SOURCES = \
$(PATH_TARGET)/VBoxTAPCat.dir/VBoxTAP.inf \
$(PATH_TARGET)/VBoxTAPCat.dir/VBoxTAP.cat
VBoxTAP-inf_CLEAN += \
$(PATH_TARGET)/VBoxTAPCat.dir/VBoxTAP.cat \
$(PATH_TARGET)/VBoxTAPCat.dir/VBoxTAP.sys \
$(PATH_TARGET)/VBoxTAPCat.dir/VBoxTAP.inf
VBoxTAP-inf_BLDDIRS = $(PATH_TARGET)/VBoxTAPCat.dir
$(PATH_TARGET)/VBoxTAPCat.dir/VBoxTAP.inf: $(PATH_SUB_CURRENT)/VBoxTAP.inf $(MAKEFILE_CURRENT) | $$(call DIRDEP,$$(@D))
$(call MSG_GENERATE,VBoxTAP-inf,$@,$<)
$(QUIET2)$(RM) -f $@
ifeq ($(BUILD_TARGET_ARCH),amd64)
$(QUIET)$(SED) \
-e 's/^\;\;* *CatalogFile *=/CatalogFile=/' \
-e 's/^ *\%Provider% *= *VBoxTAP *$$/%Provider% = VBoxTAP,NTamd64/' \
-e 's/^\[VBoxTAP\] *$$/\[VBoxTAP.NTamd64\]/' \
-e 's/^\;amd64 *//' \
$< > $@
else
$(QUIET)$(SED) \
-e 's/^\;\;* *CatalogFile=/CatalogFile=/' \
$< > $@
endif
$(PATH_TARGET)/VBoxTAPCat.dir/VBoxTAP.cat: $(PATH_TARGET)/VBoxTAPCat.dir/VBoxTAP.inf $$(TARGET_VBoxTAP)
$(call MSG_TOOL,Inf2Cat,VBoxTAP-inf,$@,$<)
$(INSTALL) -m 644 $(TARGET_VBoxTAP) $(@D)
$(call VBOX_MAKE_CAT_FN, $(@D),$@)
endif # signing
# generate rules
include $(PATH_KBUILD)/subfooter.kmk