Makefile.kmk revision 61d7d9128a38eb86895d38f1ad95bdf44fc0b240
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync# $Id$
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync## @file
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync# Sub-Makefile for the stub installer.
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync#
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync#
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync# Copyright (C) 2009-2012 Oracle Corporation
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync#
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync# available from http://www.virtualbox.org. This file is free software;
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync# you can redistribute it and/or modify it under the terms of the GNU
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync# General Public License (GPL) as published by the Free Software
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync# Foundation, in version 2 as it comes in the "COPYING" file of the
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync#
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsyncSUB_DEPTH = ../../../../..
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsyncinclude $(KBUILD_PATH)/subheader.kmk
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync# This has to be 32-bit, so don't include it in the 64-bit build.
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsyncif "$(KBUILD_TARGET_ARCH)" == "x86"
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsyncTEMPLATE_VBOXSTUB = Drop the signing, we will sign it later.
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsyncTEMPLATE_VBOXSTUB_EXTENDS = VBOXR3STATIC
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsyncTEMPLATE_VBOXSTUB_POST_CMDS = $(NO_SUCH_VARIABLE)
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsyncPROGRAMS.x86 += VBoxStub
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsyncVBoxStub_TEMPLATE= VBOXSTUB
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsyncVBoxStub_DEFS = _WIN32_WINNT=0x0501 IN_RT_R3
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsyncVBoxStub_SOURCES = \
772269936494ffaddd0750ba9e28e805ba81398cvboxsync VBoxStub.cpp \
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync VBoxStubCertUtil.cpp \
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync VBoxStub.rc
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync$$(VBoxStub_0_OUTDIR)/VBoxStubPublicCert.h: $(VBOX_BIN2C) $(PATH_ROOT)/src/VBox/Additions/WINNT/tools/oracle-vbox.cer
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync $(VBOX_BIN2C) _VBoxStubPublicCert $(PATH_ROOT)/src/VBox/Additions/WINNT/tools/oracle-vbox.cer $@
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsyncVBoxStub_SDKS += \
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync VBOX_NTDLL
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsyncVBoxStub_LIBS = \
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync $(VBOX_LIB_RUNTIME_STATIC) \
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync $(PATH_SDK_$(VBOX_WINPSDK)_LIB)/Msi.lib \
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync crypt32.lib
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsyncVBoxStub.cpp_DEFS += VBOX_SVN_REV=$(VBOX_SVN_REV)
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsyncVBoxStub.cpp_DEPS = \
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync $(VBOX_SVN_REV_KMK) \
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync $(VBoxStub_0_OUTDIR)/VBoxStubPublicCert.h
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsyncVBoxStub.cpp_INCS += $(VBoxStub_0_OUTDIR)
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync# The icon location is configurable.
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsyncVBoxStub.rc_INCS += $(VBoxStub_0_OUTDIR)
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsyncVBoxStub.rc_DEPS += \
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync $(VBoxStub_0_OUTDIR)/VBoxStub-icon.rc \
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync $(VBoxStub_0_OUTDIR)/VBoxStub-manifest.rc
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsyncVBoxStub.rc_CLEAN = \
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync $(VBoxStub_0_OUTDIR)/VBoxStub-icon.rc \
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync $(VBoxStub_0_OUTDIR)/VBoxStub-manifest.rc
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync# Icon include file.
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync$$(VBoxStub_0_OUTDIR)/VBoxStub-icon.rc: $(VBOX_WINDOWS_ICON_FILE) $(MAKEFILE_CURRENT) | $$(dir $$@)
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync $(APPEND) -t $@ 'IDI_VIRTUALBOX ICON DISCARDABLE "$(subst /,\\,$(VBOX_WINDOWS_ICON_FILE))"'
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync# Manifest.
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsyncVBOX_STUB_MANIFEST_FILE := $(PATH_SUB_CURRENT)/VBoxStub.manifest
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync$$(VBoxStub_0_OUTDIR)/VBoxStub-manifest.rc: $(VBOX_STUB_MANIFEST_FILE) $(MAKEFILE_CURRENT) | $$(dir $$@)
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync $(APPEND) -t $@ 'APP_MANIFEST RT_MANIFEST "$(subst /,\\,$(VBOX_STUB_MANIFEST_FILE))"'
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsyncendif # x86 only
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsyncinclude $(FILE_KBUILD_SUB_FOOTER)
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync