VirtualBox

source: vbox/trunk/src/VBox/HostServices/SharedClipboard/Makefile.kmk

Last change on this file was 102188, checked in by vboxsync, 6 months ago

Shared Clipboard/Transfers: Compile fix for Solaris (not enabled by default there yet) [build fix]. bugref:9437

  • 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 102188 2023-11-21 10:57:48Z vboxsync $
2## @file
3# Sub-Makefile for the Shared Clipboard Host Service.
4#
5
6#
7# Copyright (C) 2006-2023 Oracle and/or its affiliates.
8#
9# This file is part of VirtualBox base platform packages, as
10# available from https://www.virtualbox.org.
11#
12# This program is free software; you can redistribute it and/or
13# modify it under the terms of the GNU General Public License
14# as published by the Free Software Foundation, in version 3 of the
15# License.
16#
17# This program is distributed in the hope that it will be useful, but
18# WITHOUT ANY WARRANTY; without even the implied warranty of
19# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20# General Public License for more details.
21#
22# You should have received a copy of the GNU General Public License
23# along with this program; if not, see <https://www.gnu.org/licenses>.
24#
25# SPDX-License-Identifier: GPL-3.0-only
26#
27
28SUB_DEPTH = ../../../..
29include $(KBUILD_PATH)/subheader.kmk
30
31# Include sub-makefile(s).
32include $(PATH_SUB_CURRENT)/testcase/Makefile.kmk
33
34#
35# The Shared Clipboard service DLL.
36#
37DLLS += VBoxSharedClipboard
38VBoxSharedClipboard_TEMPLATE = VBoxR3Dll
39VBoxSharedClipboard_DEFS = \
40 VBOX_WITH_HGCM \
41 $(if $(VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS),VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS,)
42VBoxSharedClipboard_INCS.win = \
43 $(VBOX_PATH_SDK)
44
45VBoxSharedClipboard_SOURCES = \
46 VBoxSharedClipboardSvc.cpp \
47 $(PATH_ROOT)/src/VBox/HostServices/common/message.cpp \
48 $(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/clipboard-common.cpp
49VBoxSharedClipboard_SOURCES.win = \
50 VBoxSharedClipboardSvc-win.cpp \
51 $(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/clipboard-win.cpp \
52 VBoxSharedClipboardSvc.rc
53VBoxSharedClipboard_SOURCES.darwin = \
54 VBoxSharedClipboardSvc-darwin.cpp \
55 darwin-pasteboard.cpp
56ifdef VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS
57 ifdef VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS_HTTP
58 VBoxSharedClipboard_DEFS += VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS_HTTP
59 VBoxSharedClipboard_SOURCES += \
60 $(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/clipboard-transfers-http.cpp
61 endif
62 VBoxSharedClipboard_DEFS += VBOX_WITH_SHARED_CLIPBOARD_HOST
63 VBoxSharedClipboard_SOURCES += \
64 VBoxSharedClipboardSvc-transfers.cpp \
65 $(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/clipboard-transfers-provider-local.cpp \
66 VBoxSharedClipboardSvc-utils.cpp \
67 $(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/ClipboardPath.cpp \
68 $(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/clipboard-transfers.cpp
69 VBoxSharedClipboard_SOURCES.win += \
70 $(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/ClipboardDataObjectImpl-win.cpp \
71 $(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/ClipboardEnumFormatEtcImpl-win.cpp \
72 $(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/ClipboardStreamImpl-win.cpp
73endif
74if1of ($(KBUILD_TARGET), linux solaris freebsd) ## @todo X11
75 ifndef VBOX_HEADLESS
76 VBoxSharedClipboard_SOURCES += \
77 $(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/clipboard-x11.cpp \
78 VBoxSharedClipboardSvc-x11.cpp
79 else
80 VBoxSharedClipboard_SOURCES += \
81 VBoxSharedClipboardSvc-x11-stubs.cpp
82 endif
83endif
84
85VBoxSharedClipboard_LIBS = \
86 $(LIB_RUNTIME)
87if1of ($(KBUILD_TARGET), linux solaris freebsd)
88 ifndef VBOX_HEADLESS
89 VBoxSharedClipboard_LIBPATH = \
90 $(VBOX_LIBPATH_X11)
91 VBoxSharedClipboard_LIBS += \
92 Xt \
93 X11
94 endif
95endif
96
97VBoxSharedClipboard_LDFLAGS.darwin = \
98 -framework ApplicationServices -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxSharedClipboard.dylib
99
100if 0 ## Disabled for now; needs to be adapted to the new protocol first.
101 if defined(VBOX_WITH_TESTCASES) && !defined(VBOX_ONLY_ADDITIONS) && !defined(VBOX_ONLY_SDK)
102 if1of ($(KBUILD_TARGET), freebsd linux netbsd openbsd solaris)
103 #
104 # Set this in LocalConfig.kmk if you are working on the X11 clipboard service
105 # to automatically run the unit test at build time.
106 # OTHERS += $(tstClipboardX11-2_0_OUTDIR)/tstClipboardX11-2.run
107 PROGRAMS += tstClipboardX11-2
108 TESTING += $(tstClipboardX11-2_0_OUTDIR)/tstClipboardX11-2.run
109 tstClipboardX11-2_TEMPLATE = VBoxR3TstExe
110 tstClipboardX11-2_DEFS = VBOX_WITH_HGCM TESTCASE
111 tstClipboardX11-2_SOURCES = VBoxSharedClipboardSvc-x11.cpp
112 tstClipboardX11-2_LIBS = $(LIB_RUNTIME)
113 tstClipboardX11-2_CLEAN = $(tstClipboardX11-2_0_OUTDIR)/tstClipboardX11-2.run
114
115 $$(tstClipboardX11-2_0_OUTDIR)/tstClipboardX11-2.run: $$(tstClipboardX11-2_1_STAGE_TARGET)
116 export VBOX_LOG_DEST=nofile; $(tstClipboardX11-2_1_STAGE_TARGET) quiet
117 $(QUIET)$(APPEND) -t "$@" "done"
118 endif # 1of ($(KBUILD_TARGET),freebsd linux netbsd openbsd solaris)
119 endif
120endif
121
122include $(FILE_KBUILD_SUB_FOOTER)
Note: See TracBrowser for help on using the repository browser.

© 2023 Oracle
ContactPrivacy policyTerms of Use