VirtualBox

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

Last change on this file since 93459 was 93444, checked in by vboxsync, 3 years ago

VMM,Main,HostServices: Use a function table for accessing the VBoxVMM.dll/so/dylib functionality, and load it dynamically when the Console object is initialized. Also converted a few drivers in Main to use device helpers to get config values and such. bugref:10074

  • 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 93444 2022-01-26 18:01:15Z vboxsync $
2## @file
3# Sub-Makefile for the Shared Clipboard Host Service.
4#
5
6#
7# Copyright (C) 2006-2022 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# Include sub-makefile(s).
22include $(PATH_SUB_CURRENT)/testcase/Makefile.kmk
23
24#
25# The Shared Clipboard service DLL.
26#
27DLLS += VBoxSharedClipboard
28VBoxSharedClipboard_TEMPLATE = VBOXR3
29VBoxSharedClipboard_DEFS = \
30 VBOX_WITH_HGCM \
31 $(if $(VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS),VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS,)
32VBoxSharedClipboard_INCS.win = \
33 $(VBOX_PATH_SDK)
34
35VBoxSharedClipboard_SOURCES = \
36 VBoxSharedClipboardSvc.cpp \
37 $(PATH_ROOT)/src/VBox/HostServices/common/message.cpp \
38 $(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/clipboard-common.cpp
39VBoxSharedClipboard_SOURCES.win = \
40 VBoxSharedClipboardSvc-win.cpp \
41 $(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/clipboard-win.cpp \
42 VBoxSharedClipboardSvc.rc
43VBoxSharedClipboard_SOURCES.darwin = \
44 VBoxSharedClipboardSvc-darwin.cpp \
45 darwin-pasteboard.cpp
46ifdef VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS
47 if1of ($(KBUILD_TARGET), linux)
48 VBoxSharedClipboard_DEFS += VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS_HTTP
49 VBoxSharedClipboard_SOURCES += \
50 $(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/clipboard-transfers-http.cpp
51 endif
52 VBoxSharedClipboard_DEFS += VBOX_WITH_SHARED_CLIPBOARD_HOST
53 VBoxSharedClipboard_SOURCES += \
54 VBoxSharedClipboardSvc-transfers.cpp \
55 VBoxSharedClipboardSvc-utils.cpp \
56 $(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/ClipboardPath.cpp \
57 $(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/clipboard-transfers.cpp
58 VBoxSharedClipboard_SOURCES.win += \
59 $(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/ClipboardDataObjectImpl-win.cpp \
60 $(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/ClipboardEnumFormatEtcImpl-win.cpp \
61 $(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/ClipboardStreamImpl-win.cpp
62endif
63if1of ($(KBUILD_TARGET), linux solaris freebsd) ## @todo X11
64 ifndef VBOX_HEADLESS
65 VBoxSharedClipboard_SOURCES += \
66 $(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/clipboard-x11.cpp \
67 VBoxSharedClipboardSvc-x11.cpp
68 else
69 VBoxSharedClipboard_SOURCES += \
70 VBoxSharedClipboardSvc-x11-stubs.cpp
71 endif
72endif
73
74VBoxSharedClipboard_LIBS = \
75 $(LIB_RUNTIME)
76if1of ($(KBUILD_TARGET), linux solaris freebsd)
77 ifndef VBOX_HEADLESS
78 VBoxSharedClipboard_LIBPATH = \
79 $(VBOX_LIBPATH_X11)
80 VBoxSharedClipboard_LIBS += \
81 Xt \
82 X11
83 endif
84endif
85
86VBoxSharedClipboard_LDFLAGS.darwin = \
87 -framework ApplicationServices -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxSharedClipboard.dylib
88
89if 0 ## Disabled for now; needs to be adapted to the new protocol first.
90 if defined(VBOX_WITH_TESTCASES) && !defined(VBOX_ONLY_ADDITIONS) && !defined(VBOX_ONLY_SDK)
91 if1of ($(KBUILD_TARGET), freebsd linux netbsd openbsd solaris)
92 #
93 # Set this in LocalConfig.kmk if you are working on the X11 clipboard service
94 # to automatically run the unit test at build time.
95 # OTHERS += $(tstClipboardX11-2_0_OUTDIR)/tstClipboardX11-2.run
96 PROGRAMS += tstClipboardX11-2
97 TESTING += $(tstClipboardX11-2_0_OUTDIR)/tstClipboardX11-2.run
98 tstClipboardX11-2_TEMPLATE = VBOXR3TSTEXE
99 tstClipboardX11-2_DEFS = VBOX_WITH_HGCM TESTCASE
100 tstClipboardX11-2_SOURCES = VBoxSharedClipboardSvc-x11.cpp
101 tstClipboardX11-2_LIBS = $(LIB_RUNTIME)
102 tstClipboardX11-2_CLEAN = $(tstClipboardX11-2_0_OUTDIR)/tstClipboardX11-2.run
103
104$$(tstClipboardX11-2_0_OUTDIR)/tstClipboardX11-2.run: $$(tstClipboardX11-2_1_STAGE_TARGET)
105 export VBOX_LOG_DEST=nofile; $(tstClipboardX11-2_1_STAGE_TARGET) quiet
106 $(QUIET)$(APPEND) -t "$@" "done"
107 endif # 1of ($(KBUILD_TARGET),freebsd linux netbsd openbsd solaris)
108 endif
109endif
110
111include $(FILE_KBUILD_SUB_FOOTER)
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