VirtualBox

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

Last change on this file since 37826 was 37375, checked in by vboxsync, 13 years ago

GuestCtrl: Added APIs for guest directory enumeration, guest file existence and copy from guest support, some API renaming/cleanup (work in progress).

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