VirtualBox

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

最後變更 在這個檔案從93844是 93844,由 vboxsync 提交於 3 年 前

Validation Kit: Extended unittest test driver so that it also can install + execute unittests on remote targets (i.e. older / unsupported guests). To continue running testcases locally, the "--local" switch has to specified. Currently using the smoke test set (NAT) by default [build fix]. bugref:10195

  • 屬性 svn:eol-style 設為 native
  • 屬性 svn:keywords 設為 Author Date Id Revision
檔案大小: 5.8 KB
 
1# $Id: Makefile.kmk 93844 2022-02-18 14:43:41Z vboxsync $
2## @file
3# Sub-Makefile for the Cross Platform Guest Addition Services.
4#
5
6#
7# Copyright (C) 2007-2022 Oracle Corporation
8#
9# This file is part of VirtualBox Open Source Edition (OSE), as
10# available from http://www.alldomusa.eu.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
30
31# Enable the timesync service within VBoxService.
32VBOX_WITH_VBOXSERVICE_TIMESYNC := 1
33
34# Busybox-like toolbox, embedded into VBoxService.
35VBOX_WITH_VBOXSERVICE_TOOLBOX := 1
36
37# VM-management functions, like memory ballooning and statistics.
38VBOX_WITH_VBOXSERVICE_MANAGEMENT := 1
39
40if1of ($(KBUILD_TARGET), linux)
41 # CPU hotplugging.
42VBOX_WITH_VBOXSERVICE_CPUHOTPLUG := 1
43endif
44
45# Page Sharing (Page Fusion).
46if1of ($(KBUILD_TARGET), win)
47VBOX_WITH_VBOXSERVICE_PAGE_SHARING := 1
48endif
49
50ifdef VBOX_WITH_GUEST_PROPS
51VBOX_WITH_VBOXSERVICE_VMINFO := 1
52endif
53
54# Guest Control.
55ifdef VBOX_WITH_GUEST_CONTROL
56VBOX_WITH_VBOXSERVICE_CONTROL := 1
57endif
58
59# Shared Clipboard.
60ifdef VBOX_WITH_SHARED_CLIPBOARD
61VBOX_WITH_VBOXSERVICE_CLIPBOARD := 1
62endif
63
64# DRM Resize.
65if "$(KBUILD_TARGET)" == "linux" && defined(VBOX_WITH_GUEST_PROPS)
66 # The DRM resizing code needs guest properties.
67 VBOX_WITH_VBOXSERVICE_DRMRESIZE := 1
68endif
69
70#
71# VBoxService
72#
73if "$(KBUILD_TARGET)" == "win" || defined(VBOX_WITH_MASOCHISTIC_WARNINGS) ## @todo use VBoxGuestR3Exe everywhere
74VBoxService_TEMPLATE = VBoxGuestR3Exe
75else
76VBoxService_TEMPLATE = NewVBoxGuestR3Exe
77endif
78
79# Define features to be activate.
80VBoxService_DEFS += \
81 $(if $(VBOX_WITH_VBOXSERVICE_CONTROL),VBOX_WITH_VBOXSERVICE_CONTROL,) \
82 $(if $(VBOX_WITH_VBOXSERVICE_CPUHOTPLUG),VBOX_WITH_VBOXSERVICE_CPUHOTPLUG,) \
83 $(if $(VBOX_WITH_VBOXSERVICE_DRMRESIZE),VBOX_WITH_VBOXSERVICE_DRMRESIZE,) \
84 $(if $(VBOX_WITH_VBOXSERVICE_MANAGEMENT),VBOX_WITH_VBOXSERVICE_MANAGEMENT,) \
85 $(if $(VBOX_WITH_VBOXSERVICE_PAGE_SHARING),VBOX_WITH_VBOXSERVICE_PAGE_SHARING,) \
86 $(if $(VBOX_WITH_VBOXSERVICE_TIMESYNC),VBOX_WITH_VBOXSERVICE_TIMESYNC,) \
87 $(if $(VBOX_WITH_VBOXSERVICE_TOOLBOX),VBOX_WITH_VBOXSERVICE_TOOLBOX,) \
88 $(if $(VBOX_WITH_VBOXSERVICE_VMINFO),VBOX_WITH_VBOXSERVICE_VMINFO,)
89
90VBoxService_DEFS := VBOX_WITH_VBOXSERVICE_CONTROL
91
92# Import global defines.
93VBoxService_DEFS += \
94 $(if $(VBOX_WITH_DBUS),VBOX_WITH_DBUS,) \
95 $(if $(VBOX_WITH_GUEST_CONTROL),VBOX_WITH_GUEST_CONTROL,) \
96 $(if $(VBOX_WITH_GUEST_PROPS),VBOX_WITH_GUEST_PROPS,) \
97 $(if $(VBOX_WITH_HGCM),VBOX_WITH_HGCM,)
98
99ifdef VBOX_WITH_AUTOMATIC_DEFS_QUOTING
100VBoxService_DEFS += VBOX_BUILD_TARGET="$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)"
101else
102VBoxService_DEFS += VBOX_BUILD_TARGET=\"$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)\"
103endif
104VBoxService_DEFS.win += _WIN32_WINNT=0x0501
105VBoxService_DEFS.os2 = VBOX_WITH_HGCM
106
107VBoxService_SOURCES = \
108 VBoxService.cpp \
109 VBoxServiceUtils.cpp \
110 VBoxServiceStats.cpp
111
112ifdef VBOX_WITH_VBOXSERVICE_TIMESYNC
113VBoxService_SOURCES += \
114 VBoxServiceTimeSync.cpp
115endif
116
117ifdef VBOX_WITH_VBOXSERVICE_CLIPBOARD
118 VBoxService_DEFS.os2 += VBOX_WITH_VBOXSERVICE_CLIPBOARD VBOX_WITH_SHARED_CLIPBOARD
119 VBoxService_SOURCES.os2 += \
120 VBoxServiceClipboard-os2.cpp \
121 $(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/clipboard-common.cpp
122endif
123
124ifdef VBOX_WITH_VBOXSERVICE_TOOLBOX
125VBoxService_SOURCES += \
126 VBoxServiceToolBox.cpp
127endif
128
129ifdef VBOX_WITH_VBOXSERVICE_CONTROL
130VBoxService_SOURCES += \
131 VBoxServiceControl.cpp \
132 VBoxServiceControlProcess.cpp \
133 VBoxServiceControlSession.cpp
134endif
135
136ifdef VBOX_WITH_VBOXSERVICE_MANAGEMENT
137 ifdef VBOX_WITH_MEMBALLOON
138 VBoxService_SOURCES += \
139 VBoxServiceBalloon.cpp
140 VBoxService_DEFS += VBOX_WITH_MEMBALLOON
141 endif
142endif
143
144if1of ($(KBUILD_TARGET), win)
145VBoxService_SOURCES += \
146 VBoxServicePageSharing.cpp
147endif
148
149ifdef VBOX_WITH_VBOXSERVICE_VMINFO
150VBoxService_SOURCES.win += \
151 VBoxServiceVMInfo-win.cpp
152VBoxService_SOURCES += \
153 VBoxServiceVMInfo.cpp \
154 VBoxServicePropCache.cpp
155endif
156
157ifdef VBOX_WITH_VBOXSERVICE_CPUHOTPLUG
158VBoxService_SOURCES += \
159 VBoxServiceCpuHotPlug.cpp
160endif
161
162ifdef VBOX_WITH_SHARED_FOLDERS
163 if1of ($(KBUILD_TARGET), linux os2 solaris win)
164VBoxService_DEFS += VBOX_WITH_SHARED_FOLDERS
165VBoxService_SOURCES += \
166 VBoxServiceAutoMount.cpp
167VBoxService_SOURCES.linux += \
168 ../../linux/sharedfolders/vbsfmount.c
169VBoxService_LIBS.win += \
170 Mpr.Lib
171 endif
172endif
173
174VBoxService_SOURCES.win += \
175 VBoxService-win.cpp
176
177VBoxService_SOURCES.os2 += \
178 VBoxService-os2.def
179
180VBoxService_LDFLAGS += -static
181VBoxService_LDFLAGS.darwin = -framework IOKit
182
183VBoxService_LIBS += \
184 $(VBOX_LIB_IPRT_GUEST_R3) \
185 $(VBOX_LIB_VBGL_R3) \
186 $(VBOX_LIB_IPRT_GUEST_R3) # (The joy of unix linkers.)
187ifdef VBOX_WITH_DBUS
188 if1of ($(KBUILD_TARGET), linux solaris) # FreeBSD?
189VBoxService_LIBS += \
190 dl
191 endif
192endif
193VBoxService_LIBS.netbsd += crypt
194ifdef VBOX_WITH_GUEST_PROPS
195VBoxService_LIBS.win += \
196 Secur32.lib \
197 WtsApi32.lib \
198 Psapi.lib
199VBoxService_LIBS.solaris += \
200 nsl \
201 kstat \
202 contract
203endif
204
205ifdef VBOX_WITH_VBOXSERVICE_VMINFO
206 VBoxServiceVMInfo.cpp_DEFS = VBOX_SVN_REV=$(VBOX_SVN_REV)
207 VBoxServiceVMInfo.cpp_DEPS = $(VBOX_SVN_REV_KMK)
208endif
209
210VBoxService_USES.win += vboximportchecker
211VBoxService_VBOX_IMPORT_CHECKER.win.x86 = nt31
212VBoxService_VBOX_IMPORT_CHECKER.win.amd64 = xp64
213
214$(call VBOX_SET_VER_INFO_EXE,VBoxService,VirtualBox Guest Additions Service,$(VBOX_WINDOWS_ICON_FILE)) # Version info / description.
215
216include $(FILE_KBUILD_SUB_FOOTER)
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

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