Makefile.kmk revision e42f96d376f5a18f4c61212e47eadae813bb2a2b
# $Id$
## @file
# Makefile for the VirtualBox Linux Guest Addition X11 Client.
#
#
# Copyright (C) 2006-2007 innotek GmbH
#
# 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.
#
DEPTH = ../../../../..
include $(PATH_KBUILD)/header.kmk
ifneq ($(USERNAME),bird) # crap
PROGRAMS = vboxadd-xclient
endif
OTHER_CLEAN = $(PATH_TARGET)/vboxadd-xclient/libstdc++.a
vboxadd-xclient_TEMPLATE = VBOXLNX32GUESTR3EXE
vboxadd-xclient_SOURCES = clipboard.cpp main.cpp
vboxadd-xclient_DEFS += CLIPBOARD_LINUX
ifdef LINUX_SEAMLESS_GUEST
vboxadd-xclient_SOURCES += \
seamless-host.cpp \
seamless-x11.cpp \
thread.cpp
endif
vboxadd-xclient_LIBPATH = $(PATH_TARGET)/vboxadd-xclient $(VBOX_LIBPATH32_X11)
# Ugly recursive dependency between the runtime and the guest library. Sorry.
vboxadd-xclient_LIBS = \
$(PATH_LIB)/RuntimeLnx32GuestR3.a \
$(PATH_LIB)/VBoxGuestR3LibLinux.a \
$(PATH_LIB)/RuntimeLnx32GuestR3.a \
pthread \
rt \
Xt \
Xext \
X11
vboxadd-xclient_DEFS += _GNU_SOURCE VBOX_HGCM
ifdef LINUX_SEAMLESS_GUEST
vboxadd-xclient_DEFS += SEAMLESS_LINUX
endif
# link agaginst libstdc++.a (http://www.trilithium.com/johan/2005/06/static-libstdc/)
$(PATH_TARGET)/vboxadd-xclient/vboxadd-xclient: $(PATH_TARGET)/vboxadd-xclient/libstdc++.a
$(PATH_TARGET)/vboxadd-xclient/libstdc++.a:
$(call MSG_L1,Forcing static libstdc++)
$(QUIET)ln -sf `$(TOOL_$(VBOX_GCC32_TOOL)_CXX) -print-file-name=libstdc++.a` $@ || cp `$(TOOL_$(VBOX_GCC32_TOOL)_CXX) -print-file-name=libstdc++.a` $@
ifdef LINUX_SEAMLESS_GUEST
ifdef VBOX_WITH_TESTCASES
# 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 = VBOXR3EXE
tstSeamlessX11_SOURCES = \
testcase/tstSeamlessX11.cpp \
seamless-host.cpp \
seamless-x11.cpp \
thread.cpp
tstSeamlessX11_LIBS = \
$(LIB_RUNTIME) \
Xext \
X11
tstSeamlessX11_INST = $(INST_TESTCASE)
endif
endif
include $(PATH_KBUILD)/footer.kmk