Makefile.kmk revision b47f1bf67de12aaf4f0827597196f26a5539c34b
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync# $Id$
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync## @file
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync# Sub-Makefile for the Cross Platform Guest Addition Services.
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync# Copyright (C) 2007-2011 Oracle Corporation
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync# available from http://www.virtualbox.org. This file is free software;
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync# you can redistribute it and/or modify it under the terms of the GNU
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync# General Public License (GPL) as published by the Free Software
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync# Foundation, in version 2 as it comes in the "COPYING" file of the
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncSUB_DEPTH = ../../../../..
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncinclude $(KBUILD_PATH)/subheader.kmk
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync# Incldue testcases.
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncinclude $(PATH_SUB_CURRENT)/testcase/Makefile.kmk
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync# Target lists.
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncPROGRAMS += VBoxService
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncPROGRAMS.win.x86 += VBoxServiceNT
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync# VBoxService
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncVBoxService_TEMPLATE = VBOXGUESTR3EXE
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncVBoxService_DEFS = LOG_TO_BACKDOOR VBOX_WITH_HGCM VBOXSERVICE_TIMESYNC VBOXSERVICE_MANAGEMENT VBOXSERVICE_TOOLBOX
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncVBoxService_DEFS.win += _WIN32_WINNT=0x0501
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncVBoxService_DEFS.os2 = VBOX_WITH_HGCM VBOXSERVICE_CLIPBOARD
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncifdef VBOX_WITH_GUEST_PROPS
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync VBoxService_DEFS += VBOX_WITH_GUEST_PROPS VBOXSERVICE_VMINFO
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncendif
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncifdef VBOX_WITH_GUEST_CONTROL
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync VBoxService_DEFS += VBOX_WITH_GUEST_CONTROL VBOXSERVICE_CONTROL
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncendif
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncifdef VBOX_WITH_MEMBALLOON
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync VBoxService_DEFS += VBOX_WITH_MEMBALLOON
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncendif
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncif1of ($(KBUILD_TARGET), win)
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync VBoxService_DEFS += VBOX_WITH_PAGE_SHARING
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncendif
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncif1of ($(KBUILD_TARGET), linux)
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync VBoxService_DEFS += VBOXSERVICE_CPUHOTPLUG
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncendif
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncifdef VBOX_WITH_SHARED_FOLDERS
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync # darwin freebsd
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync if1of ($(KBUILD_TARGET), linux solaris)
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync VBoxService_DEFS += VBOX_WITH_SHARED_FOLDERS
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync endif
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncendif
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncVBoxService_SOURCES = \
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync VBoxService.cpp \
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync VBoxServiceTimeSync.cpp \
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync VBoxServiceUtils.cpp \
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync VBoxServiceStats.cpp \
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync VBoxServiceToolBox.cpp
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncifdef VBOX_WITH_GUEST_CONTROL
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync VBoxService_SOURCES += \
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync VBoxServiceControl.cpp \
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync VBoxServiceControlExecThread.cpp
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncendif
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncifdef VBOX_WITH_MEMBALLOON
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync VBoxService_SOURCES += \
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync VBoxServiceBalloon.cpp
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncendif
7c1f498692cd2393f8ba68cb62be482495106f93vboxsyncif1of ($(KBUILD_TARGET), win)
d1fcf24d24368926be13484524a9e378070a9157vboxsync VBoxService_SOURCES += \
7c1f498692cd2393f8ba68cb62be482495106f93vboxsync VBoxServicePageSharing.cpp
d1fcf24d24368926be13484524a9e378070a9157vboxsyncendif
7c1f498692cd2393f8ba68cb62be482495106f93vboxsync
7c1f498692cd2393f8ba68cb62be482495106f93vboxsyncifdef VBOX_WITH_GUEST_PROPS
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync VBoxService_SOURCES.win = \
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync VBoxServiceVMInfo-win.cpp
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync VBoxService_SOURCES += \
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync VBoxServiceVMInfo.cpp \
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync VBoxServicePropCache.cpp
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncendif
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncif1of ($(KBUILD_TARGET), linux)
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync VBoxService_SOURCES += \
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync VBoxServiceCpuHotPlug.cpp
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncendif
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncifdef VBOX_WITH_SHARED_FOLDERS
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync if1of ($(KBUILD_TARGET), linux solaris)
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync VBoxService_SOURCES += \
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync VBoxServiceAutoMount.cpp
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync VBoxService_SOURCES.linux += \
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync ../../linux/sharedfolders/vbsfmount.c
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync endif
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncendif
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncVBoxService_SOURCES.win += \
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync VBoxService-win.rc \
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync VBoxService-win.cpp
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncVBoxService_SOURCES.os2 = \
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync VBoxService-os2.def \
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync VBoxServiceClipboard-os2.cpp
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncVBoxService_LIBS = \
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync $(VBOX_LIB_IPRT_GUEST_R3) \
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync $(VBOX_LIB_VBGL_R3) \
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync $(VBOX_LIB_IPRT_GUEST_R3)
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncif1of ($(KBUILD_TARGET), linux)
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync VBoxService_LIBS += \
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync crypt
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncendif
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncifdef VBOX_WITH_GUEST_PROPS
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync VBoxService_LIBS.win += \
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync Secur32.lib \
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync WtsApi32.lib \
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync Psapi.lib
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync VBoxService_LIBS.solaris += \
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync nsl kstat contract
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncendif
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync# VBoxServiceNT - NT4 version of VBoxService.
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncVBoxServiceNT_TEMPLATE = VBOXGUESTR3EXE
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncVBoxServiceNT_EXTENDS = VBoxService
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncVBoxServiceNT_DEFS.win = _WIN32_WINNT=0x0400 TARGET_NT4 VBOXSERVICE_MANAGEMENT
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncVBoxServiceVMInfo.cpp_DEFS = VBOX_SVN_REV=$(VBOX_SVN_REV)
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncVBoxServiceVMInfo.cpp_DEPS = $(VBOX_SVN_REV_KMK)
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync# The icon is configurable.
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncVBoxService-win.rc_INCS = $(VBoxService_0_OUTDIR)
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncVBoxService-win.rc_DEPS = $(VBoxService_0_OUTDIR)/VBoxService-win-icon.rc
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncVBoxService-win.rc_CLEAN = $(VBoxService_0_OUTDIR)/VBoxService-win-icon.rc
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync# Icon include file.
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync$$(VBoxService_0_OUTDIR)/VBoxService-win-icon.rc: $(VBOX_WINDOWS_ADDITIONS_ICON_FILE) $$(VBoxService_DEFPATH)/Makefile.kmk | $$(dir $$@)
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync $(RM) -f $@
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync $(APPEND) $@ 'IDI_VIRTUALBOX ICON DISCARDABLE "$(subst /,\\,$(VBOX_WINDOWS_ADDITIONS_ICON_FILE))"'
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncinclude $(KBUILD_PATH)/subfooter.kmk
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync