Makefile.kmk revision 3ad96deedaeae14c9c7ce2ec08a226e4804466dc
6d6e444ceb98763016f5db82e87ee254bdc9b4e2huck.elliott# $Id$
6d6e444ceb98763016f5db82e87ee254bdc9b4e2huck.elliott## @file
6d6e444ceb98763016f5db82e87ee254bdc9b4e2huck.elliott# Sub-Makefile for the Windows NT++ Guest Additions.
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel#
6d6e444ceb98763016f5db82e87ee254bdc9b4e2huck.elliott
6d6e444ceb98763016f5db82e87ee254bdc9b4e2huck.elliott# Copyright (C) 2006-2007 Sun Microsystems, Inc.
6d6e444ceb98763016f5db82e87ee254bdc9b4e2huck.elliott#
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel# This file is part of VirtualBox Open Source Edition (OSE), as
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel# available from http://www.virtualbox.org. This file is free software;
6d6e444ceb98763016f5db82e87ee254bdc9b4e2huck.elliott# you can redistribute it and/or modify it under the terms of the GNU
6d6e444ceb98763016f5db82e87ee254bdc9b4e2huck.elliott# General Public License (GPL) as published by the Free Software
6d6e444ceb98763016f5db82e87ee254bdc9b4e2huck.elliott# Foundation, in version 2 as it comes in the "COPYING" file of the
6d6e444ceb98763016f5db82e87ee254bdc9b4e2huck.elliott# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
6d6e444ceb98763016f5db82e87ee254bdc9b4e2huck.elliott# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
6d6e444ceb98763016f5db82e87ee254bdc9b4e2huck.elliott#
6d6e444ceb98763016f5db82e87ee254bdc9b4e2huck.elliott# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
6d6e444ceb98763016f5db82e87ee254bdc9b4e2huck.elliott# Clara, CA 95054 USA or visit http://www.sun.com if you need
6d6e444ceb98763016f5db82e87ee254bdc9b4e2huck.elliott# additional information or have any questions.
6d6e444ceb98763016f5db82e87ee254bdc9b4e2huck.elliott#
6d6e444ceb98763016f5db82e87ee254bdc9b4e2huck.elliott
6d6e444ceb98763016f5db82e87ee254bdc9b4e2huck.elliottDEPTH ?= ../../../..
6d6e444ceb98763016f5db82e87ee254bdc9b4e2huck.elliottSUB_DEPTH = ..
6d6e444ceb98763016f5db82e87ee254bdc9b4e2huck.elliottinclude $(KBUILD_PATH)/subheader.kmk
6d6e444ceb98763016f5db82e87ee254bdc9b4e2huck.elliott
6d6e444ceb98763016f5db82e87ee254bdc9b4e2huck.elliott# Include Sub-Makefiles.
6d6e444ceb98763016f5db82e87ee254bdc9b4e2huck.elliottinclude $(PATH_SUB_CURRENT)/Graphics/Makefile.kmk
6d6e444ceb98763016f5db82e87ee254bdc9b4e2huck.elliottinclude $(PATH_SUB_CURRENT)/i8042prt/Makefile.kmk
6d6e444ceb98763016f5db82e87ee254bdc9b4e2huck.elliottinclude $(PATH_SUB_CURRENT)/MouseFilter/Makefile.kmk
c04dfceddf82ad0f501864d59e07589079d051ecJake Feaselinclude $(PATH_SUB_CURRENT)/VBoxGuest/Makefile.kmk
c04dfceddf82ad0f501864d59e07589079d051ecJake Feaselinclude $(PATH_SUB_CURRENT)/VBoxTray/Makefile.kmk
c04dfceddf82ad0f501864d59e07589079d051ecJake Feaselifneq ($(KBUILD_TARGET_ARCH),amd64) ## @todo Not 64-bit ready yet (minor issues).
c04dfceddf82ad0f501864d59e07589079d051ecJake Feaselinclude $(PATH_SUB_CURRENT)/VBoxGINA/Makefile.kmk
c04dfceddf82ad0f501864d59e07589079d051ecJake Feaselendif
c04dfceddf82ad0f501864d59e07589079d051ecJake Feaselinclude $(PATH_SUB_CURRENT)/VBoxControl/Makefile.kmk
c04dfceddf82ad0f501864d59e07589079d051ecJake Feaselinclude $(PATH_SUB_CURRENT)/VBoxHook/Makefile.kmk
c04dfceddf82ad0f501864d59e07589079d051ecJake Feaselifndef VBOX_OSE
c04dfceddf82ad0f501864d59e07589079d051ecJake Feaselinclude $(PATH_SUB_CURRENT)/VBoxService/Makefile.kmk
c04dfceddf82ad0f501864d59e07589079d051ecJake Feaselinclude $(PATH_SUB_CURRENT)/Network/Makefile.kmk
c04dfceddf82ad0f501864d59e07589079d051ecJake Feaselendif
c04dfceddf82ad0f501864d59e07589079d051ecJake Feaselifdef VBOX_WITH_WIN32_ADDITIONS_SHAREDFOLDERS
c04dfceddf82ad0f501864d59e07589079d051ecJake Feaselifneq ($(KBUILD_TARGET_ARCH),amd64) ## @todo Not 64-bit ready yet (build env issues).
c04dfceddf82ad0f501864d59e07589079d051ecJake Feaselinclude $(PATH_SUB_CURRENT)/SharedFolders/Makefile.kmk
c04dfceddf82ad0f501864d59e07589079d051ecJake Feaselendif
c04dfceddf82ad0f501864d59e07589079d051ecJake Feaselendif
c04dfceddf82ad0f501864d59e07589079d051ecJake Feaselifneq ($(wildcard $(PATH_SUB_CURRENT)/Installer),)
c04dfceddf82ad0f501864d59e07589079d051ecJake Feaselinclude $(PATH_SUB_CURRENT)/Installer/Makefile.kmk
c04dfceddf82ad0f501864d59e07589079d051ecJake Feaselendif
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel#
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel# Inf2Cat requires all the files referenced in the .inf file
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel# to be present in the directory, so we have to do this from here.
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel#
c04dfceddf82ad0f501864d59e07589079d051ecJake FeaselINSTALLS += VBoxGuest-inf
c04dfceddf82ad0f501864d59e07589079d051ecJake FeaselVBoxGuest-inf_INST = $(INST_ADDITIONS)
c04dfceddf82ad0f501864d59e07589079d051ecJake FeaselVBoxGuest-inf_MODE = a+r,u+w
c04dfceddf82ad0f501864d59e07589079d051ecJake Feaselifndef VBOX_SIGN_ADDITIONS
c04dfceddf82ad0f501864d59e07589079d051ecJake FeaselVBoxGuest-inf_SOURCES = VBoxGuest/VBoxGuest.inf
c04dfceddf82ad0f501864d59e07589079d051ecJake Feaselelse
c04dfceddf82ad0f501864d59e07589079d051ecJake FeaselVBoxGuest-inf_SOURCES = \
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel $(PATH_TARGET)/VBoxGuestCat.dir/VBoxGuest.inf \
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel $(PATH_TARGET)/VBoxGuestCat.dir/VBoxGuest.cat \
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel $(PATH_TARGET)/VBoxGuestCat.dir/VBoxGuest.sys \
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel $(PATH_TARGET)/VBoxGuestCat.dir/VBoxControl.exe \
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel $(PATH_TARGET)/VBoxGuestCat.dir/VBoxTray.exe \
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel $(PATH_TARGET)/VBoxGuestCat.dir/VBCoInst.dll
c04dfceddf82ad0f501864d59e07589079d051ecJake FeaselVBoxGuest-inf_CLEAN = $(VBoxGuest-inf_SOURCES)
c04dfceddf82ad0f501864d59e07589079d051ecJake FeaselVBoxGuest-inf_BLDDIRS = $(PATH_TARGET)/VBoxGuestCat.dir
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel$(PATH_TARGET)/VBoxGuestCat.dir/VBoxGuest.inf: $(PATH_SUB_CURRENT)/VBoxGuest/VBoxGuest.inf $(MAKEFILE_CURRENT) | $$(call DIRDEP,$$(@D))
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel $(call MSG_GENERATE,VBoxGuest-inf,$@,$<)
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel $(call VBOX_EDIT_INF32_FN,$<,$@)
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel## @todo 64-bit todo here ^^^^^^^.
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel$(PATH_TARGET)/VBoxGuestCat.dir/VBoxGuest.sys: $$(TARGET_VBoxGuest) | $$(call DIRDEP,$$(@D))
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel $(INSTALL) -m 644 $< $(@D)
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel$(PATH_TARGET)/VBoxGuestCat.dir/VBoxControl.exe: $$(TARGET_VBoxControl) | $$(call DIRDEP,$$(@D))
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel $(INSTALL) -m 755 $< $(@D)
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel$(PATH_TARGET)/VBoxGuestCat.dir/VBoxTray.exe: $$(TARGET_VBoxTray) | $$(call DIRDEP,$$(@D))
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel $(INSTALL) -m 755 $< $(@D)
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel$(PATH_TARGET)/VBoxGuestCat.dir/VBCoInst.dll: $$(TARGET_VBCoInst) | $$(call DIRDEP,$$(@D))
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel $(INSTALL) -m 644 $< $(@D)
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel$(PATH_TARGET)/VBoxGuestCat.dir/VBoxGuest.cat: \
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel $(PATH_TARGET)/VBoxGuestCat.dir/VBoxGuest.inf \
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel $(PATH_TARGET)/VBoxGuestCat.dir/VBoxGuest.sys \
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel $(PATH_TARGET)/VBoxGuestCat.dir/VBoxControl.exe \
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel $(PATH_TARGET)/VBoxGuestCat.dir/VBoxTray.exe \
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel $(PATH_TARGET)/VBoxGuestCat.dir/VBCoInst.dll
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel $(call MSG_TOOL,Inf2Cat,VBoxGuest-inf,$@,$<)
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel $(call VBOX_MAKE_CAT32_FN, $(@D),$@)
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel## @todo 64-bit todo here ^^^^^^^.
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel
c04dfceddf82ad0f501864d59e07589079d051ecJake Feaselendif # signing
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel
c04dfceddf82ad0f501864d59e07589079d051ecJake Feaselinclude $(KBUILD_PATH)/subfooter.kmk
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel
c04dfceddf82ad0f501864d59e07589079d051ecJake Feasel