# $Id: Makefile.kmk 6356 2008-01-15 13:27:51Z vboxsync $ ## @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 if1of ($(BUILD_TARGET),linux l4) 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 += VBOX_X11_CLIPBOARD 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 endif # target linux l4 ifeq ($(BUILD_TARGET),solaris) PROGRAMS = VBoxClient VBoxClient_TEMPLATE = VBOXGUESTR3EXE VBoxClient_DEFS += VBOX_X11_CLIPBOARD VBOX_HGCM VBoxClient_SOURCES = \ clipboard-new.cpp \ main.cpp VBoxClient_LIBS = \ $(VBOX_LIB_VBGL_R3) \ $(VBOX_LIB_IPRT_GUEST_R3) \ X11 \ Xt endif # target solaris include $(PATH_KBUILD)/footer.kmk