summaryrefslogtreecommitdiffstats
path: root/src/VBox/HostServices/SharedClipboard/Makefile.kmk
blob: 5ae7b1a611a57e08620c599c6530cb964be29c3c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# $Id: Makefile.kmk $
## @file
# Sub-Makefile for the Shared Clipboard Host Service.
#

#
# Copyright (C) 2006-2019 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
# you can redistribute it and/or modify it under the terms of the GNU
# General Public License (GPL) as published by the Free Software
# Foundation, in version 2 as it comes in the "COPYING" file of the
# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
#

SUB_DEPTH = ../../../..
include $(KBUILD_PATH)/subheader.kmk

# Include sub-makefile(s).
include $(PATH_SUB_CURRENT)/testcase/Makefile.kmk

#
# The shared folder service DLL.
#
DLLS += VBoxSharedClipboard
VBoxSharedClipboard_TEMPLATE  = VBOXR3
VBoxSharedClipboard_DEFS      = VBOX_WITH_HGCM
VBoxSharedClipboard_INCS.win  = \
	$(VBOX_PATH_SDK)

VBoxSharedClipboard_SOURCES = \
	VBoxSharedClipboardSvc.cpp
VBoxSharedClipboard_SOURCES.win = \
	VBoxClipboard-win.cpp \
	VBoxSharedClipboardSvc.rc
VBoxSharedClipboard_SOURCES.darwin = \
	darwin.cpp \
	$(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/clipboard-helper.cpp \
	darwin-pasteboard.cpp
if1of ($(KBUILD_TARGET), linux solaris freebsd) ## @todo X11
 ifndef VBOX_HEADLESS
  VBoxSharedClipboard_SOURCES += \
  	$(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/clipboard-helper.cpp \
  	$(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/x11-clipboard.cpp \
  	x11-clipboard.cpp
 else
  VBoxSharedClipboard_SOURCES += \
  	x11-stub.cpp
 endif
endif

VBoxSharedClipboard_LIBS = \
	$(LIB_VMM) \
	$(LIB_RUNTIME) \
	$(LIB_REM)
if1of ($(KBUILD_TARGET), linux solaris freebsd)
 ifndef VBOX_HEADLESS
  VBoxSharedClipboard_LIBPATH = \
	$(VBOX_LIBPATH_X11)
  VBoxSharedClipboard_LIBS += \
	Xt \
	X11
 endif
endif

VBoxSharedClipboard_LDFLAGS.darwin = \
	-framework ApplicationServices -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxSharedClipboard.dylib

if defined(VBOX_WITH_TESTCASES) && !defined(VBOX_ONLY_ADDITIONS) && !defined(VBOX_ONLY_SDK)
 if1of ($(KBUILD_TARGET), freebsd linux netbsd openbsd solaris)
 #
 # Set this in LocalConfig.kmk if you are working on the X11 clipboard service
 # to automatically run the unit test at build time.
 #       OTHERS += $(tstClipboardX11-2_0_OUTDIR)/tstClipboardX11-2.run
 PROGRAMS += tstClipboardX11-2
 TESTING += $(tstClipboardX11-2_0_OUTDIR)/tstClipboardX11-2.run
 tstClipboardX11-2_TEMPLATE = VBOXR3TSTEXE
 tstClipboardX11-2_DEFS     = VBOX_WITH_HGCM TESTCASE
 tstClipboardX11-2_SOURCES  = x11-clipboard.cpp
 tstClipboardX11-2_LIBS     = $(LIB_RUNTIME)
 tstClipboardX11-2_CLEANS   = $(tstClipboardX11-2_0_OUTDIR)/tstClipboardX11-2.run

$$(tstClipboardX11-2_0_OUTDIR)/tstClipboardX11-2.run: $$(tstClipboardX11-2_1_STAGE_TARGET)
	export VBOX_LOG_DEST=nofile; $(tstClipboardX11-2_1_STAGE_TARGET) quiet
	$(QUIET)$(APPEND) -t "$@" "done"
 endif # 1of ($(KBUILD_TARGET),freebsd linux netbsd openbsd solaris)
endif

include $(FILE_KBUILD_SUB_FOOTER)