Makefile.kmk revision 30f5dcf7df1a28107808b8fdf5ddfc10113b1b4c
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen# $Id$
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen## @file
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen# Sub-Makefile for the VirtualBox Guest Addition X11 Client.
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen#
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen#
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen# Copyright (C) 2006-2007 Oracle Corporation
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen#
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen# This file is part of VirtualBox Open Source Edition (OSE), as
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen# available from http://www.virtualbox.org. This file is free software;
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen# you can redistribute it and/or modify it under the terms of the GNU
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen# General Public License (GPL) as published by the Free Software
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen# Foundation, in version 2 as it comes in the "COPYING" file of the
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen#
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen
4a1711ab536d965e63d7be80e29f912287fe70b2rbowenSUB_DEPTH = ../../../../..
4a1711ab536d965e63d7be80e29f912287fe70b2rboweninclude $(KBUILD_PATH)/subheader.kmk
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen#
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen# VBoxClient - clipboard and seamless.
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen#
4a1711ab536d965e63d7be80e29f912287fe70b2rbowenPROGRAMS += VBoxClient
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen
4a1711ab536d965e63d7be80e29f912287fe70b2rbowenVBoxClient_TEMPLATE = VBOXGUESTR3EXE
4a1711ab536d965e63d7be80e29f912287fe70b2rbowenVBoxClient_DEFS += VBOX_X11_CLIPBOARD VBOX_WITH_HGCM
4a1711ab536d965e63d7be80e29f912287fe70b2rbowenifdef VBOX_WITH_DBUS
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen VBoxClient_DEFS += VBOX_WITH_DBUS
4a1711ab536d965e63d7be80e29f912287fe70b2rbowenendif
4a1711ab536d965e63d7be80e29f912287fe70b2rbowenVBoxClient_DEFS.linux += _GNU_SOURCE
4a1711ab536d965e63d7be80e29f912287fe70b2rbowenVBoxClient_SOURCES = \
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen main.cpp
4a1711ab536d965e63d7be80e29f912287fe70b2rbowenVBoxClient_SOURCES += \
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen $(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/clipboard-helper.cpp \
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen $(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/x11-clipboard.cpp \
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen clipboard.cpp
4a1711ab536d965e63d7be80e29f912287fe70b2rbowenVBoxClient_LIBPATH = \
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen $(VBOX_LIBPATH32_X11)
4a1711ab536d965e63d7be80e29f912287fe70b2rbowenVBoxClient_LIBS.freebsd = \
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen iconv
4a1711ab536d965e63d7be80e29f912287fe70b2rbowenVBoxClient_LIBS.linux = \
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen dl
4a1711ab536d965e63d7be80e29f912287fe70b2rbowenVBoxClient_LIBS.solaris = \
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen dl
VBoxClient_LIBS = \
$(VBOX_LIB_IPRT_GUEST_R3) \
$(VBOX_LIB_VBGL_R3) \
$(VBOX_LIB_IPRT_GUEST_R3) \
X11 \
Xrandr \
Xt
# These are static replacements for gcc-specific parts of libstdc++
VBoxClient_LIBS += \
supc++ \
gcc_eh
ifdef VBOX_X11_SEAMLESS_GUEST
VBoxClient_DEFS += SEAMLESS_GUEST DYNAMIC_RESIZE
VBoxClient_SOURCES += \
seamless.cpp \
seamless-host.cpp \
seamless-x11.cpp \
thread.cpp \
display.cpp \
hostversion.cpp
VBoxClient_LIBS += \
Xext Xmu
endif
ifdef VBOX_WITH_GUEST_PROPS
VBoxClient_DEFS += VBOX_WITH_GUEST_PROPS
endif
ifdef VBOX_X11_SEAMLESS_GUEST
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 += $(tstSeamlessX11-auto_0_OUTDIR)/tstSeamlessX11-auto.run
PROGRAMS += tstSeamlessX11-auto
tstSeamlessX11-auto_TEMPLATE = VBOXR3TSTEXE
tstSeamlessX11-auto_SOURCES = \
testcase/tstSeamlessX11-auto.cpp \
seamless-x11.cpp
tstSeamlessX11-auto_DEFS = TESTCASE
tstSeamlessX11-auto_LIBS = \
$(LIB_RUNTIME)
TESTING += $(tstSeamlessX11-auto_0_OUTDIR)/tstSeamlessX11-auto
$$(tstSeamlessX11-auto_0_OUTDIR)/tstSeamlessX11-auto.run: \
$$(INSTARGET_tstSeamlessX11-auto)
export VBOX_LOG_DEST=nofile; $(INSTARGET_tstSeamlessX11-auto) quiet
$(QUIET)$(APPEND) -t "$@" "done"
#
# Additional testcase designed to be run manually, which initiates and starts the Linux
# guest client part of the seamless additions in the host, faking seamless events from
# the host and writing information about guest events to standard output.
#
PROGRAMS += tstSeamlessX11
tstSeamlessX11_TEMPLATE = VBOXR3TSTEXE
tstSeamlessX11_SOURCES = \
testcase/tstSeamlessX11.cpp \
seamless-host.cpp \
seamless-x11.cpp \
thread.cpp
tstSeamlessX11_LIBPATH = \
$(VBOX_LIBPATH_X11)
tstSeamlessX11_LIBS = \
$(LIB_RUNTIME) \
Xext \
Xmu \
X11
endif
endif
endif
include $(KBUILD_PATH)/subfooter.kmk