VirtualBox

source: vbox/trunk/src/VBox/Additions/common/VBoxService/Makefile.kmk@ 28243

Last change on this file since 28243 was 28176, checked in by vboxsync, 15 years ago

Guest Control: Enable building by default for Windows + Linux.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.4 KB
Line 
1# $Id: Makefile.kmk 28176 2010-04-12 08:04:24Z vboxsync $
2## @file
3# Sub-Makefile for the Cross Platform Guest Addition Services.
4#
5
6#
7# Copyright (C) 2007-2010 Sun Microsystems, Inc.
8#
9# This file is part of VirtualBox Open Source Edition (OSE), as
10# available from http://www.virtualbox.org. This file is free software;
11# you can redistribute it and/or modify it under the terms of the GNU
12# General Public License (GPL) as published by the Free Software
13# Foundation, in version 2 as it comes in the "COPYING" file of the
14# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
15# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
16#
17# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
18# Clara, CA 95054 USA or visit http://www.sun.com if you need
19# additional information or have any questions.
20#
21
22SUB_DEPTH = ../../../../..
23include $(KBUILD_PATH)/subheader.kmk
24
25#
26# Target lists.
27#
28PROGRAMS += VBoxService
29PROGRAMS.win.x86 += VBoxServiceNT
30
31#
32# VBoxService
33#
34VBoxService_TEMPLATE = VBOXGUESTR3EXE
35VBoxService_DEFS = VBOX_WITH_HGCM VBOXSERVICE_TIMESYNC VBOXSERVICE_MANAGEMENT
36VBoxService_DEFS.win += _WIN32_WINNT=0x0501
37VBoxService_DEFS.os2 = VBOX_WITH_HGCM VBOXSERVICE_CLIPBOARD
38ifdef VBOX_WITH_GUEST_PROPS
39 VBoxService_DEFS += VBOX_WITH_GUEST_PROPS VBOXSERVICE_VMINFO
40 if1of ($(KBUILD_TARGET), win)
41 VBoxService_DEFS += VBOXSERVICE_EXEC
42 endif
43ifdef VBOX_WITH_GUEST_CONTROL
44 VBoxService_DEFS += VBOX_WITH_GUEST_CONTROL VBOXSERVICE_CONTROL
45endif
46endif
47if1of ($(KBUILD_TARGET), linux)
48 VBoxService_DEFS += VBOXSERVICE_CPUHOTPLUG
49endif
50
51VBoxService_SOURCES = \
52 VBoxService.cpp \
53 VBoxServiceTimeSync.cpp \
54 VBoxServiceUtils.cpp \
55 VBoxServiceBalloon.cpp \
56 VBoxServiceStats.cpp
57ifdef VBOX_WITH_GUEST_CONTROL
58 VBoxService_SOURCES += \
59 VBoxServiceControl.cpp \
60 VBoxServiceControlExec.cpp
61endif
62ifdef VBOX_WITH_GUEST_PROPS
63 VBoxService_SOURCES.win = \
64 VBoxServiceVMInfo-win.cpp
65 VBoxService_SOURCES += \
66 VBoxServiceVMInfo.cpp
67 if1of ($(KBUILD_TARGET), win)
68 VBoxService_SOURCES += \
69 VBoxServiceExec.cpp
70 endif
71endif
72if1of ($(KBUILD_TARGET), linux)
73 VBoxService_SOURCES += \
74 VBoxServiceCpuHotPlug.cpp
75endif
76VBoxService_SOURCES.win += \
77 VBoxService-win.rc \
78 VBoxService-win.cpp
79
80VBoxService_SOURCES.os2 = \
81 VBoxService-os2.def \
82 VBoxServiceClipboard-os2.cpp
83
84VBoxService_LIBS = \
85 $(VBOX_LIB_IPRT_GUEST_R3) \
86 $(VBOX_LIB_VBGL_R3) \
87 $(VBOX_LIB_IPRT_GUEST_R3)
88ifdef VBOX_WITH_GUEST_PROPS
89 VBoxService_LIBS.win += \
90 Secur32.lib \
91 WtsApi32.lib \
92 Psapi.lib
93 VBoxService_LIBS.solaris += \
94 nsl kstat
95endif
96
97#
98# VBoxServiceNT - NT4 version of VBoxService.
99#
100VBoxServiceNT_TEMPLATE = VBOXGUESTR3EXE
101VBoxServiceNT_EXTENDS = VBoxService
102VBoxServiceNT_DEFS.win = _WIN32_WINNT=0x0400 TARGET_NT4 VBOXSERVICE_MANAGEMENT
103
104VBoxServiceVMInfo.cpp_DEFS = VBOX_SVN_REV=$(VBOX_SVN_REV)
105VBoxServiceVMInfo.cpp_DEPS = $(VBOX_SVN_REV_KMK)
106
107#
108# The icon is configurable.
109#
110VBoxService-win.rc_INCS = $(PATH_VBoxService)
111VBoxService-win.rc_DEPS = $(PATH_VBoxService)/VBoxService-win-icon.rc
112VBoxService-win.rc_CLEAN = $(PATH_VBoxService)/VBoxService-win-icon.rc
113
114# Icon include file.
115$$(PATH_VBoxService)/VBoxService-win-icon.rc: $(VBOX_WINDOWS_ADDITIONS_ICON_FILE) $$(VBoxService_PATH)/Makefile.kmk | $$(dir $$@)
116 $(RM) -f $@
117 $(APPEND) $@ 'IDI_VIRTUALBOX ICON DISCARDABLE "$(subst /,\\,$(VBOX_WINDOWS_ADDITIONS_ICON_FILE))"'
118
119include $(KBUILD_PATH)/subfooter.kmk
120
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette