VirtualBox

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

Last change on this file since 32590 was 31204, checked in by vboxsync, 15 years ago

Space.

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

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