Makefile revision 1523
afe3ab588a6b2992efe5a9b22ed038545ba3cdbfLennart Poettering###############################################################################
c343be283b7152554bac0c02493a4e1759c163f7Kay Sievers#
b3ae710c251d0ce5cf2cef63208e325497b5e323Zbigniew Jędrzejewski-Szmek# Xorg server Makefile
b3ae710c251d0ce5cf2cef63208e325497b5e323Zbigniew Jędrzejewski-Szmek#
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers# Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers#
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers# Permission is hereby granted, free of charge, to any person obtaining a
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers# copy of this software and associated documentation files (the "Software"),
afe3ab588a6b2992efe5a9b22ed038545ba3cdbfLennart Poettering# to deal in the Software without restriction, including without limitation
d19e85f0d474ed1882561b458d528cbae49f640eZbigniew Jędrzejewski-Szmek# the rights to use, copy, modify, merge, publish, distribute, sublicense,
d19e85f0d474ed1882561b458d528cbae49f640eZbigniew Jędrzejewski-Szmek# and/or sell copies of the Software, and to permit persons to whom the
d19e85f0d474ed1882561b458d528cbae49f640eZbigniew Jędrzejewski-Szmek# Software is furnished to do so, subject to the following conditions:
d19e85f0d474ed1882561b458d528cbae49f640eZbigniew Jędrzejewski-Szmek#
d19e85f0d474ed1882561b458d528cbae49f640eZbigniew Jędrzejewski-Szmek# The above copyright notice and this permission notice (including the next
3e495a6651609d0a45b62aab5c3ed5a3b40e11abZbigniew Jędrzejewski-Szmek# paragraph) shall be included in all copies or substantial portions of the
3e495a6651609d0a45b62aab5c3ed5a3b40e11abZbigniew Jędrzejewski-Szmek# Software.
3e495a6651609d0a45b62aab5c3ed5a3b40e11abZbigniew Jędrzejewski-Szmek#
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
f85857df75cfedbc0d10b8ca2400188dc8f4c22eLennart Poettering# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
bafb15bab99887d1b6b8a35136531bac6c3876a6Lennart Poettering# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
83a1ff25e5228b0a5b2cc942fd4f964d10bb73b0Zbigniew Jędrzejewski-Szmek# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
83a1ff25e5228b0a5b2cc942fd4f964d10bb73b0Zbigniew Jędrzejewski-Szmek# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
83a1ff25e5228b0a5b2cc942fd4f964d10bb73b0Zbigniew Jędrzejewski-Szmek# DEALINGS IN THE SOFTWARE.
83a1ff25e5228b0a5b2cc942fd4f964d10bb73b0Zbigniew Jędrzejewski-Szmek#
83a1ff25e5228b0a5b2cc942fd4f964d10bb73b0Zbigniew Jędrzejewski-Szmek#
fd6c2363af2cb144bb6a7d6b8bdba9f777440078Lennart Poettering
47ee3ee03483efd271642d5043070cbd171f19d4Lennart Poettering# Package name used in tarballs
a2088fd025deb90839c909829e27eece40f7fce4Lennart PoetteringMODULE_NAME=xorg-server
a2088fd025deb90839c909829e27eece40f7fce4Lennart Poettering
a2088fd025deb90839c909829e27eece40f7fce4Lennart Poettering# Package metadata
a2088fd025deb90839c909829e27eece40f7fce4Lennart PoetteringMODULE_DESC = portions of the X.Org X server software
a2088fd025deb90839c909829e27eece40f7fce4Lennart Poettering
a2088fd025deb90839c909829e27eece40f7fce4Lennart Poettering# Version number (used in path names) - set in open-src/common/Makefile.init
a2088fd025deb90839c909829e27eece40f7fce4Lennart PoetteringMODULE_VERSION=$(XORGSERVER_VERS)
c874ef05a705d3c679e5fd5a50b81e1f5512c4fdLennart Poettering
c874ef05a705d3c679e5fd5a50b81e1f5512c4fdLennart Poettering# Checksums for upstream tarball
affb71da79b0c3cbcd6ff6c0cedb218a14162c7cLennart PoetteringTARBALL_MD5 = 89a9e2cbcf2be3bfe3da96f19100c978
affb71da79b0c3cbcd6ff6c0cedb218a14162c7cLennart PoetteringTARBALL_SHA1 = 3891522665195ac722403e34840ec94b0b5cc5bc
affb71da79b0c3cbcd6ff6c0cedb218a14162c7cLennart PoetteringTARBALL_SHA256= 8d0f06bf1416487a5170318477088826a8d737d4a201e996b2dc1ecff47461d1
ff609b8ecd0e36bfff0ba120932307274d993dc8Lennart Poettering
ff609b8ecd0e36bfff0ba120932307274d993dc8Lennart Poettering# Patches to apply to source after unpacking, in order
ff609b8ecd0e36bfff0ba120932307274d993dc8Lennart Poettering# *** Moved to patch-list file so they can be shared between Xorg & Xvnc builds
eedb4ac83158bad6f74305612660b4aff6acc6b4Lennart PoetteringSOURCE_PATCHES=$(XORG_SOURCE_PATCHES)
eedb4ac83158bad6f74305612660b4aff6acc6b4Lennart Poettering
de587378ea5d22e11373b18b4fcabf8f26f89529Lennart Poettering# Used in rules shared between Xorg & Xvnc builds in Makefile.inc
de587378ea5d22e11373b18b4fcabf8f26f89529Lennart Poettering# to allow for different source layouts
203e81db24ccb9b4dcb0b1bad0ba554116267d20Lennart PoetteringXORG_SOURCE_DIR=$(SOURCE_DIR)
203e81db24ccb9b4dcb0b1bad0ba554116267d20Lennart PoetteringXORG_BUILD_DIR=$(BUILD_DIR)
63432f5d9570b76a8efe82702d69611c20645530Lennart Poettering
63432f5d9570b76a8efe82702d69611c20645530Lennart Poettering# ARC cases that covered this module
5febf10c1c05344dfb2ea5c2673d64de4568ef3aLennart Poettering# PSARC/2004/187 Xorg Server for Solaris
0bea2e3dde7e0b7ea9f52e85891f9a7e2ddb930dLennart PoetteringMODULE_ARC_CASES = PSARC/2004/187
ef6fc8ee57eff8a2b612de0270c9a25e066ee290Lennart Poettering# PSARC/2004/685 Xorg server upgrade to X11R6.8 release
ef6fc8ee57eff8a2b612de0270c9a25e066ee290Lennart PoetteringMODULE_ARC_CASES += PSARC/2004/685
ef6fc8ee57eff8a2b612de0270c9a25e066ee290Lennart Poettering# PSARC/2004/829 Xorg 6.8.2 server upgrade for Solaris
ef6fc8ee57eff8a2b612de0270c9a25e066ee290Lennart PoetteringMODULE_ARC_CASES += PSARC/2004/829
fd6c2363af2cb144bb6a7d6b8bdba9f777440078Lennart Poettering# PSARC/2005/450 Xorg 6.9 for Solaris
47ee3ee03483efd271642d5043070cbd171f19d4Lennart PoetteringMODULE_ARC_CASES += PSARC/2005/450
fd6c2363af2cb144bb6a7d6b8bdba9f777440078Lennart Poettering# PSARC/2006/609 Xserver provider for DTrace
fd6c2363af2cb144bb6a7d6b8bdba9f777440078Lennart PoetteringMODULE_ARC_CASES += PSARC/2006/609
fd6c2363af2cb144bb6a7d6b8bdba9f777440078Lennart Poettering# PSARC/2007/051 Xorg server upgrade to 7.2
5c5b7911d34c765f9de5528e1259ea028d5518c1Lennart PoetteringMODULE_ARC_CASES += PSARC/2007/051
c2570ab99be82eddbee0f397fbf8704a95f6f736Lennart Poettering# PSARC/2007/434 Xorg server 1.3
c2570ab99be82eddbee0f397fbf8704a95f6f736Lennart PoetteringMODULE_ARC_CASES += PSARC/2007/434
c2570ab99be82eddbee0f397fbf8704a95f6f736Lennart Poettering# PSARC/2007/500 X11 MIT-SHM Extension across zones
c2570ab99be82eddbee0f397fbf8704a95f6f736Lennart PoetteringMODULE_ARC_CASES += PSARC/2007/500
eba6fd30f2a27f51fa328484cb241807c6934ce1Zbigniew Jędrzejewski-Szmek# PSARC/2008/294 Xorg driver selection based on VIS_GETIDENTIFIER
eba6fd30f2a27f51fa328484cb241807c6934ce1Zbigniew Jędrzejewski-SzmekMODULE_ARC_CASES += PSARC/2008/294
eba6fd30f2a27f51fa328484cb241807c6934ce1Zbigniew Jędrzejewski-Szmek# PSARC/2009/021 Xorg server 1.5
c2570ab99be82eddbee0f397fbf8704a95f6f736Lennart PoetteringMODULE_ARC_CASES += PSARC/2009/021
c2570ab99be82eddbee0f397fbf8704a95f6f736Lennart Poettering# PSARC/2009/292 Xorg server 1.6
c2570ab99be82eddbee0f397fbf8704a95f6f736Lennart PoetteringMODULE_ARC_CASES += PSARC/2009/292
d89e647542a6ceeefac15fbe8e193de7418bf449Lennart Poettering# PSARC/2009/679 Xorg server 1.7
d89e647542a6ceeefac15fbe8e193de7418bf449Lennart PoetteringMODULE_ARC_CASES += PSARC/2009/679
d89e647542a6ceeefac15fbe8e193de7418bf449Lennart Poettering# PSARC/2010/109 Introduce libXcb in Solaris
d89e647542a6ceeefac15fbe8e193de7418bf449Lennart PoetteringMODULE_ARC_CASES += PSARC/2010/109
e7e90a8eee056fd12c8ad83470143f7798240dbcLennart Poettering# PSARC/2011/008 Xorg server 1.9
e7e90a8eee056fd12c8ad83470143f7798240dbcLennart PoetteringMODULE_ARC_CASES += PSARC/2011/008
e7e90a8eee056fd12c8ad83470143f7798240dbcLennart Poettering# PSARC/2010/382 Removal of 32-bit X servers
f06944d65b1a9012a5564b364608796d1fad45d2Lennart PoetteringMODULE_ARC_CASES += PSARC/2010/382
d72bc5973465018e077fcecdcc720840bc1e9cfdLennart Poettering# PSARC/2011/214 Xorg server 1.10
d72bc5973465018e077fcecdcc720840bc1e9cfdLennart PoetteringMODULE_ARC_CASES += PSARC/2011/214
d72bc5973465018e077fcecdcc720840bc1e9cfdLennart Poettering# PSARC/2012/144 Xorg server 1.12
d72bc5973465018e077fcecdcc720840bc1e9cfdLennart PoetteringMODULE_ARC_CASES += PSARC/2012/144
d72bc5973465018e077fcecdcc720840bc1e9cfdLennart Poettering# PSARC/2012/320 Xorg server 1.13
d72bc5973465018e077fcecdcc720840bc1e9cfdLennart PoetteringMODULE_ARC_CASES += PSARC/2012/320
d72bc5973465018e077fcecdcc720840bc1e9cfdLennart Poettering# PSARC/2013/091 Xorg server 1.14
d72bc5973465018e077fcecdcc720840bc1e9cfdLennart PoetteringMODULE_ARC_CASES += PSARC/2013/091
07cc65c70150faa68a63a444d615f922517c7d94Lennart Poettering
07cc65c70150faa68a63a444d615f922517c7d94Lennart Poettering# Man pages to apply Sun footer to & attributes to list
07cc65c70150faa68a63a444d615f922517c7d94Lennart PoetteringSUNTOUCHED_MANPAGES= \
07cc65c70150faa68a63a444d615f922517c7d94Lennart Poettering man/Xserver.man \
07cc65c70150faa68a63a444d615f922517c7d94Lennart Poettering hw/dmx/config/man/xdmxconfig.man \
07cc65c70150faa68a63a444d615f922517c7d94Lennart Poettering hw/dmx/config/man/vdltodmx.man \
07cc65c70150faa68a63a444d615f922517c7d94Lennart Poettering hw/dmx/config/man/dmxtodmx.man \
07cc65c70150faa68a63a444d615f922517c7d94Lennart Poettering hw/dmx/man/Xdmx.man \
07cc65c70150faa68a63a444d615f922517c7d94Lennart Poettering hw/kdrive/ephyr/man/Xephyr.man \
c2570ab99be82eddbee0f397fbf8704a95f6f736Lennart Poettering hw/xfree86/exa/man/exa.man \
0a0215783159b9c3a3652b231df36dbff08e0ac5Lennart Poettering hw/xfree86/fbdevhw/man/fbdevhw.man \
aea040c87280c41cb99b64b55f7368661a2d9912Lennart Poettering hw/xfree86/utils/man/cvt.man \
aea040c87280c41cb99b64b55f7368661a2d9912Lennart Poettering hw/xfree86/utils/man/gtf.man \
17978b17d9f5d3591f1c644938efc9c27aa60485Lennart Poettering hw/xfree86/man/Xorg.man \
17978b17d9f5d3591f1c644938efc9c27aa60485Lennart Poettering hw/xfree86/man/xorg.conf.man \
17978b17d9f5d3591f1c644938efc9c27aa60485Lennart Poettering hw/xfree86/man/xorg.conf.d.man \
17978b17d9f5d3591f1c644938efc9c27aa60485Lennart Poettering hw/vfb/man/Xvfb.man
17978b17d9f5d3591f1c644938efc9c27aa60485Lennart Poettering
17978b17d9f5d3591f1c644938efc9c27aa60485Lennart PoetteringMODULE_STABILITY=Volatile
48e6d6a6e911af0cf4e3ef12b0a3eeb2c8031d8aLennart Poettering
48e6d6a6e911af0cf4e3ef12b0a3eeb2c8031d8aLennart Poettering# Override specific attributes for specific man pages
48e6d6a6e911af0cf4e3ef12b0a3eeb2c8031d8aLennart PoetteringMODULE_SUNTOUCH_MAN_FLAGS= \
48e6d6a6e911af0cf4e3ef12b0a3eeb2c8031d8aLennart Poettering $(SUNTOUCH_MAN_FLAGS_$(@F:%.man.$(FIXED_MAN_SUFFIX)=%))
8aa203819fc7f2a840191f8d9d0e65566c0ce98eLennart Poettering# Xephyr, Xvfb, and Xdmx are split out into their own packages
8aa203819fc7f2a840191f8d9d0e65566c0ce98eLennart PoetteringSUNTOUCH_MAN_FLAGS_Xephyr = -o '{Availability, $(MODULE_PKGNAME:%xorg=%xephyr)}'
b18d23d7ac6a53d52b99dbf0b2048d5a946a2e28Lennart PoetteringSUNTOUCH_MAN_FLAGS_Xvfb = -o '{Availability, $(MODULE_PKGNAME:%xorg=%xvfb)}'
b18d23d7ac6a53d52b99dbf0b2048d5a946a2e28Lennart PoetteringSUNTOUCH_MAN_FLAGS_Xdmx = -o '{Availability, $(MODULE_PKGNAME:%xorg=%xdmx)}'
449a22a58f0fa55d9d0fd2eb597272446e032acdLennart PoetteringSUNTOUCH_MAN_FLAGS_Xserver = -o '{Availability, $(MODULE_PKGNAME:%xorg=%xserver-common)}'
449a22a58f0fa55d9d0fd2eb597272446e032acdLennart PoetteringSUNTOUCH_MAN_FLAGS_cvt = -o '{Availability, x11/modeline-utilities}'
449a22a58f0fa55d9d0fd2eb597272446e032acdLennart PoetteringSUNTOUCH_MAN_FLAGS_gtf = -o '{Availability, x11/modeline-utilities}'
449a22a58f0fa55d9d0fd2eb597272446e032acdLennart PoetteringSUNTOUCH_MAN_FLAGS_xdmxconfig = $(SUNTOUCH_MAN_FLAGS_Xdmx)
60d17b74d714fa15d68639062dc2932d7b096229Lennart PoetteringSUNTOUCH_MAN_FLAGS_vdltodmx = $(SUNTOUCH_MAN_FLAGS_Xdmx)
60d17b74d714fa15d68639062dc2932d7b096229Lennart PoetteringSUNTOUCH_MAN_FLAGS_dmxtodmx = $(SUNTOUCH_MAN_FLAGS_Xdmx)
60d17b74d714fa15d68639062dc2932d7b096229Lennart Poettering
60d17b74d714fa15d68639062dc2932d7b096229Lennart Poettering# Binary built in tree
60d17b74d714fa15d68639062dc2932d7b096229Lennart PoetteringXORGSERVER_BIN=$(BUILD_DIR)/hw/xfree86/Xorg
2f653bded321fc2271edcda43d54fcc3e6c20dc9Lennart Poettering
2f653bded321fc2271edcda43d54fcc3e6c20dc9Lennart PoetteringBUILD_TARGETS=$(XORGSERVER_BIN) build_mdb set-elf-comments \
2f653bded321fc2271edcda43d54fcc3e6c20dc9Lennart Poettering $(BUILD_DIR)/mapfile-Xorg-externs
ac749874bbb66c0e7eff15ca35d1616d29b6f3c1Lennart PoetteringBUILD_TARGETS_SET=yes
ac749874bbb66c0e7eff15ca35d1616d29b6f3c1Lennart Poettering
7d417f0f357c59cc1846aa832161e69a2328f699Lennart Poettering# Need to convert dtrace docs from xml to text/html ourselves, since
7d417f0f357c59cc1846aa832161e69a2328f699Lennart Poettering# Solaris doesn't bundle the xmlto tool used upstream
7d417f0f357c59cc1846aa832161e69a2328f699Lennart PoetteringMODULE_DOC_DIR = $(MODULE_PREFIX)/share/doc/Xserver
e342b74468870f2e4f3e15f7277a0adea42183caZbigniew Jędrzejewski-SzmekMODULE_DOC_DIR_SET=yes
e342b74468870f2e4f3e15f7277a0adea42183caZbigniew Jędrzejewski-SzmekMODULE_XML_PATH = $(SOURCE_DIR)/doc
e342b74468870f2e4f3e15f7277a0adea42183caZbigniew Jędrzejewski-SzmekDTRACE_DOC_DIR = $(MODULE_XML_PATH)/dtrace
036a4773ffa1152e4cabd27473450b8cc01e019bLennart PoetteringDTRACE_DOCS = $(DTRACE_DOC_DIR)/Xserver-DTrace.html
036a4773ffa1152e4cabd27473450b8cc01e019bLennart PoetteringDTRACE_DOCS += $(DTRACE_DOC_DIR)/Xserver-DTrace.txt
036a4773ffa1152e4cabd27473450b8cc01e019bLennart PoetteringBUILD_TARGETS += $(DTRACE_DOCS)
036a4773ffa1152e4cabd27473450b8cc01e019bLennart Poettering
a88abde72169ddc2df77df3fa5bed30725022253Lennart Poettering# Need to regenerate autoconf/automake files after patching
a88abde72169ddc2df77df3fa5bed30725022253Lennart PoetteringAUTORECONF=yes
a88abde72169ddc2df77df3fa5bed30725022253Lennart Poettering
a88abde72169ddc2df77df3fa5bed30725022253Lennart Poettering# Command line options to GNU autoconf configure script
f93b36affa5ac5710cd84bfb8ff0dafabe99fbf1Lennart Poettering# XXX: --disable-dga
f93b36affa5ac5710cd84bfb8ff0dafabe99fbf1Lennart PoetteringMODULE_CONFIG_OPTS = $(XSERVER_CONFIG_OPTS) \
20760dcf5df7e253c21a51886cdb02dee612730bLennart Poettering --enable-dmx \
20760dcf5df7e253c21a51886cdb02dee612730bLennart Poettering --enable-builddocs \
20760dcf5df7e253c21a51886cdb02dee612730bLennart Poettering --enable-kdrive --enable-xephyr --disable-xsdl \
20760dcf5df7e253c21a51886cdb02dee612730bLennart Poettering MKFONTDIR="$(MKFONTDIR)" \
20760dcf5df7e253c21a51886cdb02dee612730bLennart Poettering MKFONTSCALE="$(MKFONTSCALE)"
df22b0bbfde403b3fa71f3c2f1e2ca38af946388Lennart Poettering
df22b0bbfde403b3fa71f3c2f1e2ca38af946388Lennart PoetteringMODULE_LDFLAGS = $(XSERVER_LDFLAGS)
df22b0bbfde403b3fa71f3c2f1e2ca38af946388Lennart PoetteringMODULE_LD_OPTIONS = $(MAPFILES_FOR_ALL)
df22b0bbfde403b3fa71f3c2f1e2ca38af946388Lennart Poettering
c05482281c32bd408808b14c5fb03e706e65602dLennart Poettering# Pass linker mapfile listing symbols that modules can count on resolving
c05482281c32bd408808b14c5fb03e706e65602dLennart Poettering# from the Xorg binary itself
c05482281c32bd408808b14c5fb03e706e65602dLennart PoetteringXORG_EXTERNS_FILE = mapfile-Xorg-externs.$(MACH)
73cb77549536deab85d8d1261b5381e87d80ab23Lennart PoetteringXORG_EXTERNS_FLAG = -Wl,-M,$(PWD)/$(XORG_EXTERNS_FILE)
73cb77549536deab85d8d1261b5381e87d80ab23Lennart PoetteringMODULE_BUILD_ENV = XORG_EXTERNS_FLAG='$(XORG_EXTERNS_FLAG)'
73cb77549536deab85d8d1261b5381e87d80ab23Lennart PoetteringMODULE_LD_SHARED_OPTIONS += -M $(PWD)/$(XORG_EXTERNS_FILE)
84bef24dd3ad050bab8ecdcd130d0d9794005fa0Lennart Poettering
84bef24dd3ad050bab8ecdcd130d0d9794005fa0Lennart Poettering# Disable direct binding in shared objects, since it breaks libglx.so
84bef24dd3ad050bab8ecdcd130d0d9794005fa0Lennart PoetteringMODULE_BUILD_ENV += LD_SHARED_UNSET="-B direct"
477e75ef9ea6bb2e7e8cc76278c442942110f227Lennart Poettering
477e75ef9ea6bb2e7e8cc76278c442942110f227Lennart Poettering# Optimization doesn't always remove unused inline functions, leaving many
477e75ef9ea6bb2e7e8cc76278c442942110f227Lennart Poettering# binaries referencing pixman symbols that normally don't need them. The
477e75ef9ea6bb2e7e8cc76278c442942110f227Lennart Poettering# $(ZDISCARD_UNUSED_DEP) in LD_OPTIONS should avoid adding it when
477e75ef9ea6bb2e7e8cc76278c442942110f227Lennart Poettering# not really needed.
477e75ef9ea6bb2e7e8cc76278c442942110f227Lennart PoetteringMODULE_CONFIG_OPTS += LIBS="-lpixman-1"
7dfb0404b3b6882d582a571f61a52b2f56961675Lennart Poettering
7dfb0404b3b6882d582a571f61a52b2f56961675Lennart Poettering# pkg-config files that need to have -R added
7dfb0404b3b6882d582a571f61a52b2f56961675Lennart PoetteringFIX_PC_FILES=xorg-server.pc.in
7dfb0404b3b6882d582a571f61a52b2f56961675Lennart Poettering# Remove compiler specific visibility flag that breaks builds of drivers
7dfb0404b3b6882d582a571f61a52b2f56961675Lennart Poettering# with other compilers
2bc39683c0cada86c9dc39e5f3d0ea475cf12e57Lennart PoetteringMODULE_FIX_PC_FLAGS= -e 's|\@symbol_visibility\@||'
2bc39683c0cada86c9dc39e5f3d0ea475cf12e57Lennart Poettering
2bc39683c0cada86c9dc39e5f3d0ea475cf12e57Lennart Poettering# Need to use GNU Make to build due to hw/xfree86/loader
687f6a0ba77872299b9fb1f2f04d31c977088a63Lennart PoetteringMODULE_MAKE=$(GNUMAKE)
687f6a0ba77872299b9fb1f2f04d31c977088a63Lennart PoetteringMODULE_MAKE_SET=yes
687f6a0ba77872299b9fb1f2f04d31c977088a63Lennart Poettering
687f6a0ba77872299b9fb1f2f04d31c977088a63Lennart Poettering# Additional configure time targets beyond the defaults
687f6a0ba77872299b9fb1f2f04d31c977088a63Lennart PoetteringMODULE_ADD_CONFIGURE_TARGETS=clear_build_date
687f6a0ba77872299b9fb1f2f04d31c977088a63Lennart Poettering
2bc39683c0cada86c9dc39e5f3d0ea475cf12e57Lennart Poettering# Additional install targets beyond the defaults
2bc39683c0cada86c9dc39e5f3d0ea475cf12e57Lennart PoetteringMODULE_ADD_INSTALL_TARGETS=install_extras install_mdb install_pc_common \
687f6a0ba77872299b9fb1f2f04d31c977088a63Lennart Poettering install_fix_paths install_docs
31a11e8f30449a81867e8fd081e3e76cf6664bb4Lennart Poettering
31a11e8f30449a81867e8fd081e3e76cf6664bb4Lennart Poettering# Have to avoid dependency loop between install_pc_common and
41bc22f3a0d5c61e019a0b493c430941d56aba4eLennart Poettering# install_pkgconfig_uninstalled
dbdee28bfadd6d8bd93cb34c85ce1fc325dd8120Lennart PoetteringINSTALL_PCU_DEPS = $(INSTALL_TARGETS:install_pc_common=)
17fe56148c44dfa5583a8643c1918fd6eccf2aeeLennart PoetteringINSTALL_PCU_DEPS_SET=yes
17fe56148c44dfa5583a8643c1918fd6eccf2aeeLennart Poettering
17fe56148c44dfa5583a8643c1918fd6eccf2aeeLennart Poettering# Merge in additional sources from sun-src directory
17fe56148c44dfa5583a8643c1918fd6eccf2aeeLennart PoetteringADDITIONAL_SOURCE_DIR=sun-src
7687f85ea6bab434324bb985e2898bf6373891bfLennart Poettering
7687f85ea6bab434324bb985e2898bf6373891bfLennart Poettering# Compatibility links from /usr/X11/bin to /usr/bin
7687f85ea6bab434324bb985e2898bf6373891bfLennart Poettering# Only needed for programs that were in /usr/X11/bin before we moved
7687f85ea6bab434324bb985e2898bf6373891bfLennart PoetteringMODULE_X11_BINCOMPAT_LINKS = Xorg Xephyr Xvfb cvt gtf
c14db9b32ab90738973071d31f259d1a457d7b4aLennart PoetteringMODULE_X11_BINCOMPAT_LINKS_i386 = amd64
c14db9b32ab90738973071d31f259d1a457d7b4aLennart PoetteringMODULE_X11_BINCOMPAT_LINKS += $(MODULE_X11_BINCOMPAT_LINKS_$(MACH))
fa607802f332e06f4044c3eb38dbea41076c803dLennart Poettering
fa607802f332e06f4044c3eb38dbea41076c803dLennart Poettering# Binaries that were linked to isaexec on x86 to choose 32-bit or 64-bit,
fa607802f332e06f4044c3eb38dbea41076c803dLennart Poettering# now just symlinks from amd64 to parent directory
a47e6701bfc45519a4e038daa52e9236e932f59aLennart PoetteringLINKED_TO_ISAEXEC = Xorg Xephyr Xvfb Xdmx
92ff080be100aff15f292e2631921131c610afe7Lennart Poettering
b80c66ba9836456de5260e4a1b696ba25561f613Lennart Poetteringinclude ../Makefile.inc
bd69054b0987b40a0df87d40772893f6f8a078daLennart Poettering
bd69054b0987b40a0df87d40772893f6f8a078daLennart Poettering# Don't include build date & time in delivered binaries as it just causes
c3a0d00d6dd6f5997d673e133ef6f9f856550b0aLennart Poettering# unnecessary binary differences to be pulled into package updates, but
c3a0d00d6dd6f5997d673e133ef6f9f856550b0aLennart Poettering# leave it in debug builds for developer convenience
c3a0d00d6dd6f5997d673e133ef6f9f856550b0aLennart Poettering$(BUILD_DEBUG:yes=$(POUND_SIGN)) CBD_TARGET = actually_clear_build_date
c3a0d00d6dd6f5997d673e133ef6f9f856550b0aLennart Poettering
c3a0d00d6dd6f5997d673e133ef6f9f856550b0aLennart Poetteringclear_build_date: $(CBD_TARGET)
c3a0d00d6dd6f5997d673e133ef6f9f856550b0aLennart Poettering
de146bb2aac13361ade3050d37696499ac4ca9aeLennart Poetteringactually_clear_build_date: $(AUTOCONF_TARGET)
de146bb2aac13361ade3050d37696499ac4ca9aeLennart Poettering printf '#undef BUILD_DATE\n#undef BUILD_TIME\n' > \
de146bb2aac13361ade3050d37696499ac4ca9aeLennart Poettering $(BUILD_DIR)/hw/xfree86/common/xf86Build.h
de146bb2aac13361ade3050d37696499ac4ca9aeLennart Poettering
c3a0d00d6dd6f5997d673e133ef6f9f856550b0aLennart Poettering$(XORGSERVER_BIN): default_build
c3a0d00d6dd6f5997d673e133ef6f9f856550b0aLennart Poettering
82e6c50c473f4be8df77c7a510577f1975eedddbLennart PoetteringSDK_INCLUDES_DIR=$(PROTODIR)$(X11_INCLUDES_DIR)/xorg/
82e6c50c473f4be8df77c7a510577f1975eedddbLennart Poettering
d2f81fb00cc3c49e21b31000ba7d37b81a260257Lennart Poetteringinstall_extras: default_install
d2f81fb00cc3c49e21b31000ba7d37b81a260257Lennart Poettering -rm -f $(SDK_INCLUDES_DIR)/xorg-server.h
98cd2651988619bf606f0b27825440c4638a7e0bLennart Poettering sed -e 's%#define XF86DRI 1%/* #define XF86DRI 1 */%' \
b7307642391c8ebb9724c99e6b33239e2c0ff944Lennart Poettering $(BUILD_DIR)/include/xorg-server.h > $(SDK_INCLUDES_DIR)/xorg-server.h
b7307642391c8ebb9724c99e6b33239e2c0ff944Lennart Poettering cp -pf $(SOURCE_DIR)/mi/mioverlay.h \
2a441c8afe7c81f74cc2ceccdf9a71301cd39d4dLennart Poettering $(SOURCE_DIR)/hw/xfree86/os-support/bus/xf86Sbus.h \
2a441c8afe7c81f74cc2ceccdf9a71301cd39d4dLennart Poettering $(SOURCE_DIR)/hw/xfree86/dri/*.h $(SDK_INCLUDES_DIR)/
2a441c8afe7c81f74cc2ceccdf9a71301cd39d4dLennart Poettering mkdir -p $(PROTODIR)$(X11_MAN_DIR)/man1
2a441c8afe7c81f74cc2ceccdf9a71301cd39d4dLennart Poettering cp -pf $(SOURCE_DIR)/hw/xfree86/man/xorgcfg.1 \
2a441c8afe7c81f74cc2ceccdf9a71301cd39d4dLennart Poettering $(SOURCE_DIR)/hw/xfree86/man/xorgconfig.1 \
40ff4a4abd76d71408e598ed02d7860b8465fa9aLennart Poettering $(PROTODIR)$(X11_MAN_DIR)/man1
40ff4a4abd76d71408e598ed02d7860b8465fa9aLennart Poettering mkdir -p $(PROTODIR)/etc/hal/fdi/preprobe/10osvendor
40ff4a4abd76d71408e598ed02d7860b8465fa9aLennart Poettering cp -pf $(SOURCE_DIR)/config/x11-input.fdi \
40ff4a4abd76d71408e598ed02d7860b8465fa9aLennart Poettering $(PROTODIR)/etc/hal/fdi/preprobe/10osvendor/10-x11-input.fdi
0a86c1a9d8066267b878dfeddc5e0087dda6a37bLennart Poettering mkdir -p $(PROTODIR)/etc/X11/xorg.conf.d \
0a86c1a9d8066267b878dfeddc5e0087dda6a37bLennart Poettering $(PROTODIR)/etc/X11/xorg.conf.avail \
f131770b1465fbf423881f16ba85523a05f846feVeres Lajos $(PROTODIR)/usr/share/X11/xorg.conf.d
0a86c1a9d8066267b878dfeddc5e0087dda6a37bLennart Poettering cp -pf 90-zap.conf $(PROTODIR)/etc/X11/xorg.conf.avail
0a86c1a9d8066267b878dfeddc5e0087dda6a37bLennart Poettering
0a86c1a9d8066267b878dfeddc5e0087dda6a37bLennart Poettering# Workaround bug in installing pkgconfig file to wrong directory in 64-bit
0a86c1a9d8066267b878dfeddc5e0087dda6a37bLennart Poettering# builds, and install xorg-server.pc in 32-bit pkgconfig dir too
0a86c1a9d8066267b878dfeddc5e0087dda6a37bLennart Poetteringinstall_pc_common: default_install install_pkgconfig_uninstalled
0a86c1a9d8066267b878dfeddc5e0087dda6a37bLennart Poettering -rm -f $(PROTODIR)$(PKGCONFIG_DIR)/xorg-server.pc
0a86c1a9d8066267b878dfeddc5e0087dda6a37bLennart Poettering mkdir -p $(PROTODIR)$(PKGCONFIG_DIR)
0a86c1a9d8066267b878dfeddc5e0087dda6a37bLennart Poettering cp -pf $(BUILD_DIR)/xorg-server.pc \
e3286870fdf20c3c93e944b24fd9af53620f7dbaLennart Poettering $(PROTODIR)$(PKGCONFIG_DIR)/xorg-server.pc
e3286870fdf20c3c93e944b24fd9af53620f7dbaLennart Poettering -rm -f $(PROTODIR)$(PKGCONFIG_DIR_32)/xorg-server.pc \
e3286870fdf20c3c93e944b24fd9af53620f7dbaLennart Poettering $(PROTODIR)$(PKGCONFIG_DIR_32)/xorg-server-uninstalled.pc
e3286870fdf20c3c93e944b24fd9af53620f7dbaLennart Poettering mkdir -p $(PROTODIR)$(PKGCONFIG_DIR_32)
8514b67754c5ff7fa628929b3d27131010c21842Lennart Poettering ln -s ../$(SUBDIR64)$(PKGCONFIG_DIR_suffix)/xorg-server.pc \
8514b67754c5ff7fa628929b3d27131010c21842Lennart Poettering ../$(SUBDIR64)$(PKGCONFIG_DIR_suffix)/xorg-server-uninstalled.pc \
6c78f43c7b0e54e695af49917fda79b584f46830Lennart Poettering $(PROTODIR)$(PKGCONFIG_DIR_32)/
6c78f43c7b0e54e695af49917fda79b584f46830Lennart Poettering
7b0fce617c48eda32b2d4e04b5f0e4376e8c0106Lennart Poettering# Generate a list of exported functions & data objects so that we can verify
7b0fce617c48eda32b2d4e04b5f0e4376e8c0106Lennart Poettering# loadable modules don't reference symbols that have been deleted or renamed.
7b0fce617c48eda32b2d4e04b5f0e4376e8c0106Lennart PoetteringSYMBOL_AWK_SCRIPT = \
7b0fce617c48eda32b2d4e04b5f0e4376e8c0106Lennart Poettering'BEGIN { print "\043 Functions exported by Xorg server to loadable modules" ; \
7b0fce617c48eda32b2d4e04b5f0e4376e8c0106Lennart Poettering print "\n\044mapfile_version 2\n\nSYMBOL_SCOPE {\n\tglobal:" } \
b568ef14a75dffb7182e0acbdec743b31df2a597Lennart Poettering END { print "};" } \
c2d5b3c94d0c082ef29597fb230f8b88b124bab8Lennart Poettering $$7 ~ /UNDEF|\.tdata/ { next } \
264b8070715d2d19344c4991ace21147d998f56dLennart Poettering $$5 !~ /GLOB/ { next } \
264b8070715d2d19344c4991ace21147d998f56dLennart Poettering $$8 ~ /^(__|_edata|_end|_etext|_start|_environ|_lib_version)/ { next } \
7e27f3121e5a10629302b5221eb21345f832724aLennart Poettering $$4 ~ /FUNC/ && $$7 ~ /\.text/ { printf "\t\t%-40s { FLAGS = EXTERN };\n", $$8 } \
7e27f3121e5a10629302b5221eb21345f832724aLennart Poettering $$4 ~ /OBJT/ && $$7 ~ /data|bss/ { printf "\t\t%-40s { FLAGS = EXTERN };\n", $$8}'
f81e67f79fa856aa2ecffad4d014772ce981745cLennart Poettering
f81e67f79fa856aa2ecffad4d014772ce981745cLennart Poettering$(BUILD_DIR)/mapfile-Xorg-externs: $(XORGSERVER_BIN)
d48b7bd271b1e70924c8485d2f95c2f5a1ae77cbLennart Poettering -rm -f $@
d48b7bd271b1e70924c8485d2f95c2f5a1ae77cbLennart Poettering LC_ALL=C /usr/bin/nm -gs $(XORGSERVER_BIN) | \
25e14499c4c5b02229d05a5bc26c3693ade5f987Lennart Poettering gawk -F\| $(SYMBOL_AWK_SCRIPT) > $@
25e14499c4c5b02229d05a5bc26c3693ade5f987Lennart Poettering# cmp $(XORG_EXTERNS_FILE) $@
758c4d7a391c0e024737053c815bf3924653b8c5Lennart Poettering
758c4d7a391c0e024737053c815bf3924653b8c5Lennart Poettering# Fix paths in proto area to match paths in packages / installed systems
821cc13ddae40fb7608458b44aaa7a3fd33d56d9Lennart Poetteringinstall_fix_paths_X: default_install
821cc13ddae40fb7608458b44aaa7a3fd33d56d9Lennart Poettering rm -f $(PROTODIR)$(MODULE_PREFIX)/bin/X \
8483d73ff158ee0d51ccbba09a470cc6ae9b071aLennart Poettering $(PROTODIR)$(MODULE_PREFIX)/bin/$(ARCHBINSUBDIR)/X
8483d73ff158ee0d51ccbba09a470cc6ae9b071aLennart Poettering ln -s Xserver $(PROTODIR)$(MODULE_PREFIX)/bin/X
8483d73ff158ee0d51ccbba09a470cc6ae9b071aLennart Poettering
8483d73ff158ee0d51ccbba09a470cc6ae9b071aLennart Poetteringinstall_fix_paths: install_fix_paths_X
8483d73ff158ee0d51ccbba09a470cc6ae9b071aLennart Poettering
8483d73ff158ee0d51ccbba09a470cc6ae9b071aLennart PoetteringMESA_MODULE_DIR = /usr/lib/mesa/modules/extensions
8483d73ff158ee0d51ccbba09a470cc6ae9b071aLennart PoetteringEXT_MODULE_DIR = $(X11_SERVERMODS_DIR)/extensions
25e773eeb4f853804e1bf0dbd9a184f23e9b2a97Kay Sievers
b857e042d621ffb98a652f33850b431fafbece43Lennart Poetteringinstall_fix_paths_glxmodule: default_install
6dab5bb18151c80fc39bd51f03dcff40b920de3eLennart Poettering @rm -f $(PROTODIR)$(MESA_MODULE_DIR)/libglx.so
6dab5bb18151c80fc39bd51f03dcff40b920de3eLennart Poettering mkdir -p $(PROTODIR)$(MESA_MODULE_DIR)/
384a4be2b00cb95ce215dd343cc9aa77adc9b1ecLennart Poettering mv -f $(PROTODIR)$(EXT_MODULE_DIR)/libglx.so \
384a4be2b00cb95ce215dd343cc9aa77adc9b1ecLennart Poettering $(PROTODIR)$(MESA_MODULE_DIR)/libglx.so
706d97503df83d141d241b645d2c920d691b3d62Lennart Poettering ln -s ../../../../../system/volatile/opengl/server/libglx.so \
706d97503df83d141d241b645d2c920d691b3d62Lennart Poettering $(PROTODIR)$(EXT_MODULE_DIR)/libglx.so
3bcde97e8502c48b53f7420e2433ca68e601662dLennart Poettering
3bcde97e8502c48b53f7420e2433ca68e601662dLennart Poetteringinstall_fix_paths: install_fix_paths_glxmodule
533bb267f13e2f7b4d7b78de30e821dc81c82335Lennart Poettering
533bb267f13e2f7b4d7b78de30e821dc81c82335Lennart Poettering# Install metadata for Xephyr, Xvfb, Xdmx, & xtsol packages too
279f036675536d55c901562b49f9df146af1a0e3Lennart PoetteringXCOMMON_PKG_METADATA_DIR = $(MODULE_PKG_METADATA_DIR:%-xorg=%-xserver-common)
533bb267f13e2f7b4d7b78de30e821dc81c82335Lennart PoetteringXEPHYR_PKG_METADATA_DIR = $(MODULE_PKG_METADATA_DIR:%-xorg=%-xephyr)
b42de08aa4c97636e42c28c7bce08f0d7c2a719aZbigniew Jędrzejewski-SzmekXVFB_PKG_METADATA_DIR = $(MODULE_PKG_METADATA_DIR:%-xorg=%-xvfb)
b42de08aa4c97636e42c28c7bce08f0d7c2a719aZbigniew Jędrzejewski-SzmekXDMX_PKG_METADATA_DIR = $(MODULE_PKG_METADATA_DIR:%-xorg=%-xdmx)
b42de08aa4c97636e42c28c7bce08f0d7c2a719aZbigniew Jędrzejewski-SzmekXTSOL_PKG_METADATA_DIR = $(MODULE_PKG_METADATA_DIR:%-server-xorg=%-trusted-trusted-xorg)
b42de08aa4c97636e42c28c7bce08f0d7c2a719aZbigniew Jędrzejewski-SzmekMODES_PKG_METADATA_DIR = $(MODULE_PKG_METADATA_DIR:%-server-xorg=%-modeline-utilities)
202aea456dfb279cd34da7bfd1880f6ac0fd849fLennart Poettering
42aeb14a4a0fa7d43da96a8ed0fb0e180a2dd5c8Lennart PoetteringEXTRA_METADATA_DIRS = $(XCOMMON_PKG_METADATA_DIR) \
42aeb14a4a0fa7d43da96a8ed0fb0e180a2dd5c8Lennart Poettering $(XEPHYR_PKG_METADATA_DIR) \
42aeb14a4a0fa7d43da96a8ed0fb0e180a2dd5c8Lennart Poettering $(XVFB_PKG_METADATA_DIR) \
42aeb14a4a0fa7d43da96a8ed0fb0e180a2dd5c8Lennart Poettering $(XDMX_PKG_METADATA_DIR) \
14a32924c9b46817c92ae11c1147a59dcb62012bLennart Poettering $(XTSOL_PKG_METADATA_DIR) \
14a32924c9b46817c92ae11c1147a59dcb62012bLennart Poettering $(MODES_PKG_METADATA_DIR)
14a32924c9b46817c92ae11c1147a59dcb62012bLennart Poettering
14a32924c9b46817c92ae11c1147a59dcb62012bLennart PoetteringEXTRA_ATTRDATA_FILES = $(EXTRA_METADATA_DIRS:%=%/$(ATTRDATA_FILE_NAME))
563b1bdc09efe0cf94dd3f514f30376ca854c1ceLennart PoetteringEXTRA_LICENSE_FILES = $(EXTRA_METADATA_DIRS:%=%/$(LICENSE_FILE_NAME))
563b1bdc09efe0cf94dd3f514f30376ca854c1ceLennart Poettering
5dcf983854c2e8314dbee239180255490ec8ae1cLennart PoetteringEXTRA_METADATA_TARGETS= $(EXTRA_METADATA_DIRS) \
5dcf983854c2e8314dbee239180255490ec8ae1cLennart Poettering $(EXTRA_ATTRDATA_FILES) \
5dcf983854c2e8314dbee239180255490ec8ae1cLennart Poettering $(EXTRA_LICENSE_FILES)
6bd7941ece602ae9962a103c8d65ecda7d642391Tom Gundersen
6bd7941ece602ae9962a103c8d65ecda7d642391Tom Gunderseninstall_metadata: $(EXTRA_METADATA_TARGETS)
6bd7941ece602ae9962a103c8d65ecda7d642391Tom Gundersen
b873d33ec9583c92a0c2bc6807d010720fa31595Lennart Poettering$(EXTRA_ATTRDATA_FILES) $(EXTRA_LICENSE_FILES): $(EXTRA_METADATA_DIRS)
d61bb44a89fde3042c7c15ea4975239f7dcb0cb0Lennart Poettering
ed220efd6657822332b9563ec53c5ab9f3c33220Lennart Poettering$(EXTRA_METADATA_DIRS):
ed220efd6657822332b9563ec53c5ab9f3c33220Lennart Poettering mkdir -p $@
41488fe9024a8955d19811620fd55dcc56a5b2baLennart Poettering
41488fe9024a8955d19811620fd55dcc56a5b2baLennart Poettering# Xtsol module is covered only by Oracle copyright/license
41488fe9024a8955d19811620fd55dcc56a5b2baLennart PoetteringXTSOL_LICENSE = $(XTSOL_PKG_METADATA_DIR)/$(LICENSE_FILE_NAME)
41488fe9024a8955d19811620fd55dcc56a5b2baLennart Poettering$(XTSOL_LICENSE):= LICENSE_NAME = $(ORACLE_LICENSE_NAME)
41488fe9024a8955d19811620fd55dcc56a5b2baLennart Poettering$(XTSOL_LICENSE):= LICENSE_FILE = COPYING.tsol
41488fe9024a8955d19811620fd55dcc56a5b2baLennart Poettering$(XTSOL_LICENSE):= LICENSE_INSERT = $(ORACLE_LICENSE_INSERT)
41488fe9024a8955d19811620fd55dcc56a5b2baLennart Poettering
41488fe9024a8955d19811620fd55dcc56a5b2baLennart Poettering# Special compatibility links from /usr/X11/include to /usr/include
ca70bec9261977336c94f44d5fcf37e1c495326aLennart PoetteringX11_INCLUDE_COMPAT_DIR = $(PROTODIR)/usr/X11/include
ca70bec9261977336c94f44d5fcf37e1c495326aLennart PoetteringX11_INCLUDE_COMPAT_LINKS = $(X11_INCLUDE_COMPAT_DIR)/drm \
ca70bec9261977336c94f44d5fcf37e1c495326aLennart Poettering $(X11_INCLUDE_COMPAT_DIR)/xorg
1dbe0a6efda7b1d35957eab7e1d56a2c69d806d9Lennart Poettering
1dbe0a6efda7b1d35957eab7e1d56a2c69d806d9Lennart Poetteringinstall: $(X11_INCLUDE_COMPAT_LINKS)
157a180e4fc827606833a6724834ba7b0246d650Tom Gundersen
157a180e4fc827606833a6724834ba7b0246d650Tom Gundersen$(X11_INCLUDE_COMPAT_DIR):
823f4a91ebd8942a2c1ff31050dc55eaa60f6ffcLukas Nykryn mkdir -p $@
b873d33ec9583c92a0c2bc6807d010720fa31595Lennart Poettering
9d6db739ce1eaa3eace21801fd606d523b73c8f4Lennart Poettering$(X11_INCLUDE_COMPAT_LINKS): $(X11_INCLUDE_COMPAT_DIR)
1dbe0a6efda7b1d35957eab7e1d56a2c69d806d9Lennart Poettering @rm -f $@
1dbe0a6efda7b1d35957eab7e1d56a2c69d806d9Lennart Poettering ln -s ../../include/$(@F) $@
9d6db739ce1eaa3eace21801fd606d523b73c8f4Lennart Poettering
ff3d6560bead6879a2fed1bf99bfe8273b3723f1Zbigniew Jędrzejewski-Szmek## mdb module rules
ff3d6560bead6879a2fed1bf99bfe8273b3723f1Zbigniew Jędrzejewski-Szmek# Build & install mdb modules & scripts that aren't integrated to
151226ab4bf276d60d51864330a99f886b923697Zbigniew Jędrzejewski-Szmek# normal build process.
23c4091dc2b85d117512e89233fdeb47d1ff3d92Lennart PoetteringMDB_SOURCE_DIR = $(XORG_SOURCE_DIR)/os/solaris/mdb
23c4091dc2b85d117512e89233fdeb47d1ff3d92Lennart PoetteringMDB_BUILD_DIR = $(XORG_BUILD_DIR)/os/solaris/mdb
9d6db739ce1eaa3eace21801fd606d523b73c8f4Lennart PoetteringMDB_REL_SOURCE_DIR = ../../../../$(MDB_SOURCE_DIR)
0f47ed0a052c0da743404f23ac3532aaabd23655Lennart PoetteringMDB_MODULE_DIR=/usr/lib/mdb/proc/$(ARCHLIBSUBDIR)
9d6db739ce1eaa3eace21801fd606d523b73c8f4Lennart PoetteringMDB_SCRIPT_DIR=/usr/demo/Xserver/mdb
bc07548926ec5ed7b13df8d3656654f238e0b9a7Lennart PoetteringMDB_SCRIPTS=list_Xserver_clients \
bc07548926ec5ed7b13df8d3656654f238e0b9a7Lennart Poettering list_Xserver_devicegrab_client \
b6b63571ae3eca1741d54172922961af972b8f20Lennart Poettering list_Xserver_servergrab_client
279f036675536d55c901562b49f9df146af1a0e3Lennart PoetteringMDB_MODULE_NAMES=Xephyr Xorg Xvfb Xvnc Xdmx
279f036675536d55c901562b49f9df146af1a0e3Lennart Poettering
3f77a1b19f5a8ce33566f7f6e28e94c08ea30841Kay SieversBUILT_MDB_MODULE=$(MDB_BUILD_DIR)/modules/Xserver.so
e2a69298819b58f008be61d314f8ab95ccaec427Lennart PoetteringBUILT_MDB_SCRIPTS=$(MDB_SCRIPTS:%=$(MDB_BUILD_DIR)/scripts/%)
e2a69298819b58f008be61d314f8ab95ccaec427Lennart Poettering
2834ffe78d7fd8be118429aa1449ac72641638c2Lennart PoetteringINSTALLED_MDB_LINKS=$(MDB_MODULE_NAMES:%=$(PROTODIR)$(MDB_MODULE_DIR)/%.so)
2834ffe78d7fd8be118429aa1449ac72641638c2Lennart PoetteringINSTALLED_MDB_MODULE=$(PROTODIR)$(MDB_MODULE_DIR)/Xserver.so
a940778fb1dd16479f455bab3ac6cbdbc5b06165Lennart PoetteringINSTALLED_MDB_SCRIPTS=$(MDB_SCRIPTS:%=$(PROTODIR)$(MDB_SCRIPT_DIR)/%)
a940778fb1dd16479f455bab3ac6cbdbc5b06165Lennart PoetteringINSTALLED_MDB_ALL=$(INSTALLED_MDB_MODULE) $(INSTALLED_MDB_LINKS) \
a01647e53727107d82382bc5c9d98c894e8f386cLennart Poettering $(INSTALLED_MDB_SCRIPTS)
3c779fa59d1825d7db2a9516669d34ded7916913Lennart Poettering
a940778fb1dd16479f455bab3ac6cbdbc5b06165Lennart Poettering# Since configure options aren't used to build the mdb modules, pass
a01647e53727107d82382bc5c9d98c894e8f386cLennart Poettering# those variables at build time
3de03738fc970496d2d3da668c72767a48ccc41bLennart PoetteringMDB_BUILD_ENV=$(CONFIG_ENV) $(BUILD_ENV)
3de03738fc970496d2d3da668c72767a48ccc41bLennart PoetteringMDB_BUILD_ENV += CFLAGS="$(LIB_CFLAGS)" LDFLAGS="$(LIB_LDFLAGS)"
2b1c3767515672dfd0f5e0a9c9d7ac3a16a6a361Lennart PoetteringMDB_BUILD_ENV += ARCHLIBSUBDIR="$(ARCHLIBSUBDIR)"
2b1c3767515672dfd0f5e0a9c9d7ac3a16a6a361Lennart PoetteringMDB_BUILD_ENV += top_builddir="$(PWD)/$(BUILD_DIR)"
37efac5ddb21fd91ed420c070ed07f375e78b3b9Lennart PoetteringMDB_BUILD_ENV += top_srcdir="$(PWD)/$(SOURCE_DIR)"
37efac5ddb21fd91ed420c070ed07f375e78b3b9Lennart Poettering
7348b3adb324614132cf376f478e883bd7de28f1Lennart Poetteringbuild_mdb: $(BUILT_MDB_MODULE)
7348b3adb324614132cf376f478e883bd7de28f1Lennart Poettering
e107ed185ef08945102834234a05ec51bb438685Lennart Poettering$(BUILT_MDB_SCRIPTS): $(SOURCE_TARGETS)
e107ed185ef08945102834234a05ec51bb438685Lennart Poettering
81429136905a6204875174b60a179333b7f3c9e4Kay Sievers$(MDB_BUILD_DIR): $(SOURCE_TARGETS) $(BUILD_DIR) $(LNDIR)
81429136905a6204875174b60a179333b7f3c9e4Kay Sievers mkdir -p $(MDB_BUILD_DIR)
e107ed185ef08945102834234a05ec51bb438685Lennart Poettering cd $(MDB_BUILD_DIR) && $(LNDIR) $(MDB_REL_SOURCE_DIR)
f598ac3e28b729dd0b1d0a881df3e16465687a2bLennart Poettering
11fb37f16ed99c1603c9d770b60ce4953b96a58dLennart Poettering$(BUILT_MDB_MODULE): $(CONFIGURE_TARGETS) $(MDB_BUILD_DIR)
01083ad094664e5c685060f4fb35a05ea2f212edLennart Poettering (cd $(MDB_BUILD_DIR) && \
01083ad094664e5c685060f4fb35a05ea2f212edLennart Poettering $(MDB_BUILD_ENV) $(MAKE) $(MAKEFLAGS) $(DEFAULT_BUILD_MAKEFLAGS))
edb2935c5c5b95c42b8679086f60da5eafad74cbLennart Poettering
edb2935c5c5b95c42b8679086f60da5eafad74cbLennart Poettering$(PROTODIR)$(MDB_MODULE_DIR) $(PROTODIR)$(MDB_SCRIPT_DIR):
769918ecd30c0f7ee6e87b9aa6226d956bd2f530Lennart Poettering mkdir -p $@
769918ecd30c0f7ee6e87b9aa6226d956bd2f530Lennart Poettering
769918ecd30c0f7ee6e87b9aa6226d956bd2f530Lennart Poettering$(INSTALLED_MDB_MODULE): $(PROTODIR)$(MDB_MODULE_DIR) $(BUILT_MDB_MODULE)
769918ecd30c0f7ee6e87b9aa6226d956bd2f530Lennart Poettering $(INSTALL_SCRIPT) -c -m 0555 $(BUILT_MDB_MODULE) $@
6a3f892a23db71544d0439355f96c44350dafa8fLennart Poettering
2a781fc9bd33982c81e5ff75974a442a33d4f167Lennart Poettering$(INSTALLED_MDB_LINKS): $(PROTODIR)$(MDB_MODULE_DIR)
2a781fc9bd33982c81e5ff75974a442a33d4f167Lennart Poettering @rm -f $@
6a3f892a23db71544d0439355f96c44350dafa8fLennart Poettering ln -s Xserver.so $@
6a3f892a23db71544d0439355f96c44350dafa8fLennart Poettering
650264033f2f98f6319513958d94d59078654af8Lennart Poettering$(INSTALLED_MDB_SCRIPTS): $(BUILT_MDB_SCRIPTS) $(PROTODIR)$(MDB_SCRIPT_DIR)
650264033f2f98f6319513958d94d59078654af8Lennart Poettering $(INSTALL_SCRIPT) -c -m 0555 $(MDB_SOURCE_DIR)/scripts/$(@F) \
650264033f2f98f6319513958d94d59078654af8Lennart Poettering $(PROTODIR)$(MDB_SCRIPT_DIR)/
f8901862b2b030921b3d5aba4157044ceab16451Lennart Poettering
eda8f06755bd98c4639293c26b856c225f0d1fe1Lennart Poetteringinstall_mdb: $(INSTALLED_MDB_ALL)
eda8f06755bd98c4639293c26b856c225f0d1fe1Lennart Poettering $(INSTALL_SCRIPT) -c -m 0444 $(MDB_SOURCE_DIR)/README \
d4fdc205a4610965cee46408dbd046c922e7620cLennart Poettering $(PROTODIR)$(MDB_SCRIPT_DIR)/
d4fdc205a4610965cee46408dbd046c922e7620cLennart Poettering
d4fdc205a4610965cee46408dbd046c922e7620cLennart Poettering## Dtrace docs rules
af1082b04a3d45a9b1d796b4271f44e87e307026Lennart Poettering$(DTRACE_DOC_DIR)/Xserver-DTrace.xml: $(AUTOCONF_TARGET)
af1082b04a3d45a9b1d796b4271f44e87e307026Lennart Poettering
af1082b04a3d45a9b1d796b4271f44e87e307026Lennart Poettering$(PROTODIR)$(RELNOTES_DIR):
af1082b04a3d45a9b1d796b4271f44e87e307026Lennart Poettering mkdir -p $@
488ad3b32a7e2b5b1380abf4a15e5f65fa65f3feLennart Poettering
488ad3b32a7e2b5b1380abf4a15e5f65fa65f3feLennart Poetteringinstall_docs: $(DTRACE_DOCS) $(PROTODIR)$(MODULE_DOC_DIR) $(PROTODIR)$(RELNOTES_DIR)
488ad3b32a7e2b5b1380abf4a15e5f65fa65f3feLennart Poettering $(INSTALL_SCRIPT) -c -m 0444 $(DTRACE_DOCS) $(PROTODIR)$(MODULE_DOC_DIR)
488ad3b32a7e2b5b1380abf4a15e5f65fa65f3feLennart Poettering $(INSTALL_SCRIPT) -c -m 0444 release-notes/*.txt \
488ad3b32a7e2b5b1380abf4a15e5f65fa65f3feLennart Poettering $(PROTODIR)$(RELNOTES_DIR)
488ad3b32a7e2b5b1380abf4a15e5f65fa65f3feLennart Poettering