VirtualBox

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

Last change on this file since 32991 was 32991, checked in by vboxsync, 14 years ago

Additions/VBoxService: Solaris: the R3 runtime needs libcontract

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 4.0 KB
Line 
1# $Id: Makefile.kmk 32991 2010-10-07 17:08:56Z vboxsync $
2## @file
3# Sub-Makefile for the Cross Platform Guest Addition Services.
4#
5
6#
7# Copyright (C) 2007-2010 Oracle Corporation
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
18SUB_DEPTH = ../../../../..
19include $(KBUILD_PATH)/subheader.kmk
20
21#
22# Incldue testcases.
23#
24include $(PATH_SUB_CURRENT)/testcase/Makefile.kmk
25
26#
27# Target lists.
28#
29PROGRAMS += VBoxService
30PROGRAMS.win.x86 += VBoxServiceNT
31
32#
33# VBoxService
34#
35VBoxService_TEMPLATE = VBOXGUESTR3EXE
36VBoxService_DEFS = VBOX_WITH_HGCM VBOXSERVICE_TIMESYNC VBOXSERVICE_MANAGEMENT
37VBoxService_DEFS.win += _WIN32_WINNT=0x0501
38VBoxService_DEFS.os2 = VBOX_WITH_HGCM VBOXSERVICE_CLIPBOARD
39ifdef VBOX_WITH_GUEST_PROPS
40 VBoxService_DEFS += VBOX_WITH_GUEST_PROPS VBOXSERVICE_VMINFO
41 if1of ($(KBUILD_TARGET), win)
42 VBoxService_DEFS += VBOXSERVICE_EXEC
43 endif
44endif
45ifdef VBOX_WITH_GUEST_CONTROL
46 VBoxService_DEFS += VBOX_WITH_GUEST_CONTROL VBOXSERVICE_CONTROL
47endif
48ifdef VBOX_WITH_MEMBALLOON
49 VBoxService_DEFS += VBOX_WITH_MEMBALLOON
50endif
51if1of ($(KBUILD_TARGET), win)
52 VBoxService_DEFS += VBOX_WITH_PAGE_SHARING
53endif
54if1of ($(KBUILD_TARGET), linux)
55 VBoxService_DEFS += VBOXSERVICE_CPUHOTPLUG
56endif
57ifdef VBOX_WITH_SHARED_FOLDERS
58 # darwin freebsd
59 if1of ($(KBUILD_TARGET), linux solaris)
60 VBoxService_DEFS += VBOX_WITH_SHARED_FOLDERS
61 endif
62endif
63
64VBoxService_SOURCES = \
65 VBoxService.cpp \
66 VBoxServiceTimeSync.cpp \
67 VBoxServiceUtils.cpp \
68 VBoxServiceStats.cpp
69
70ifdef VBOX_WITH_GUEST_CONTROL
71 VBoxService_SOURCES += \
72 VBoxServiceControl.cpp \
73 VBoxServiceControlExec.cpp
74endif
75
76ifdef VBOX_WITH_MEMBALLOON
77 VBoxService_SOURCES += \
78 VBoxServiceBalloon.cpp
79endif
80if1of ($(KBUILD_TARGET), win)
81 VBoxService_SOURCES += \
82 VBoxServicePageSharing.cpp
83endif
84
85ifdef VBOX_WITH_GUEST_PROPS
86 VBoxService_SOURCES.win = \
87 VBoxServiceVMInfo-win.cpp
88 VBoxService_SOURCES += \
89 VBoxServiceVMInfo.cpp \
90 VBoxServicePropCache.cpp
91endif
92
93if1of ($(KBUILD_TARGET), linux)
94 VBoxService_SOURCES += \
95 VBoxServiceCpuHotPlug.cpp
96endif
97
98ifdef VBOX_WITH_SHARED_FOLDERS
99 if1of ($(KBUILD_TARGET), linux solaris)
100 VBoxService_SOURCES += \
101 VBoxServiceAutoMount.cpp
102 VBoxService_SOURCES.linux += \
103 ../../linux/sharedfolders/vbsfmount.c
104 endif
105endif
106
107VBoxService_SOURCES.win += \
108 VBoxService-win.rc \
109 VBoxService-win.cpp
110
111VBoxService_SOURCES.os2 = \
112 VBoxService-os2.def \
113 VBoxServiceClipboard-os2.cpp
114
115VBoxService_LIBS = \
116 $(VBOX_LIB_IPRT_GUEST_R3) \
117 $(VBOX_LIB_VBGL_R3) \
118 $(VBOX_LIB_IPRT_GUEST_R3)
119if1of ($(KBUILD_TARGET), linux)
120 VBoxService_LIBS += \
121 crypt
122endif
123ifdef VBOX_WITH_GUEST_PROPS
124 VBoxService_LIBS.win += \
125 Secur32.lib \
126 WtsApi32.lib \
127 Psapi.lib
128 VBoxService_LIBS.solaris += \
129 nsl kstat contract
130endif
131
132#
133# VBoxServiceNT - NT4 version of VBoxService.
134#
135VBoxServiceNT_TEMPLATE = VBOXGUESTR3EXE
136VBoxServiceNT_EXTENDS = VBoxService
137VBoxServiceNT_DEFS.win = _WIN32_WINNT=0x0400 TARGET_NT4 VBOXSERVICE_MANAGEMENT
138
139VBoxServiceVMInfo.cpp_DEFS = VBOX_SVN_REV=$(VBOX_SVN_REV)
140VBoxServiceVMInfo.cpp_DEPS = $(VBOX_SVN_REV_KMK)
141
142#
143# The icon is configurable.
144#
145VBoxService-win.rc_INCS = $(PATH_VBoxService)
146VBoxService-win.rc_DEPS = $(PATH_VBoxService)/VBoxService-win-icon.rc
147VBoxService-win.rc_CLEAN = $(PATH_VBoxService)/VBoxService-win-icon.rc
148
149# Icon include file.
150$$(PATH_VBoxService)/VBoxService-win-icon.rc: $(VBOX_WINDOWS_ADDITIONS_ICON_FILE) $$(VBoxService_PATH)/Makefile.kmk | $$(dir $$@)
151 $(RM) -f $@
152 $(APPEND) $@ 'IDI_VIRTUALBOX ICON DISCARDABLE "$(subst /,\\,$(VBOX_WINDOWS_ADDITIONS_ICON_FILE))"'
153
154include $(KBUILD_PATH)/subfooter.kmk
155
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