Makefile.kmk revision 6ce2dc8fe7465b735c8309878cbcb12965b24178
077137f1c602268ce62c760701f619a2ae929923vboxsync# $Id$
077137f1c602268ce62c760701f619a2ae929923vboxsync## @file
077137f1c602268ce62c760701f619a2ae929923vboxsync# Sub-Makefile for the VBox Additions XFree86 and X.org mouse drivers.
077137f1c602268ce62c760701f619a2ae929923vboxsync#
077137f1c602268ce62c760701f619a2ae929923vboxsync
077137f1c602268ce62c760701f619a2ae929923vboxsync#
077137f1c602268ce62c760701f619a2ae929923vboxsync# Copyright (C) 2006-2007 Sun Microsystems, Inc.
077137f1c602268ce62c760701f619a2ae929923vboxsync#
077137f1c602268ce62c760701f619a2ae929923vboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
077137f1c602268ce62c760701f619a2ae929923vboxsync# available from http://www.virtualbox.org. This file is free software;
077137f1c602268ce62c760701f619a2ae929923vboxsync# you can redistribute it and/or modify it under the terms of the GNU
077137f1c602268ce62c760701f619a2ae929923vboxsync# General Public License (GPL) as published by the Free Software
077137f1c602268ce62c760701f619a2ae929923vboxsync# Foundation, in version 2 as it comes in the "COPYING" file of the
077137f1c602268ce62c760701f619a2ae929923vboxsync# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
077137f1c602268ce62c760701f619a2ae929923vboxsync# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
077137f1c602268ce62c760701f619a2ae929923vboxsync#
077137f1c602268ce62c760701f619a2ae929923vboxsync# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
077137f1c602268ce62c760701f619a2ae929923vboxsync# Clara, CA 95054 USA or visit http://www.sun.com if you need
077137f1c602268ce62c760701f619a2ae929923vboxsync# additional information or have any questions.
077137f1c602268ce62c760701f619a2ae929923vboxsync#
077137f1c602268ce62c760701f619a2ae929923vboxsync
077137f1c602268ce62c760701f619a2ae929923vboxsyncSUB_DEPTH = ../../../../..
077137f1c602268ce62c760701f619a2ae929923vboxsyncinclude $(KBUILD_PATH)/subheader.kmk
077137f1c602268ce62c760701f619a2ae929923vboxsync
077137f1c602268ce62c760701f619a2ae929923vboxsync
077137f1c602268ce62c760701f619a2ae929923vboxsync#
077137f1c602268ce62c760701f619a2ae929923vboxsync# vboxmouse_drv
077137f1c602268ce62c760701f619a2ae929923vboxsync#
077137f1c602268ce62c760701f619a2ae929923vboxsyncif1of ($(KBUILD_TARGET), linux)
077137f1c602268ce62c760701f619a2ae929923vboxsync SYSMODS += vboxmouse_drv
077137f1c602268ce62c760701f619a2ae929923vboxsync vboxmouse_drv_TEMPLATE = VBOXGUESTR3XF86MOD
077137f1c602268ce62c760701f619a2ae929923vboxsync vboxmouse_drv_DEFS.linux = linux
077137f1c602268ce62c760701f619a2ae929923vboxsync vboxmouse_drv_DEFS.x86 += __i386__
077137f1c602268ce62c760701f619a2ae929923vboxsync vboxmouse_drv_DEFS += \
077137f1c602268ce62c760701f619a2ae929923vboxsync _POSIX_C_SOURCE=199309L _POSIX_SOURCE _XOPEN_SOURCE \
077137f1c602268ce62c760701f619a2ae929923vboxsync _BSD_SOURCE _SVID_SOURCE _GNU_SOURCE SHAPE XINPUT XKB LBX XAPPGROUP \
73faa4fdf1520bc23e5ee3ee044781c0aa11a6a0vboxsync XCSECURITY TOGCUP XF86BIGFONT DPMSExtension PIXPRIV PANORAMIX RENDER \
077137f1c602268ce62c760701f619a2ae929923vboxsync GCCUSESGAS AVOID_GLYPHBLT PIXPRIV SINGLEDEPTH XFreeXDGA XvExtension \
077137f1c602268ce62c760701f619a2ae929923vboxsync XFree86LOADER XFree86Server XF86VIDMODE XvMCExtension SMART_SCHEDULE \
077137f1c602268ce62c760701f619a2ae929923vboxsync BUILDDEBUG X_BYTE_ORDER=X_LITTLE_ENDIAN DNDEBUG FUNCPROTO=15 NARROWPROTO \
077137f1c602268ce62c760701f619a2ae929923vboxsync IN_MODULE XFree86Module PNP_MOUSE
077137f1c602268ce62c760701f619a2ae929923vboxsync vboxmouse_drv_INCS := \
077137f1c602268ce62c760701f619a2ae929923vboxsync $(VBOX_PATH_X11_XFREE_4_2)/exports/include \
077137f1c602268ce62c760701f619a2ae929923vboxsync $(VBOX_PATH_X11_XFREE_4_2)/exports/include/X11 \
077137f1c602268ce62c760701f619a2ae929923vboxsync $(VBOX_PATH_X11_XFREE_4_2)/include \
b6cc4092c1e80655a5bc19dc125e772a8d2b870dvboxsync $(VBOX_PATH_X11_XFREE_4_2)/include/extensions \
077137f1c602268ce62c760701f619a2ae929923vboxsync $(VBOX_PATH_X11_XFREE_4_2)/programs/Xserver/include \
077137f1c602268ce62c760701f619a2ae929923vboxsync $(VBOX_PATH_X11_XFREE_4_2)/programs/Xserver/hw/xfree86 \
077137f1c602268ce62c760701f619a2ae929923vboxsync $(VBOX_PATH_X11_XFREE_4_2)/programs/Xserver/hw/xfree86/common \
077137f1c602268ce62c760701f619a2ae929923vboxsync $(VBOX_PATH_X11_XFREE_4_2)/programs/Xserver/hw/xfree86/os-support \
077137f1c602268ce62c760701f619a2ae929923vboxsync $(VBOX_PATH_X11_XFREE_4_2)/programs/Xserver/hw/xfree86/os-support/bus \
077137f1c602268ce62c760701f619a2ae929923vboxsync $(VBOX_PATH_X11_XFREE_4_2)/programs/Xserver/mi \
077137f1c602268ce62c760701f619a2ae929923vboxsync $(PATH_SUB_CURRENT)
077137f1c602268ce62c760701f619a2ae929923vboxsync vboxmouse_drv_SOURCES = \
077137f1c602268ce62c760701f619a2ae929923vboxsync mouse.c \
077137f1c602268ce62c760701f619a2ae929923vboxsync pnp.c \
077137f1c602268ce62c760701f619a2ae929923vboxsync VBoxUtils_68.c
077137f1c602268ce62c760701f619a2ae929923vboxsyncendif
077137f1c602268ce62c760701f619a2ae929923vboxsync
1d4b0322a1bef79fc1839445a3712141c5bb3f46vboxsync
077137f1c602268ce62c760701f619a2ae929923vboxsync#
077137f1c602268ce62c760701f619a2ae929923vboxsync# vboxmouse_drv_70
077137f1c602268ce62c760701f619a2ae929923vboxsync#
077137f1c602268ce62c760701f619a2ae929923vboxsyncDLLS += vboxmouse_drv_70
077137f1c602268ce62c760701f619a2ae929923vboxsyncvboxmouse_drv_70_TEMPLATE = VBOXGUESTR3XORGMOD
077137f1c602268ce62c760701f619a2ae929923vboxsyncvboxmouse_drv_70_DEFS = \
077137f1c602268ce62c760701f619a2ae929923vboxsync XFree86Server IN_MODULE XFree86Module XFree86LOADER XINPUT XORG_7X
077137f1c602268ce62c760701f619a2ae929923vboxsyncifeq ($(KBUILD_TARGET),solaris) # don't use .solaris or anything here.
077137f1c602268ce62c760701f619a2ae929923vboxsync vboxmouse_drv_70_DEFS += _XPG6 __EXTENSIONS__
077137f1c602268ce62c760701f619a2ae929923vboxsyncendif
077137f1c602268ce62c760701f619a2ae929923vboxsyncvboxmouse_drv_70_INCS := \
077137f1c602268ce62c760701f619a2ae929923vboxsync $(VBOX_PATH_X11_XORG_7_0) \
077137f1c602268ce62c760701f619a2ae929923vboxsync $(VBOX_PATH_X11_XORG_7_0)/X11 \
$(VBOX_PATH_X11_XORG_7_0)/xorg \
$(PATH_SUB_CURRENT)
vboxmouse_drv_70_SOURCES = \
xorg70/mouse.c \
xorg70/pnp.c \
VBoxUtils.c
OTHERS.linux += $(PATH_vboxmouse_drv_70)/vboxmouse_drv_70.so.dbgsym
$$(PATH_vboxmouse_drv_70)/vboxmouse_drv_70.so.dbgsym: \
$$(TARGET_vboxmouse_drv_70)
$(QUIET)objcopy --only-keep-debug $< $(PATH_vboxmouse_drv_70)/vboxmouse_drv.so
$(QUIET)objcopy --add-gnu-debuglink=$(PATH_vboxmouse_drv_70)/vboxmouse_drv.so $<
$(QUIET)mv $(PATH_vboxmouse_drv_70)/vboxmouse_drv.so $@
$(QUIET)cp $@ $(PATH_OUT)/$(INST_ADDITIONS)
#
# vboxmouse_drv_71
#
DLLS += vboxmouse_drv_71
vboxmouse_drv_71_TEMPLATE = VBOXGUESTR3XORGMOD
vboxmouse_drv_71_DEFS := $(vboxmouse_drv_70_DEFS)
vboxmouse_drv_71_INCS := \
$(VBOX_PATH_X11_XORG_7_1) \
$(VBOX_PATH_X11_XORG_7_1)/X11 \
$(VBOX_PATH_X11_XORG_7_1)/xorg \
$(PATH_SUB_CURRENT)
vboxmouse_drv_71_SOURCES = \
xorg71/mouse.c \
xorg71/pnp.c \
VBoxUtils.c
OTHERS.linux += $(PATH_vboxmouse_drv_71)/vboxmouse_drv_71.so.dbgsym
$$(PATH_vboxmouse_drv_71)/vboxmouse_drv_71.so.dbgsym: \
$$(TARGET_vboxmouse_drv_71)
$(QUIET)objcopy --only-keep-debug $< $(PATH_vboxmouse_drv_71)/vboxmouse_drv.so
$(QUIET)objcopy --add-gnu-debuglink=$(PATH_vboxmouse_drv_71)/vboxmouse_drv.so $<
$(QUIET)mv $(PATH_vboxmouse_drv_71)/vboxmouse_drv.so $@
$(QUIET)cp $@ $(PATH_OUT)/$(INST_ADDITIONS)
#
# vboxmouse_drv_14
#
DLLS += vboxmouse_drv_14
vboxmouse_drv_14_TEMPLATE = VBOXGUESTR3XORGMOD
vboxmouse_drv_14_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC
vboxmouse_drv_14_INCS := \
$(VBOX_PATH_X11_XORG_1_4) \
$(VBOX_PATH_X11_XORG_1_4)/X11 \
$(VBOX_PATH_X11_XORG_1_4)/xorg \
$(PATH_SUB_CURRENT)
vboxmouse_drv_14_SOURCES = \
xorg14/mouse.c \
xorg14/pnp.c \
VBoxUtils.c
OTHERS.linux += $(PATH_vboxmouse_drv_14)/vboxmouse_drv_14.so.dbgsym
$$(PATH_vboxmouse_drv_14)/vboxmouse_drv_14.so.dbgsym: \
$$(TARGET_vboxmouse_drv_14)
$(QUIET)objcopy --only-keep-debug $< $(PATH_vboxmouse_drv_14)/vboxmouse_drv.so
$(QUIET)objcopy --add-gnu-debuglink=$(PATH_vboxmouse_drv_14)/vboxmouse_drv.so $<
$(QUIET)mv $(PATH_vboxmouse_drv_14)/vboxmouse_drv.so $@
$(QUIET)cp $@ $(PATH_OUT)/$(INST_ADDITIONS)
#
# vboxmouse_drv_15
#
DLLS += vboxmouse_drv_15
vboxmouse_drv_15_TEMPLATE = VBOXGUESTR3XORGMOD
vboxmouse_drv_15_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC
vboxmouse_drv_15_INCS := \
$(VBOX_PATH_X11_XORG_1_5) \
$(VBOX_PATH_X11_XORG_1_5)/X11 \
$(VBOX_PATH_X11_ROOT)/xorg-server-1.5.3 \
$(PATH_SUB_CURRENT)
vboxmouse_drv_15_SOURCES = \
vboxmouse_15.c
OTHERS.linux += $(PATH_vboxmouse_drv_15)/vboxmouse_drv_15.so.dbgsym
$$(PATH_vboxmouse_drv_15)/vboxmouse_drv_15.so.dbgsym: \
$$(TARGET_vboxmouse_drv_15)
$(QUIET)objcopy --only-keep-debug $< $(PATH_vboxmouse_drv_15)/vboxmouse_drv.so
$(QUIET)objcopy --add-gnu-debuglink=$(PATH_vboxmouse_drv_15)/vboxmouse_drv.so $<
$(QUIET)mv $(PATH_vboxmouse_drv_15)/vboxmouse_drv.so $@
$(QUIET)cp $@ $(PATH_OUT)/$(INST_ADDITIONS)
#
# vboxmouse_drv_16
#
DLLS += vboxmouse_drv_16
vboxmouse_drv_16_TEMPLATE = VBOXGUESTR3XORGMOD
vboxmouse_drv_16_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC
vboxmouse_drv_16_INCS := \
$(VBOX_PATH_X11_XORG_1_6) \
$(VBOX_PATH_X11_XORG_1_6)/X11 \
$(VBOX_PATH_X11_ROOT)/xorg-server-1.6.0 \
$(VBOX_PATH_X11_ROOT)/xorg-server-1.6.0-local \
$(PATH_SUB_CURRENT)
vboxmouse_drv_16_SOURCES = \
vboxmouse_15.c
OTHERS.linux += $(PATH_vboxmouse_drv_16)/vboxmouse_drv_16.so.dbgsym
$$(PATH_vboxmouse_drv_16)/vboxmouse_drv_16.so.dbgsym: \
$$(TARGET_vboxmouse_drv_16)
$(QUIET)objcopy --only-keep-debug $< $(PATH_vboxmouse_drv_16)/vboxmouse_drv.so
$(QUIET)objcopy --add-gnu-debuglink=$(PATH_vboxmouse_drv_16)/vboxmouse_drv.so $<
$(QUIET)mv $(PATH_vboxmouse_drv_16)/vboxmouse_drv.so $@
$(QUIET)cp $@ $(PATH_OUT)/$(INST_ADDITIONS)
#
# vboxmouse_drv_17
#
DLLS += vboxmouse_drv_17
vboxmouse_drv_17_TEMPLATE = VBOXGUESTR3XORGMOD
vboxmouse_drv_17_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC
## @todo replace $(VBOX_PATH_X11_ROOT)/xorg-server-1.6.0-local
vboxmouse_drv_17_INCS := \
$(VBOX_PATH_X11_ROOT)/inputproto-1.9.99.902 \
$(VBOX_PATH_X11_ROOT)/libpciaccess-0.10.8 \
$(VBOX_PATH_X11_ROOT)/pixman-0.16.0 \
$(VBOX_PATH_X11_ROOT)/xextproto-7.1.1 \
$(VBOX_PATH_X11_ROOT)/xorg-server-1.6.99-20090831 \
$(VBOX_PATH_X11_ROOT)/xorg-server-1.6.0-local \
$(VBOX_PATH_X11_ROOT)/xproto-7.0.15 \
$(PATH_SUB_CURRENT)
vboxmouse_drv_17_SOURCES = \
vboxmouse_15.c
OTHERS.linux += $(PATH_vboxmouse_drv_17)/vboxmouse_drv_17.so.dbgsym
$$(PATH_vboxmouse_drv_17)/vboxmouse_drv_17.so.dbgsym: \
$$(TARGET_vboxmouse_drv_17)
$(QUIET)objcopy --only-keep-debug $< $(PATH_vboxmouse_drv_17)/vboxmouse_drv.so
$(QUIET)objcopy --add-gnu-debuglink=$(PATH_vboxmouse_drv_17)/vboxmouse_drv.so $<
$(QUIET)mv $(PATH_vboxmouse_drv_17)/vboxmouse_drv.so $@
$(QUIET)cp $@ $(PATH_OUT)/$(INST_ADDITIONS)
# Check the undefined symbols in the X.Org modules against lists of allowed
# symbols. Not very elegant, but it will catch problems early.
ifdef VBOX_WITH_TESTCASES
# ifndef VBOX_ONLY_ADDITIONS
if1of ($(KBUILD_TARGET),linux solaris)
ifeq ($(KBUILD_HOST_ARCH),$(KBUILD_TARGET_ARCH))
ifndef VBOX_ONLY_SDK
OUR_PATH_VBOXMOUSE=$(PATH_ROOT)/src/VBox/Additions/x11/vboxmouse
ifeq ($(KBUILD_TARGET),linux)
TESTING += $(PATH_vboxmouse_drv)/tstvboxmouse68.run
OTHERS += $(PATH_vboxmouse_drv)/tstvboxmouse68.run
$$(PATH_vboxmouse_drv)/tstvboxmouse68.run: $$(INSTARGET_vboxmouse_drv)
$(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_TARGET) \
"$(INSTARGET_vboxmouse_drv)" "$(OUR_PATH_VBOXMOUSE)/undefined_68" --static
$(QUIET)$(APPEND) -t "$@" "done"
endif
TESTING += $(PATH_vboxmouse_drv_70)/tstvboxmouse70.run
OTHERS += $(PATH_vboxmouse_drv_70)/tstvboxmouse70.run
$$(PATH_vboxmouse_drv_70)/tstvboxmouse70.run: $$(INSTARGET_vboxmouse_drv_70)
$(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_TARGET) \
$(INSTARGET_vboxmouse_drv_70) $(OUR_PATH_VBOXMOUSE)/undefined_70
$(QUIET)$(APPEND) -t "$@" "done"
TESTING += $(PATH_vboxmouse_drv_71)/tstvboxmouse71.run
OTHERS += $(PATH_vboxmouse_drv_71)/tstvboxmouse71.run
$$(PATH_vboxmouse_drv_71)/tstvboxmouse71.run: $$(INSTARGET_vboxmouse_drv_71)
$(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_TARGET) \
$(INSTARGET_vboxmouse_drv_71) $(OUR_PATH_VBOXMOUSE)/undefined_71
$(QUIET)$(APPEND) -t "$@" "done"
TESTING += $(PATH_vboxmouse_drv_14)/tstvboxmouse14.run
OTHERS += $(PATH_vboxmouse_drv_14)/tstvboxmouse14.run
$$(PATH_vboxmouse_drv_14)/tstvboxmouse14.run: $$(INSTARGET_vboxmouse_drv_14)
$(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_TARGET) \
$(INSTARGET_vboxmouse_drv_14) $(OUR_PATH_VBOXMOUSE)/undefined_14
$(QUIET)$(APPEND) -t "$@" "done"
TESTING += $(PATH_vboxmouse_drv_15)/tstvboxmouse15.run
OTHERS += $(PATH_vboxmouse_drv_15)/tstvboxmouse15.run
$$(PATH_vboxmouse_drv_15)/tstvboxmouse15.run: $$(INSTARGET_vboxmouse_drv_15)
$(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_TARGET) \
$(INSTARGET_vboxmouse_drv_15) $(OUR_PATH_VBOXMOUSE)/undefined_15
$(QUIET)$(APPEND) -t "$@" "done"
TESTING += $(PATH_vboxmouse_drv_16)/tstvboxmouse16.run
OTHERS += $(PATH_vboxmouse_drv_16)/tstvboxmouse16.run
$$(PATH_vboxmouse_drv_16)/tstvboxmouse16.run: $$(INSTARGET_vboxmouse_drv_16)
$(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_TARGET) \
$(INSTARGET_vboxmouse_drv_16) $(OUR_PATH_VBOXMOUSE)/undefined_16
$(QUIET)$(APPEND) -t "$@" "done"
TESTING += $(PATH_vboxmouse_drv_17)/tstvboxmouse17.run
OTHERS += $(PATH_vboxmouse_drv_17)/tstvboxmouse17.run
$$(PATH_vboxmouse_drv_17)/tstvboxmouse17.run: $$(INSTARGET_vboxmouse_drv_17)
$(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_TARGET) \
$(INSTARGET_vboxmouse_drv_17) $(OUR_PATH_VBOXMOUSE)/undefined_15
$(QUIET)$(APPEND) -t "$@" "done"
endif # ! VBOX_ONLY_SDK
endif # eq ($(KBUILD_HOST_ARCH),$(KBUILD_TARGET_ARCH))
endif # eq ($(KBUILD_TARGET),linux)
# endif # ! VBOX_ONLY_ADDITIONS
endif # VBOX_WITH_TESTCASES
include $(KBUILD_PATH)/subfooter.kmk