Makefile.kmk revision 5b90f3eca10de3fc7102084740c0d77af33e28c1
38856343f90103280eb83b5e697f9f618b407d83vboxsync# $Id$
38856343f90103280eb83b5e697f9f618b407d83vboxsync## @file
c97989161fbe75bc14cea477a5443bbf474dd3advboxsync# Sub-Makefile for the Cross Platform Guest Addition Services.
38856343f90103280eb83b5e697f9f618b407d83vboxsync#
38856343f90103280eb83b5e697f9f618b407d83vboxsync
38856343f90103280eb83b5e697f9f618b407d83vboxsync#
c97989161fbe75bc14cea477a5443bbf474dd3advboxsync# Copyright (C) 2007-2010 Sun Microsystems, Inc.
38856343f90103280eb83b5e697f9f618b407d83vboxsync#
38856343f90103280eb83b5e697f9f618b407d83vboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
38856343f90103280eb83b5e697f9f618b407d83vboxsync# available from http://www.virtualbox.org. This file is free software;
38856343f90103280eb83b5e697f9f618b407d83vboxsync# you can redistribute it and/or modify it under the terms of the GNU
38856343f90103280eb83b5e697f9f618b407d83vboxsync# General Public License (GPL) as published by the Free Software
38856343f90103280eb83b5e697f9f618b407d83vboxsync# Foundation, in version 2 as it comes in the "COPYING" file of the
38856343f90103280eb83b5e697f9f618b407d83vboxsync# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
38856343f90103280eb83b5e697f9f618b407d83vboxsync# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
38856343f90103280eb83b5e697f9f618b407d83vboxsync#
38856343f90103280eb83b5e697f9f618b407d83vboxsync# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
38856343f90103280eb83b5e697f9f618b407d83vboxsync# Clara, CA 95054 USA or visit http://www.sun.com if you need
38856343f90103280eb83b5e697f9f618b407d83vboxsync# additional information or have any questions.
38856343f90103280eb83b5e697f9f618b407d83vboxsync#
38856343f90103280eb83b5e697f9f618b407d83vboxsync
38856343f90103280eb83b5e697f9f618b407d83vboxsyncSUB_DEPTH = ../../../../..
38856343f90103280eb83b5e697f9f618b407d83vboxsyncinclude $(KBUILD_PATH)/subheader.kmk
38856343f90103280eb83b5e697f9f618b407d83vboxsync
38856343f90103280eb83b5e697f9f618b407d83vboxsync#
38856343f90103280eb83b5e697f9f618b407d83vboxsync# Target lists.
38856343f90103280eb83b5e697f9f618b407d83vboxsync#
38856343f90103280eb83b5e697f9f618b407d83vboxsyncPROGRAMS += VBoxService
38856343f90103280eb83b5e697f9f618b407d83vboxsyncPROGRAMS.win.x86 += VBoxServiceNT
38856343f90103280eb83b5e697f9f618b407d83vboxsync
38856343f90103280eb83b5e697f9f618b407d83vboxsync#
38856343f90103280eb83b5e697f9f618b407d83vboxsync# VBoxService
38856343f90103280eb83b5e697f9f618b407d83vboxsync#
38856343f90103280eb83b5e697f9f618b407d83vboxsyncVBoxService_TEMPLATE = VBOXGUESTR3EXE
38856343f90103280eb83b5e697f9f618b407d83vboxsyncVBoxService_DEFS = VBOXSERVICE_TIMESYNC VBOXSERVICE_MANAGEMENT
38856343f90103280eb83b5e697f9f618b407d83vboxsyncVBoxService_DEFS.win += _WIN32_WINNT=0x0501
38856343f90103280eb83b5e697f9f618b407d83vboxsyncVBoxService_DEFS.os2 = VBOX_WITH_HGCM VBOXSERVICE_CLIPBOARD
38856343f90103280eb83b5e697f9f618b407d83vboxsyncifdef VBOX_WITH_GUEST_PROPS
38856343f90103280eb83b5e697f9f618b407d83vboxsync VBoxService_DEFS += VBOX_WITH_GUEST_PROPS VBOXSERVICE_VMINFO
38856343f90103280eb83b5e697f9f618b407d83vboxsync if1of ($(KBUILD_TARGET), win)
38856343f90103280eb83b5e697f9f618b407d83vboxsync VBoxService_DEFS += VBOX_WITH_HGCM VBOXSERVICE_EXEC
38856343f90103280eb83b5e697f9f618b407d83vboxsync endif
38856343f90103280eb83b5e697f9f618b407d83vboxsyncifdef VBOX_WITH_GUEST_CONTROL
38856343f90103280eb83b5e697f9f618b407d83vboxsync VBoxService_DEFS += VBOX_WITH_GUEST_CONTROL VBOXSERVICE_CONTROL
38856343f90103280eb83b5e697f9f618b407d83vboxsyncendif
38856343f90103280eb83b5e697f9f618b407d83vboxsyncendif
38856343f90103280eb83b5e697f9f618b407d83vboxsyncif1of ($(KBUILD_TARGET), linux)
38856343f90103280eb83b5e697f9f618b407d83vboxsync VBoxService_DEFS += VBOXSERVICE_CPUHOTPLUG
38856343f90103280eb83b5e697f9f618b407d83vboxsyncendif
38856343f90103280eb83b5e697f9f618b407d83vboxsync
4f5c03319462e58ce23cdd7d37d17a72e57f7105vboxsyncVBoxService_SOURCES = \
38856343f90103280eb83b5e697f9f618b407d83vboxsync VBoxService.cpp \
4f5c03319462e58ce23cdd7d37d17a72e57f7105vboxsync VBoxServiceTimeSync.cpp \
38856343f90103280eb83b5e697f9f618b407d83vboxsync VBoxServiceUtils.cpp \
4f5c03319462e58ce23cdd7d37d17a72e57f7105vboxsync VBoxServiceBalloon.cpp \
38856343f90103280eb83b5e697f9f618b407d83vboxsync VBoxServiceStats.cpp
4f5c03319462e58ce23cdd7d37d17a72e57f7105vboxsyncifdef VBOX_WITH_GUEST_CONTROL
38856343f90103280eb83b5e697f9f618b407d83vboxsync VBoxService_SOURCES += \
38856343f90103280eb83b5e697f9f618b407d83vboxsync VBoxServiceControl.cpp
38856343f90103280eb83b5e697f9f618b407d83vboxsyncendif
38856343f90103280eb83b5e697f9f618b407d83vboxsyncifdef VBOX_WITH_GUEST_PROPS
38856343f90103280eb83b5e697f9f618b407d83vboxsync VBoxService_SOURCES.win = \
38856343f90103280eb83b5e697f9f618b407d83vboxsync VBoxServiceVMInfo-win.cpp
38856343f90103280eb83b5e697f9f618b407d83vboxsync VBoxService_SOURCES += \
38856343f90103280eb83b5e697f9f618b407d83vboxsync VBoxServiceVMInfo.cpp
38856343f90103280eb83b5e697f9f618b407d83vboxsync if1of ($(KBUILD_TARGET), win)
38856343f90103280eb83b5e697f9f618b407d83vboxsync VBoxService_SOURCES += \
38856343f90103280eb83b5e697f9f618b407d83vboxsync VBoxServiceExec.cpp
38856343f90103280eb83b5e697f9f618b407d83vboxsync endif
38856343f90103280eb83b5e697f9f618b407d83vboxsyncendif
38856343f90103280eb83b5e697f9f618b407d83vboxsyncif1of ($(KBUILD_TARGET), linux)
38856343f90103280eb83b5e697f9f618b407d83vboxsync VBoxService_SOURCES += \
38856343f90103280eb83b5e697f9f618b407d83vboxsync VBoxServiceCpuHotPlug.cpp
38856343f90103280eb83b5e697f9f618b407d83vboxsyncendif
38856343f90103280eb83b5e697f9f618b407d83vboxsyncVBoxService_SOURCES.win += \
38856343f90103280eb83b5e697f9f618b407d83vboxsync VBoxService-win.rc \
38856343f90103280eb83b5e697f9f618b407d83vboxsync VBoxService-win.cpp
38856343f90103280eb83b5e697f9f618b407d83vboxsync
38856343f90103280eb83b5e697f9f618b407d83vboxsyncVBoxService_SOURCES.os2 = \
38856343f90103280eb83b5e697f9f618b407d83vboxsync VBoxService-os2.def \
38856343f90103280eb83b5e697f9f618b407d83vboxsync VBoxServiceClipboard-os2.cpp
38856343f90103280eb83b5e697f9f618b407d83vboxsync
38856343f90103280eb83b5e697f9f618b407d83vboxsyncVBoxService_LIBS = \
38856343f90103280eb83b5e697f9f618b407d83vboxsync $(VBOX_LIB_IPRT_GUEST_R3) \
38856343f90103280eb83b5e697f9f618b407d83vboxsync $(VBOX_LIB_VBGL_R3) \
38856343f90103280eb83b5e697f9f618b407d83vboxsync $(VBOX_LIB_IPRT_GUEST_R3)
7258e84ec2fa7ecaf94e1a244bd6d2cf6b3a40a4vboxsyncifdef VBOX_WITH_GUEST_PROPS
38856343f90103280eb83b5e697f9f618b407d83vboxsync VBoxService_LIBS.win += \
38856343f90103280eb83b5e697f9f618b407d83vboxsync Secur32.lib \
38856343f90103280eb83b5e697f9f618b407d83vboxsync WtsApi32.lib \
38856343f90103280eb83b5e697f9f618b407d83vboxsync Psapi.lib
38856343f90103280eb83b5e697f9f618b407d83vboxsync VBoxService_LIBS.solaris += \
38856343f90103280eb83b5e697f9f618b407d83vboxsync nsl
38856343f90103280eb83b5e697f9f618b407d83vboxsyncendif
38856343f90103280eb83b5e697f9f618b407d83vboxsync
38856343f90103280eb83b5e697f9f618b407d83vboxsync#
38856343f90103280eb83b5e697f9f618b407d83vboxsync# VBoxServiceNT - NT4 version of VBoxService.
38856343f90103280eb83b5e697f9f618b407d83vboxsync#
38856343f90103280eb83b5e697f9f618b407d83vboxsyncVBoxServiceNT_TEMPLATE = VBOXGUESTR3EXE
38856343f90103280eb83b5e697f9f618b407d83vboxsyncVBoxServiceNT_EXTENDS = VBoxService
38856343f90103280eb83b5e697f9f618b407d83vboxsyncVBoxServiceNT_DEFS.win = _WIN32_WINNT=0x0400 TARGET_NT4 VBOXSERVICE_MANAGEMENT
38856343f90103280eb83b5e697f9f618b407d83vboxsync
38856343f90103280eb83b5e697f9f618b407d83vboxsyncVBoxServiceVMInfo.cpp_DEFS = VBOX_SVN_REV=$(VBOX_SVN_REV)
38856343f90103280eb83b5e697f9f618b407d83vboxsyncVBoxServiceVMInfo.cpp_DEPS = $(VBOX_SVN_REV_KMK)
38856343f90103280eb83b5e697f9f618b407d83vboxsync
38856343f90103280eb83b5e697f9f618b407d83vboxsync#
38856343f90103280eb83b5e697f9f618b407d83vboxsync# The icon is configurable.
38856343f90103280eb83b5e697f9f618b407d83vboxsync#
38856343f90103280eb83b5e697f9f618b407d83vboxsyncVBoxService-win.rc_INCS = $(PATH_VBoxService)
38856343f90103280eb83b5e697f9f618b407d83vboxsyncVBoxService-win.rc_DEPS = $(PATH_VBoxService)/VBoxService-win-icon.rc
38856343f90103280eb83b5e697f9f618b407d83vboxsyncVBoxService-win.rc_CLEAN = $(PATH_VBoxService)/VBoxService-win-icon.rc
38856343f90103280eb83b5e697f9f618b407d83vboxsync
38856343f90103280eb83b5e697f9f618b407d83vboxsync# Icon include file.
38856343f90103280eb83b5e697f9f618b407d83vboxsync$$(PATH_VBoxService)/VBoxService-win-icon.rc: $(VBOX_WINDOWS_ADDITIONS_ICON_FILE) $$(VBoxService_PATH)/Makefile.kmk | $$(dir $$@)
38856343f90103280eb83b5e697f9f618b407d83vboxsync $(RM) -f $@
38856343f90103280eb83b5e697f9f618b407d83vboxsync $(APPEND) $@ 'IDI_VIRTUALBOX ICON DISCARDABLE "$(subst /,\\,$(VBOX_WINDOWS_ADDITIONS_ICON_FILE))"'
38856343f90103280eb83b5e697f9f618b407d83vboxsync
38856343f90103280eb83b5e697f9f618b407d83vboxsyncinclude $(KBUILD_PATH)/subfooter.kmk
38856343f90103280eb83b5e697f9f618b407d83vboxsync
38856343f90103280eb83b5e697f9f618b407d83vboxsync