VirtualBox

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

Last change on this file since 55628 was 54120, checked in by vboxsync, 10 years ago

Windows guest additions: cleanup, removed obsolete MMR code.

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