Makefile.kmk revision e64031e20c39650a7bc902a3e1aba613b9415dee
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync# $Id$
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync## @file
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync# Sub-Makefile for the common guest addition code library.
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync#
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync#
a80db3bc8b35ccc7a898ae0146e25c71cda25d06vboxsync# Copyright (C) 2006-2010 Oracle Corporation
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync#
78f327ee942771169c65c91baf789fd10e72b01avboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
78f327ee942771169c65c91baf789fd10e72b01avboxsync# available from http://www.virtualbox.org. This file is free software;
78f327ee942771169c65c91baf789fd10e72b01avboxsync# you can redistribute it and/or modify it under the terms of the GNU
78f327ee942771169c65c91baf789fd10e72b01avboxsync# General Public License (GPL) as published by the Free Software
78f327ee942771169c65c91baf789fd10e72b01avboxsync# Foundation, in version 2 as it comes in the "COPYING" file of the
78f327ee942771169c65c91baf789fd10e72b01avboxsync# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
78f327ee942771169c65c91baf789fd10e72b01avboxsync# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync#
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync# The contents of this file may alternatively be used under the terms
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync# of the Common Development and Distribution License Version 1.0
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync# (CDDL) only, as it comes in the "COPYING.CDDL" file of the
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync# VirtualBox OSE distribution, in which case the provisions of the
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync# CDDL are applicable instead of those of the GPL.
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync#
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync# You may elect to license modified versions of this file under the
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync# terms and conditions of either the GPL or the CDDL or both.
dcd01485c22687cd874d69a566131b4a6a82e54bvboxsync#
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncSUB_DEPTH = ../../../../..
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncinclude $(KBUILD_PATH)/subheader.kmk
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync#
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync# Target config.
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync#
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncif defined(VBOX_WITH_ADDITION_DRIVERS) && !defined(VBOX_ONLY_TESTSUITE)
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync LIBRARIES += \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxGuestR0Lib \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxGuestR0LibBase
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncendif
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncLIBRARIES += \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxGuestR3Lib \
e24bfeec424d0e6481eccbe85ffde550384b6364vboxsync VBoxGuestR3LibShared
e24bfeec424d0e6481eccbe85ffde550384b6364vboxsyncifndef VBOX_ONLY_TESTSUITE
e24bfeec424d0e6481eccbe85ffde550384b6364vboxsync if1of ($(KBUILD_TARGET), freebsd linux netbsd openbsd)
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync LIBRARIES += \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxGuestR3LibXFree86
dcd01485c22687cd874d69a566131b4a6a82e54bvboxsync endif
dcd01485c22687cd874d69a566131b4a6a82e54bvboxsyncendif
dcd01485c22687cd874d69a566131b4a6a82e54bvboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync#
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync# VBoxGuestR0Lib
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync#
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncVBoxGuestR0Lib_TEMPLATE = VBOXGUESTR0LIB
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncVBoxGuestR0Lib_DEFS = VBOX_WITH_HGCM
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncVBoxGuestR0Lib_INCS = \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(PATH_VBoxGuestR0Lib)
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncVBoxGuestR0Lib_SOURCES = \
1f2b5fc378de7ce78fee422ffb66635630f23016vboxsync GenericRequest.cpp \
1f2b5fc378de7ce78fee422ffb66635630f23016vboxsync SysHlp.cpp \
1f2b5fc378de7ce78fee422ffb66635630f23016vboxsync PhysHeap.cpp \
1f2b5fc378de7ce78fee422ffb66635630f23016vboxsync Init.cpp \
1f2b5fc378de7ce78fee422ffb66635630f23016vboxsync VMMDev.cpp \
1f2b5fc378de7ce78fee422ffb66635630f23016vboxsync HGCM.cpp \
1f2b5fc378de7ce78fee422ffb66635630f23016vboxsync VBoxCalls.c \
1f2b5fc378de7ce78fee422ffb66635630f23016vboxsync VbglR0CanUsePhysPageList.cpp
1f2b5fc378de7ce78fee422ffb66635630f23016vboxsync
1f2b5fc378de7ce78fee422ffb66635630f23016vboxsync
1f2b5fc378de7ce78fee422ffb66635630f23016vboxsync#
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync# VBoxGuestR0LibBase
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync#
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncVBoxGuestR0LibBase_TEMPLATE = VBOXGUESTR0LIB
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncVBoxGuestR0LibBase_DEFS = VBOX_WITH_HGCM VBGL_VBOXGUEST
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncVBoxGuestR0LibBase_INCS = $(VBoxGuestR0Lib_INCS)
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncVBoxGuestR0LibBase_INCS.win = $(VBoxGuestR0Lib_INCS.win)
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncVBoxGuestR0LibBase_SOURCES = \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync GenericRequest.cpp \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync SysHlp.cpp \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync PhysHeap.cpp \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync Init.cpp \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VMMDev.cpp \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync HGCMInternal.cpp \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VbglR0CanUsePhysPageList.cpp
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync#
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync# VBoxGuestR3Lib
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync#
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncVBoxGuestR3Lib_TEMPLATE = VBOXGUESTR3LIB
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncVBoxGuestR3Lib_DEFS = \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBOX_WITH_HGCM \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(if $(VBOX_WITH_GUEST_PROPS),VBOX_WITH_GUEST_PROPS,) \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(if $(VBOX_WITH_GUEST_CONTROL),VBOX_WITH_GUEST_CONTROL,)
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncifdef VBOX_WITH_PAGE_SHARING
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxGuestR3Lib_DEFS += VBOX_WITH_PAGE_SHARING
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncendif
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncVBoxGuestR3Lib_SOURCES = \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxGuestR3Lib.cpp \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxGuestR3LibAdditions.cpp \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxGuestR3LibBalloon.cpp \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxGuestR3LibClipboard.cpp \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxGuestR3LibCpuHotPlug.cpp \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxGuestR3LibCredentials.cpp \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxGuestR3LibEvent.cpp \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxGuestR3LibGR.cpp \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxGuestR3LibLog.cpp \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxGuestR3LibMisc.cpp \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxGuestR3LibStat.cpp \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxGuestR3LibTime.cpp
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncifneq ($(KBUILD_TARGET),win) ## @todo get rid of this hack (as soon as it's all implemented / #defined).
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxGuestR3Lib_SOURCES += \
3c3d0383bb6ce1db26a5d4ca83da998bbac6eeb5vboxsync VBoxGuestR3LibDaemonize.cpp \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxGuestR3LibMouse.cpp \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxGuestR3LibSeamless.cpp \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxGuestR3LibVideo.cpp
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncendif
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncifdef VBOX_WITH_GUEST_PROPS
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxGuestR3Lib_SOURCES += \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxGuestR3LibGuestProp.cpp \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxGuestR3LibHostVersion.cpp
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncendif
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncifdef VBOX_WITH_GUEST_CONTROL
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxGuestR3Lib_SOURCES += \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxGuestR3LibGuestCtrl.cpp
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncendif
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncifdef VBOX_WITH_PAGE_SHARING
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxGuestR3Lib_SOURCES += \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxGuestR3LibModule.cpp
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncendif
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncVBoxGuestR3LibAdditions.cpp_DEFS = VBOX_SVN_REV=$(VBOX_SVN_REV)
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync#
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync# VBoxGuestR3LibShared - a PIC variant of VBoxGuestR3Lib for linking into .so/.dll/.dylib.
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync#
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncVBoxGuestR3LibShared_TEMPLATE = VBOXGUESTR3DLL
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncVBoxGuestR3LibShared_DEFS := $(VBoxGuestR3Lib_DEFS)
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncVBoxGuestR3LibShared_SOURCES := $(VBoxGuestR3Lib_SOURCES)
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncVBoxGuestR3LibShared_INST := $(INST_ADDITIONS_LIB)
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync#
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync# VBoxGuestR3LibXFree86 - a reduced version of the guest library which uses
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync# the X server runtime instead of IPRT, for use with old servers where the
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync# C library is not available.
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync#
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync## @todo We're quite probably using the wrong template here.
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncVBoxGuestR3LibXFree86_TEMPLATE = VBOXGUESTR3LIB
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncVBoxGuestR3LibXFree86_DEFS = \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBOX_WITH_HGCM \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBOX_VBGLR3_XFREE86 \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync RTMEM_NO_WRAP_TO_EF_APIS \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(if $(VBOX_WITH_GUEST_PROPS),VBOX_WITH_GUEST_PROPS,)
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncVBoxGuestR3LibXFree86_SOURCES = \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxGuestR3Lib.cpp \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxGuestR3LibGR.cpp \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(if $(VBOX_WITH_GUEST_PROPS),VBoxGuestR3LibGuestProp.cpp,) \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxGuestR3LibMouse.cpp \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxGuestR3LibMisc.cpp \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxGuestR3LibSeamless.cpp \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxGuestR3LibVideo.cpp \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxGuestR3LibRuntimeXF86.cpp
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncVBoxGuestR3LibXFree86_INCS = \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/common/ \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/os-support \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/include \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOX_PATH_X11_XFREE_4_3)/include \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOX_PATH_X11_XFREE_4_3)/exports/include/X11
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncVBoxGuestR3LibRuntimeXF86.cpp_CXXFLAGS = -Wno-shadow
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncinclude $(KBUILD_PATH)/subfooter.kmk
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync