Makefile revision 1504
0d444dc136a1a8df89a329d7ad43c74e1db8dfbeMark Andrews###############################################################################
ff30270d6ccc27a7ce45853eb5637b6d69d8a5ebMark Andrews#
0d444dc136a1a8df89a329d7ad43c74e1db8dfbeMark Andrews# Xorg server Makefile
4e9775118dbf128dd296f01638733ba221f76c34Mark Andrews#
4e9775118dbf128dd296f01638733ba221f76c34Mark Andrews# Copyright (c) 2006, 2014, Oracle and/or its affiliates. All rights reserved.
4e9775118dbf128dd296f01638733ba221f76c34Mark Andrews#
35378bcc6a6c95495e70bad92f245b6fa9c8292aTatuya JINMEI 神明達哉# Permission is hereby granted, free of charge, to any person obtaining a
35378bcc6a6c95495e70bad92f245b6fa9c8292aTatuya JINMEI 神明達哉# copy of this software and associated documentation files (the "Software"),
35378bcc6a6c95495e70bad92f245b6fa9c8292aTatuya JINMEI 神明達哉# to deal in the Software without restriction, including without limitation
b05585dcfe270c40e309ff7304cf6b69d7390bdaTatuya JINMEI 神明達哉# the rights to use, copy, modify, merge, publish, distribute, sublicense,
b05585dcfe270c40e309ff7304cf6b69d7390bdaTatuya JINMEI 神明達哉# and/or sell copies of the Software, and to permit persons to whom the
1f030ca8a3df943d8016cac39bc3018f5952126aJeremy Reed# Software is furnished to do so, subject to the following conditions:
1f030ca8a3df943d8016cac39bc3018f5952126aJeremy Reed#
1f030ca8a3df943d8016cac39bc3018f5952126aJeremy Reed# The above copyright notice and this permission notice (including the next
698a4dcc8ae5c2a62a254ab2aff7b16d52598cc0Mark Andrews# paragraph) shall be included in all copies or substantial portions of the
698a4dcc8ae5c2a62a254ab2aff7b16d52598cc0Mark Andrews# Software.
698a4dcc8ae5c2a62a254ab2aff7b16d52598cc0Mark Andrews#
88674be66567d3c7db91e717cd5972655e2e2488Mark Andrews# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
88674be66567d3c7db91e717cd5972655e2e2488Mark Andrews# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
88674be66567d3c7db91e717cd5972655e2e2488Mark Andrews# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
d7896edb4e93c4785a9281ea86afba86b758e813Mark Andrews# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
d7896edb4e93c4785a9281ea86afba86b758e813Mark Andrews# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
d7896edb4e93c4785a9281ea86afba86b758e813Mark Andrews# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
d7896edb4e93c4785a9281ea86afba86b758e813Mark Andrews# DEALINGS IN THE SOFTWARE.
d7896edb4e93c4785a9281ea86afba86b758e813Mark Andrews#
d7896edb4e93c4785a9281ea86afba86b758e813Mark Andrews#
d7896edb4e93c4785a9281ea86afba86b758e813Mark Andrews
0db6bf459f7afa1f9dc0690a521df19955c89dbfJeremy Reed# Package name used in tarballs
0db6bf459f7afa1f9dc0690a521df19955c89dbfJeremy ReedMODULE_NAME=xorg-server
0db6bf459f7afa1f9dc0690a521df19955c89dbfJeremy Reed
99a522dad7623549cd5e32a4968e6de8eca46ff1Mark Andrews# Package metadata
99a522dad7623549cd5e32a4968e6de8eca46ff1Mark AndrewsMODULE_DESC = portions of the X.Org X server software
b90d59882c3b0bbe5dafe27c51c274f0b5912f65Mark Andrews
b90d59882c3b0bbe5dafe27c51c274f0b5912f65Mark Andrews# Version number (used in path names) - set in open-src/common/Makefile.init
b90d59882c3b0bbe5dafe27c51c274f0b5912f65Mark AndrewsMODULE_VERSION=$(XORGSERVER_VERS)
b90d59882c3b0bbe5dafe27c51c274f0b5912f65Mark Andrews
b90d59882c3b0bbe5dafe27c51c274f0b5912f65Mark Andrews# Checksums for upstream tarball
cd6555930b6829ebce8bbf2adc7ba05111edf595Mark AndrewsTARBALL_MD5 = 89a9e2cbcf2be3bfe3da96f19100c978
cd6555930b6829ebce8bbf2adc7ba05111edf595Mark AndrewsTARBALL_SHA1 = 3891522665195ac722403e34840ec94b0b5cc5bc
369e148f307a322206a460f9fd470927bcc756d0Tatuya JINMEI 神明達哉TARBALL_SHA256= 8d0f06bf1416487a5170318477088826a8d737d4a201e996b2dc1ecff47461d1
369e148f307a322206a460f9fd470927bcc756d0Tatuya JINMEI 神明達哉
369e148f307a322206a460f9fd470927bcc756d0Tatuya JINMEI 神明達哉# Patches to apply to source after unpacking, in order
2be6798f93e7ba1f4c4082e7b0837c7668a06dcaTatuya JINMEI 神明達哉# *** Moved to patch-list file so they can be shared between Xorg & Xvnc builds
2be6798f93e7ba1f4c4082e7b0837c7668a06dcaTatuya JINMEI 神明達哉SOURCE_PATCHES=$(XORG_SOURCE_PATCHES)
c5ead8c25b6c1f51180ec6899c421fc9d074e6cbTatuya JINMEI 神明達哉
2be6798f93e7ba1f4c4082e7b0837c7668a06dcaTatuya JINMEI 神明達哉# Used in rules shared between Xorg & Xvnc builds in Makefile.inc
b0bf1ad5b0b1d29b4cdf5de9789405aec5e0844cEvan Hunt# to allow for different source layouts
b0bf1ad5b0b1d29b4cdf5de9789405aec5e0844cEvan HuntXORG_SOURCE_DIR=$(SOURCE_DIR)
b0bf1ad5b0b1d29b4cdf5de9789405aec5e0844cEvan HuntXORG_BUILD_DIR=$(BUILD_DIR)
b0bf1ad5b0b1d29b4cdf5de9789405aec5e0844cEvan Hunt
eab4a5c29ddda688d975ad59a55a965b16534432Mark Andrews# ARC cases that covered this module
eab4a5c29ddda688d975ad59a55a965b16534432Mark Andrews# PSARC/2004/187 Xorg Server for Solaris
eab4a5c29ddda688d975ad59a55a965b16534432Mark AndrewsMODULE_ARC_CASES = PSARC/2004/187
21d493fc392d472086ad3c7c4563b7cadcb06788Mark Andrews# PSARC/2004/685 Xorg server upgrade to X11R6.8 release
21d493fc392d472086ad3c7c4563b7cadcb06788Mark AndrewsMODULE_ARC_CASES += PSARC/2004/685
5737b74d34b1eab413f4a5734714bb176c5cc849Mark Andrews# PSARC/2004/829 Xorg 6.8.2 server upgrade for Solaris
5737b74d34b1eab413f4a5734714bb176c5cc849Mark AndrewsMODULE_ARC_CASES += PSARC/2004/829
5737b74d34b1eab413f4a5734714bb176c5cc849Mark Andrews# PSARC/2005/450 Xorg 6.9 for Solaris
5737b74d34b1eab413f4a5734714bb176c5cc849Mark AndrewsMODULE_ARC_CASES += PSARC/2005/450
5737b74d34b1eab413f4a5734714bb176c5cc849Mark Andrews# PSARC/2006/609 Xserver provider for DTrace
19e4588ed76d6832be4de0813b6108a292ef413aMark AndrewsMODULE_ARC_CASES += PSARC/2006/609
19e4588ed76d6832be4de0813b6108a292ef413aMark Andrews# PSARC/2007/051 Xorg server upgrade to 7.2
48a866144e3b14efa6c51af05ef7641b23c7516dJeremy ReedMODULE_ARC_CASES += PSARC/2007/051
48a866144e3b14efa6c51af05ef7641b23c7516dJeremy Reed# PSARC/2007/434 Xorg server 1.3
48a866144e3b14efa6c51af05ef7641b23c7516dJeremy ReedMODULE_ARC_CASES += PSARC/2007/434
143852efc066b3e3cd16eeec679016adbd450474Mark Andrews# PSARC/2007/500 X11 MIT-SHM Extension across zones
143852efc066b3e3cd16eeec679016adbd450474Mark AndrewsMODULE_ARC_CASES += PSARC/2007/500
6098d364b690cb9dabf96e9664c4689c8559bd2eMark Andrews# PSARC/2008/294 Xorg driver selection based on VIS_GETIDENTIFIER
6098d364b690cb9dabf96e9664c4689c8559bd2eMark AndrewsMODULE_ARC_CASES += PSARC/2008/294
931cb604b1552b8c2ce2da7a97a12406140f7f99Mark Andrews# PSARC/2009/021 Xorg server 1.5
11dbf2fc38eea8c5d3fe7123718bf197a8bb2e6bMark AndrewsMODULE_ARC_CASES += PSARC/2009/021
eeaa2277ead6df7253a8958ee2d786f73e05b8beTatuya JINMEI 神明達哉# PSARC/2009/292 Xorg server 1.6
eeaa2277ead6df7253a8958ee2d786f73e05b8beTatuya JINMEI 神明達哉MODULE_ARC_CASES += PSARC/2009/292
eeaa2277ead6df7253a8958ee2d786f73e05b8beTatuya JINMEI 神明達哉# PSARC/2009/679 Xorg server 1.7
eeaa2277ead6df7253a8958ee2d786f73e05b8beTatuya JINMEI 神明達哉MODULE_ARC_CASES += PSARC/2009/679
cfef3799266c3955a3e19df5794b7994d4dd7bdbMark Andrews# PSARC/2010/109 Introduce libXcb in Solaris
cfef3799266c3955a3e19df5794b7994d4dd7bdbMark AndrewsMODULE_ARC_CASES += PSARC/2010/109
cfef3799266c3955a3e19df5794b7994d4dd7bdbMark Andrews# PSARC/2011/008 Xorg server 1.9
cfef3799266c3955a3e19df5794b7994d4dd7bdbMark AndrewsMODULE_ARC_CASES += PSARC/2011/008
ce688d65947a05561509aef48c8c240130d443eaMark Andrews# PSARC/2010/382 Removal of 32-bit X servers
c6c09f77f85860b6e084b0daad066ded08729b3eMark AndrewsMODULE_ARC_CASES += PSARC/2010/382
c6c09f77f85860b6e084b0daad066ded08729b3eMark Andrews# PSARC/2011/214 Xorg server 1.10
467e6fd1672fb35968f522e1ef11a7e2e0cb701eMichael GraffMODULE_ARC_CASES += PSARC/2011/214
467e6fd1672fb35968f522e1ef11a7e2e0cb701eMichael Graff# PSARC/2012/144 Xorg server 1.12
467e6fd1672fb35968f522e1ef11a7e2e0cb701eMichael GraffMODULE_ARC_CASES += PSARC/2012/144
467e6fd1672fb35968f522e1ef11a7e2e0cb701eMichael Graff# PSARC/2012/320 Xorg server 1.13
467e6fd1672fb35968f522e1ef11a7e2e0cb701eMichael GraffMODULE_ARC_CASES += PSARC/2012/320
896f88361ec8a15a20688eb533a65977ee698974Mark Andrews# PSARC/2013/091 Xorg server 1.14
896f88361ec8a15a20688eb533a65977ee698974Mark AndrewsMODULE_ARC_CASES += PSARC/2013/091
5ce9206eb95c2b818a7f863dd26d9b7a2c3d9261Evan Hunt
5ce9206eb95c2b818a7f863dd26d9b7a2c3d9261Evan Hunt# Man pages to apply Sun footer to & attributes to list
5ce9206eb95c2b818a7f863dd26d9b7a2c3d9261Evan HuntSUNTOUCHED_MANPAGES= \
5ce9206eb95c2b818a7f863dd26d9b7a2c3d9261Evan Hunt man/Xserver.man \
5ce9206eb95c2b818a7f863dd26d9b7a2c3d9261Evan Hunt hw/dmx/config/man/xdmxconfig.man \
5ce9206eb95c2b818a7f863dd26d9b7a2c3d9261Evan Hunt hw/dmx/config/man/vdltodmx.man \
5ce9206eb95c2b818a7f863dd26d9b7a2c3d9261Evan Hunt hw/dmx/config/man/dmxtodmx.man \
5ce9206eb95c2b818a7f863dd26d9b7a2c3d9261Evan Hunt hw/dmx/man/Xdmx.man \
5ce9206eb95c2b818a7f863dd26d9b7a2c3d9261Evan Hunt hw/kdrive/ephyr/man/Xephyr.man \
691f1f7731d175c7b2e21fbcc8d16a0c323e209aMark Andrews hw/xfree86/exa/man/exa.man \
8760bb9e0c48dad3765571b6e1ce193548fc5e37Evan Hunt hw/xfree86/fbdevhw/man/fbdevhw.man \
593bb6464621c50ceec0e5550045f4b405558548Evan Hunt hw/xfree86/utils/man/cvt.man \
593bb6464621c50ceec0e5550045f4b405558548Evan Hunt hw/xfree86/utils/man/gtf.man \
593bb6464621c50ceec0e5550045f4b405558548Evan Hunt hw/xfree86/man/Xorg.man \
691f1f7731d175c7b2e21fbcc8d16a0c323e209aMark Andrews hw/xfree86/man/xorg.conf.man \
b247f77228f00e16dd43b4d570ad0fb15e88f3edMark Andrews hw/xfree86/man/xorg.conf.d.man \
aeadcd63196f164b219629a53c0e0925519288f3Evan Hunt hw/vfb/man/Xvfb.man
aeadcd63196f164b219629a53c0e0925519288f3Evan Hunt
691f1f7731d175c7b2e21fbcc8d16a0c323e209aMark AndrewsMODULE_STABILITY=Volatile
691f1f7731d175c7b2e21fbcc8d16a0c323e209aMark Andrews
baeed3c40fc0a2f30ef399899e16ded472f04c06Evan Hunt# Override specific attributes for specific man pages
f5662f41e73c27cc6e7fd29323c8dddf54dff982Mark AndrewsMODULE_SUNTOUCH_MAN_FLAGS= \
f5662f41e73c27cc6e7fd29323c8dddf54dff982Mark Andrews $(SUNTOUCH_MAN_FLAGS_$(@F:%.man.$(FIXED_MAN_SUFFIX)=%))
691f1f7731d175c7b2e21fbcc8d16a0c323e209aMark Andrews# Xephyr, Xvfb, and Xdmx are split out into their own packages
691f1f7731d175c7b2e21fbcc8d16a0c323e209aMark AndrewsSUNTOUCH_MAN_FLAGS_Xephyr = -o '{Availability, $(MODULE_PKGNAME:%xorg=%xephyr)}'
691f1f7731d175c7b2e21fbcc8d16a0c323e209aMark AndrewsSUNTOUCH_MAN_FLAGS_Xvfb = -o '{Availability, $(MODULE_PKGNAME:%xorg=%xvfb)}'
691f1f7731d175c7b2e21fbcc8d16a0c323e209aMark AndrewsSUNTOUCH_MAN_FLAGS_Xdmx = -o '{Availability, $(MODULE_PKGNAME:%xorg=%xdmx)}'
691f1f7731d175c7b2e21fbcc8d16a0c323e209aMark AndrewsSUNTOUCH_MAN_FLAGS_Xserver = -o '{Availability, $(MODULE_PKGNAME:%xorg=%xserver-common)}'
691f1f7731d175c7b2e21fbcc8d16a0c323e209aMark AndrewsSUNTOUCH_MAN_FLAGS_xdmxconfig = $(SUNTOUCH_MAN_FLAGS_Xdmx)
691f1f7731d175c7b2e21fbcc8d16a0c323e209aMark AndrewsSUNTOUCH_MAN_FLAGS_vdltodmx = $(SUNTOUCH_MAN_FLAGS_Xdmx)
36440d1ec6cf1ff0cbb0b5b2fb39423e4e0bd450Evan HuntSUNTOUCH_MAN_FLAGS_dmxtodmx = $(SUNTOUCH_MAN_FLAGS_Xdmx)
470212919fb8a92cd7eb621e981905348eb73ccaMark Andrews
470212919fb8a92cd7eb621e981905348eb73ccaMark Andrews# Binary built in tree
e72c1e7e465822fc9b5067b2dd3cf047f6132214Mark AndrewsXORGSERVER_BIN=$(BUILD_DIR)/hw/xfree86/Xorg
e72c1e7e465822fc9b5067b2dd3cf047f6132214Mark Andrews
e72c1e7e465822fc9b5067b2dd3cf047f6132214Mark AndrewsBUILD_TARGETS=$(XORGSERVER_BIN) build_mdb set-elf-comments \
e72c1e7e465822fc9b5067b2dd3cf047f6132214Mark Andrews $(BUILD_DIR)/mapfile-Xorg-externs
a8f6b2aa46f882c7c680b7bdab1dfb78a76787eaMark AndrewsBUILD_TARGETS_SET=yes
a8f6b2aa46f882c7c680b7bdab1dfb78a76787eaMark Andrews
a8f6b2aa46f882c7c680b7bdab1dfb78a76787eaMark Andrews# Need to convert dtrace docs from xml to text/html ourselves, since
c6a1797aff73b707b4b7a71fdaa303136953d2a3Mark Andrews# Solaris doesn't bundle the xmlto tool used upstream
c6a1797aff73b707b4b7a71fdaa303136953d2a3Mark AndrewsMODULE_DOC_DIR = $(MODULE_PREFIX)/share/doc/Xserver
c6a1797aff73b707b4b7a71fdaa303136953d2a3Mark AndrewsMODULE_DOC_DIR_SET=yes
1e0209137159d4e16e4459cc8e804d657aad1af1Mark AndrewsMODULE_XML_PATH = $(SOURCE_DIR)/doc
1e0209137159d4e16e4459cc8e804d657aad1af1Mark AndrewsDTRACE_DOC_DIR = $(MODULE_XML_PATH)/dtrace
1e0209137159d4e16e4459cc8e804d657aad1af1Mark AndrewsDTRACE_DOCS = $(DTRACE_DOC_DIR)/Xserver-DTrace.html
5e3f390f057801d245680b07dc2b2d64939183d4Mark AndrewsDTRACE_DOCS += $(DTRACE_DOC_DIR)/Xserver-DTrace.txt
5e3f390f057801d245680b07dc2b2d64939183d4Mark AndrewsBUILD_TARGETS += $(DTRACE_DOCS)
5e3f390f057801d245680b07dc2b2d64939183d4Mark Andrews
5e3f390f057801d245680b07dc2b2d64939183d4Mark Andrews# Need to regenerate autoconf/automake files after patching
ebacb7908afe3d62fe341f7ef9efed63d0c651a2Tatuya JINMEI 神明達哉AUTORECONF=yes
ebacb7908afe3d62fe341f7ef9efed63d0c651a2Tatuya JINMEI 神明達哉
ebacb7908afe3d62fe341f7ef9efed63d0c651a2Tatuya JINMEI 神明達哉# Command line options to GNU autoconf configure script
3dfa202e4fea6b985bcf8761e2d11c176baa40d1Mark Andrews# XXX: --disable-dga
3dfa202e4fea6b985bcf8761e2d11c176baa40d1Mark AndrewsMODULE_CONFIG_OPTS = $(XSERVER_CONFIG_OPTS) \
3dfa202e4fea6b985bcf8761e2d11c176baa40d1Mark Andrews --enable-dmx \
3dfa202e4fea6b985bcf8761e2d11c176baa40d1Mark Andrews --enable-builddocs \
3dfa202e4fea6b985bcf8761e2d11c176baa40d1Mark Andrews --enable-kdrive --enable-xephyr --disable-xsdl \
5ce9206eb95c2b818a7f863dd26d9b7a2c3d9261Evan Hunt MKFONTDIR="$(MKFONTDIR)" \
a45f57a2d5fa5a4cb50c4232c09dd7676a256599Evan Hunt MKFONTSCALE="$(MKFONTSCALE)"
a45f57a2d5fa5a4cb50c4232c09dd7676a256599Evan Hunt
a45f57a2d5fa5a4cb50c4232c09dd7676a256599Evan HuntMODULE_LDFLAGS = $(XSERVER_LDFLAGS)
a45f57a2d5fa5a4cb50c4232c09dd7676a256599Evan HuntMODULE_LD_OPTIONS = $(MAPFILES_FOR_ALL)
a45f57a2d5fa5a4cb50c4232c09dd7676a256599Evan Hunt
a45f57a2d5fa5a4cb50c4232c09dd7676a256599Evan Hunt# Pass linker mapfile listing symbols that modules can count on resolving
1bfe8851c0a2eb1d7e15556bfa21291cd62ee2bcMark Andrews# from the Xorg binary itself
1bfe8851c0a2eb1d7e15556bfa21291cd62ee2bcMark AndrewsXORG_EXTERNS_FILE = mapfile-Xorg-externs.$(MACH)
a45f57a2d5fa5a4cb50c4232c09dd7676a256599Evan HuntXORG_EXTERNS_FLAG = -Wl,-M,$(PWD)/$(XORG_EXTERNS_FILE)
13d9b8ce94aee267761cd297a583e280df262d60Tatuya JINMEI 神明達哉MODULE_BUILD_ENV = XORG_EXTERNS_FLAG='$(XORG_EXTERNS_FLAG)'
13d9b8ce94aee267761cd297a583e280df262d60Tatuya JINMEI 神明達哉MODULE_LD_SHARED_OPTIONS += -M $(PWD)/$(XORG_EXTERNS_FILE)
13d9b8ce94aee267761cd297a583e280df262d60Tatuya JINMEI 神明達哉
13d9b8ce94aee267761cd297a583e280df262d60Tatuya JINMEI 神明達哉# Disable direct binding in shared objects, since it breaks libglx.so
691f1f7731d175c7b2e21fbcc8d16a0c323e209aMark AndrewsMODULE_BUILD_ENV += LD_SHARED_UNSET="-B direct"
691f1f7731d175c7b2e21fbcc8d16a0c323e209aMark Andrews
691f1f7731d175c7b2e21fbcc8d16a0c323e209aMark Andrews# Optimization doesn't always remove unused inline functions, leaving many
691f1f7731d175c7b2e21fbcc8d16a0c323e209aMark Andrews# binaries referencing pixman symbols that normally don't need them. The
691f1f7731d175c7b2e21fbcc8d16a0c323e209aMark Andrews# $(ZDISCARD_UNUSED_DEP) in LD_OPTIONS should avoid adding it when
691f1f7731d175c7b2e21fbcc8d16a0c323e209aMark Andrews# not really needed.
a45f57a2d5fa5a4cb50c4232c09dd7676a256599Evan HuntMODULE_CONFIG_OPTS += LIBS="-lpixman-1"
2f420f33bbd5a84eee03b5f9b608e79acf06cb29Mark Andrews
2f420f33bbd5a84eee03b5f9b608e79acf06cb29Mark Andrews# pkg-config files that need to have -R added
2f420f33bbd5a84eee03b5f9b608e79acf06cb29Mark AndrewsFIX_PC_FILES=xorg-server.pc.in
2f420f33bbd5a84eee03b5f9b608e79acf06cb29Mark Andrews# Remove compiler specific visibility flag that breaks builds of drivers
b049b8ce6a70f13f8cc8e33bfb16e1871282f700Tatuya JINMEI 神明達哉# with other compilers
b049b8ce6a70f13f8cc8e33bfb16e1871282f700Tatuya JINMEI 神明達哉MODULE_FIX_PC_FLAGS= -e 's|\@symbol_visibility\@||'
b049b8ce6a70f13f8cc8e33bfb16e1871282f700Tatuya JINMEI 神明達哉
e2fe1fda755f24f593406dc26fed87e8ea1bb502Tatuya JINMEI 神明達哉# Need to use GNU Make to build due to hw/xfree86/loader
e2fe1fda755f24f593406dc26fed87e8ea1bb502Tatuya JINMEI 神明達哉MODULE_MAKE=$(GNUMAKE)
e2fe1fda755f24f593406dc26fed87e8ea1bb502Tatuya JINMEI 神明達哉MODULE_MAKE_SET=yes
e2fe1fda755f24f593406dc26fed87e8ea1bb502Tatuya JINMEI 神明達哉
cf225ed6cd51f9acc901a60520a9368e14224a4dTatuya JINMEI 神明達哉# Additional configure time targets beyond the defaults
cf225ed6cd51f9acc901a60520a9368e14224a4dTatuya JINMEI 神明達哉MODULE_ADD_CONFIGURE_TARGETS=clear_build_date
cf225ed6cd51f9acc901a60520a9368e14224a4dTatuya JINMEI 神明達哉
52d5489b9563ae7a0b89aafbce6829802255b151Tatuya JINMEI 神明達哉# Additional install targets beyond the defaults
52d5489b9563ae7a0b89aafbce6829802255b151Tatuya JINMEI 神明達哉MODULE_ADD_INSTALL_TARGETS=install_extras install_mdb install_pc_common \
52d5489b9563ae7a0b89aafbce6829802255b151Tatuya JINMEI 神明達哉 install_fix_paths install_docs
515ada69db06a727ca1197e2aa1f6a286d278228Tatuya JINMEI 神明達哉
515ada69db06a727ca1197e2aa1f6a286d278228Tatuya JINMEI 神明達哉# Have to avoid dependency loop between install_pc_common and
515ada69db06a727ca1197e2aa1f6a286d278228Tatuya JINMEI 神明達哉# install_pkgconfig_uninstalled
515ada69db06a727ca1197e2aa1f6a286d278228Tatuya JINMEI 神明達哉INSTALL_PCU_DEPS = $(INSTALL_TARGETS:install_pc_common=)
387bca7a55c0581dc36edb4a5071cb5e1d1c34f6Tatuya JINMEI 神明達哉INSTALL_PCU_DEPS_SET=yes
387bca7a55c0581dc36edb4a5071cb5e1d1c34f6Tatuya JINMEI 神明達哉
dc842cdcb946b3f89448f07a9f024497a50c216aMark Andrews# Merge in additional sources from sun-src directory
dc842cdcb946b3f89448f07a9f024497a50c216aMark AndrewsADDITIONAL_SOURCE_DIR=sun-src
cd9bebfc4c225931391c7d9ce1cfd88394b23f20Tatuya JINMEI 神明達哉
cd9bebfc4c225931391c7d9ce1cfd88394b23f20Tatuya JINMEI 神明達哉# Compatibility links from /usr/X11/bin to /usr/bin
cd9bebfc4c225931391c7d9ce1cfd88394b23f20Tatuya JINMEI 神明達哉# Only needed for programs that were in /usr/X11/bin before we moved
cd9bebfc4c225931391c7d9ce1cfd88394b23f20Tatuya JINMEI 神明達哉MODULE_X11_BINCOMPAT_LINKS = Xorg Xephyr Xvfb cvt gtf
04115a59c176759177545c72376e844e10dc557cMark AndrewsMODULE_X11_BINCOMPAT_LINKS_i386 = amd64
04115a59c176759177545c72376e844e10dc557cMark AndrewsMODULE_X11_BINCOMPAT_LINKS += $(MODULE_X11_BINCOMPAT_LINKS_$(MACH))
b1f7d25ee1792838aa5e5d81f4433b474d4565a2Mark Andrews
4db36a15c5716050d40aa8e709e8c8e9475ea25bMark Andrews# Binaries that were linked to isaexec on x86 to choose 32-bit or 64-bit,
4db36a15c5716050d40aa8e709e8c8e9475ea25bMark Andrews# now just symlinks from amd64 to parent directory
a9579d3386009446d7527ef52fa28251ab8c3c2cTatuya JINMEI 神明達哉LINKED_TO_ISAEXEC = Xorg Xephyr Xvfb Xdmx
a9579d3386009446d7527ef52fa28251ab8c3c2cTatuya JINMEI 神明達哉
a9579d3386009446d7527ef52fa28251ab8c3c2cTatuya JINMEI 神明達哉include ../Makefile.inc
a9579d3386009446d7527ef52fa28251ab8c3c2cTatuya JINMEI 神明達哉
146484aced3e6c1b9cc88db5e75b8cbfd166f701Mark Andrews# Don't include build date & time in delivered binaries as it just causes
146484aced3e6c1b9cc88db5e75b8cbfd166f701Mark Andrews# unnecessary binary differences to be pulled into package updates, but
593bb6464621c50ceec0e5550045f4b405558548Evan Hunt# leave it in debug builds for developer convenience
dbe9f900ecbefb34e960b69b41b9ecde36e0a256Tatuya JINMEI 神明達哉$(BUILD_DEBUG:yes=$(POUND_SIGN)) CBD_TARGET = actually_clear_build_date
e43b095921450c34288cadc3406f49c84a0e4d46Evan Hunt
e43b095921450c34288cadc3406f49c84a0e4d46Evan Huntclear_build_date: $(CBD_TARGET)
e43b095921450c34288cadc3406f49c84a0e4d46Evan Hunt
e43b095921450c34288cadc3406f49c84a0e4d46Evan Huntactually_clear_build_date: $(AUTOCONF_TARGET)
7999db4215b9398d4598ac0156ff097cda40402bMark Andrews printf '#undef BUILD_DATE\n#undef BUILD_TIME\n' > \
7999db4215b9398d4598ac0156ff097cda40402bMark Andrews $(BUILD_DIR)/hw/xfree86/common/xf86Build.h
481e9b573b8233f8678c1dd4549c8c949312e81dMark Andrews
481e9b573b8233f8678c1dd4549c8c949312e81dMark Andrews$(XORGSERVER_BIN): default_build
cbb8a1b7cbab933795ddee4f05f4eb5074a68e6cFrancis Dupont
cbb8a1b7cbab933795ddee4f05f4eb5074a68e6cFrancis DupontSDK_INCLUDES_DIR=$(PROTODIR)$(X11_INCLUDES_DIR)/xorg/
bd7e02a3378274436e30beecca33bf7889182776Francis Dupont
bd7e02a3378274436e30beecca33bf7889182776Francis Dupontinstall_extras: default_install
bd7e02a3378274436e30beecca33bf7889182776Francis Dupont -rm -f $(SDK_INCLUDES_DIR)/xorg-server.h
09477e188f874c8c43a90f050733b114385992dcTatuya JINMEI 神明達哉 sed -e 's%#define XF86DRI 1%/* #define XF86DRI 1 */%' \
0cdb53f093f5814b40a68848025dd8d7e9ef2e9bTatuya JINMEI 神明達哉 $(BUILD_DIR)/include/xorg-server.h > $(SDK_INCLUDES_DIR)/xorg-server.h
0cdb53f093f5814b40a68848025dd8d7e9ef2e9bTatuya JINMEI 神明達哉 cp -pf $(SOURCE_DIR)/mi/mioverlay.h \
05b8187cb3cf03fbd75af1afdacc4aefb373e37bTatuya JINMEI 神明達哉 $(SOURCE_DIR)/hw/xfree86/os-support/bus/xf86Sbus.h \
05b8187cb3cf03fbd75af1afdacc4aefb373e37bTatuya JINMEI 神明達哉 $(SOURCE_DIR)/hw/xfree86/dri/*.h $(SDK_INCLUDES_DIR)/
0eeaaaf0ae1ae2856b94886fa80f94c21e6f1bfdMark Andrews mkdir -p $(PROTODIR)$(X11_MAN_DIR)/man1
f5662f41e73c27cc6e7fd29323c8dddf54dff982Mark Andrews cp -pf $(SOURCE_DIR)/hw/xfree86/man/xorgcfg.1 \
f5662f41e73c27cc6e7fd29323c8dddf54dff982Mark Andrews $(SOURCE_DIR)/hw/xfree86/man/xorgconfig.1 \
f5662f41e73c27cc6e7fd29323c8dddf54dff982Mark Andrews $(PROTODIR)$(X11_MAN_DIR)/man1
0eeaaaf0ae1ae2856b94886fa80f94c21e6f1bfdMark Andrews mkdir -p $(PROTODIR)/etc/hal/fdi/preprobe/10osvendor
0eeaaaf0ae1ae2856b94886fa80f94c21e6f1bfdMark Andrews cp -pf $(SOURCE_DIR)/config/x11-input.fdi \
9de0f9b0aed432ee357dbba8d1d807525f4b6d4aMark Andrews $(PROTODIR)/etc/hal/fdi/preprobe/10osvendor/10-x11-input.fdi
9de0f9b0aed432ee357dbba8d1d807525f4b6d4aMark Andrews mkdir -p $(PROTODIR)/etc/X11/xorg.conf.d \
9de0f9b0aed432ee357dbba8d1d807525f4b6d4aMark Andrews $(PROTODIR)/etc/X11/xorg.conf.avail \
ee6c0ce79e83039c9f8692bfb6196e0bb591ff98Mark Andrews $(PROTODIR)/usr/share/X11/xorg.conf.d
ee6c0ce79e83039c9f8692bfb6196e0bb591ff98Mark Andrews cp -pf 90-zap.conf $(PROTODIR)/etc/X11/xorg.conf.avail
ee6c0ce79e83039c9f8692bfb6196e0bb591ff98Mark Andrews
07d0f86c8a1591c0ee785d6728af69cb40f1da61Francis Dupont# Workaround bug in installing pkgconfig file to wrong directory in 64-bit
07d0f86c8a1591c0ee785d6728af69cb40f1da61Francis Dupont# builds, and install xorg-server.pc in 32-bit pkgconfig dir too
07d0f86c8a1591c0ee785d6728af69cb40f1da61Francis Dupontinstall_pc_common: default_install install_pkgconfig_uninstalled
2ca30c1774245f3aa7e8a1f3781cb965152373d8Evan Hunt -rm -f $(PROTODIR)$(PKGCONFIG_DIR)/xorg-server.pc
07d0f86c8a1591c0ee785d6728af69cb40f1da61Francis Dupont mkdir -p $(PROTODIR)$(PKGCONFIG_DIR)
07d0f86c8a1591c0ee785d6728af69cb40f1da61Francis Dupont cp -pf $(BUILD_DIR)/xorg-server.pc \
07d0f86c8a1591c0ee785d6728af69cb40f1da61Francis Dupont $(PROTODIR)$(PKGCONFIG_DIR)/xorg-server.pc
07d0f86c8a1591c0ee785d6728af69cb40f1da61Francis Dupont -rm -f $(PROTODIR)$(PKGCONFIG_DIR_32)/xorg-server.pc \
07d0f86c8a1591c0ee785d6728af69cb40f1da61Francis Dupont $(PROTODIR)$(PKGCONFIG_DIR_32)/xorg-server-uninstalled.pc
7ed4399c6598276b76df95e6dc91ed7b2834abc6Evan Hunt mkdir -p $(PROTODIR)$(PKGCONFIG_DIR_32)
7ed4399c6598276b76df95e6dc91ed7b2834abc6Evan Hunt ln -s ../$(SUBDIR64)$(PKGCONFIG_DIR_suffix)/xorg-server.pc \
3d8b9b9956b64aba0d105f955ac0354fbcf5baa9Tatuya JINMEI 神明達哉 ../$(SUBDIR64)$(PKGCONFIG_DIR_suffix)/xorg-server-uninstalled.pc \
3d8b9b9956b64aba0d105f955ac0354fbcf5baa9Tatuya JINMEI 神明達哉 $(PROTODIR)$(PKGCONFIG_DIR_32)/
7ed4399c6598276b76df95e6dc91ed7b2834abc6Evan Hunt
2f76108082f11d4979048f1c22602391c5733c88Tatuya JINMEI 神明達哉# Generate a list of exported functions & data objects so that we can verify
2f76108082f11d4979048f1c22602391c5733c88Tatuya JINMEI 神明達哉# loadable modules don't reference symbols that have been deleted or renamed.
7ed4399c6598276b76df95e6dc91ed7b2834abc6Evan HuntSYMBOL_AWK_SCRIPT = \
c6678b68efae57ecaec97f489f6d9104f85ed0a8Mark Andrews'BEGIN { print "\043 Functions exported by Xorg server to loadable modules" ; \
efe34b8ddbecf45d1671efbcba30bdb75410c98aMark Andrews print "\n\044mapfile_version 2\n\nSYMBOL_SCOPE {\n\tglobal:" } \
7c60401dbd4dce617dffc685c269fca224c589adTatuya JINMEI 神明達哉 END { print "};" } \
7c60401dbd4dce617dffc685c269fca224c589adTatuya JINMEI 神明達哉 $$7 ~ /UNDEF|\.tdata/ { next } \
7c60401dbd4dce617dffc685c269fca224c589adTatuya JINMEI 神明達哉 $$5 !~ /GLOB/ { next } \
d923262186a3111a6ac7aae5dcd9996e01115a44Mark Andrews $$8 ~ /^(__|_edata|_end|_etext|_start|_environ|_lib_version)/ { next } \
d923262186a3111a6ac7aae5dcd9996e01115a44Mark Andrews $$4 ~ /FUNC/ && $$7 ~ /\.text/ { printf "\t\t%-40s { FLAGS = EXTERN };\n", $$8 } \
d923262186a3111a6ac7aae5dcd9996e01115a44Mark Andrews $$4 ~ /OBJT/ && $$7 ~ /data|bss/ { printf "\t\t%-40s { FLAGS = EXTERN };\n", $$8}'
f92c897cb69fbb8b7400a5df93271b0743fe9adeTatuya JINMEI 神明達哉
f92c897cb69fbb8b7400a5df93271b0743fe9adeTatuya JINMEI 神明達哉$(BUILD_DIR)/mapfile-Xorg-externs: $(XORGSERVER_BIN)
158f256a14b629c4157fe0da779a4ff0e3402e48Tatuya JINMEI 神明達哉 -rm -f $@
77514242b09538db8f3a8f96f7f3d368cff6ebbaTatuya JINMEI 神明達哉 LC_ALL=C /usr/bin/nm -gs $(XORGSERVER_BIN) | \
77514242b09538db8f3a8f96f7f3d368cff6ebbaTatuya JINMEI 神明達哉 gawk -F\| $(SYMBOL_AWK_SCRIPT) > $@
77514242b09538db8f3a8f96f7f3d368cff6ebbaTatuya JINMEI 神明達哉# cmp $(XORG_EXTERNS_FILE) $@
8aae2264818e1511fa30c3ef5c3dc7669e347d3cTatuya JINMEI 神明達哉
8aae2264818e1511fa30c3ef5c3dc7669e347d3cTatuya JINMEI 神明達哉# Fix paths in proto area to match paths in packages / installed systems
8aae2264818e1511fa30c3ef5c3dc7669e347d3cTatuya JINMEI 神明達哉install_fix_paths_X: default_install
0f39ff74a85e16cbfd30354e24403b1ee50e1104Tatuya JINMEI 神明達哉 rm -f $(PROTODIR)$(MODULE_PREFIX)/bin/X \
0f39ff74a85e16cbfd30354e24403b1ee50e1104Tatuya JINMEI 神明達哉 $(PROTODIR)$(MODULE_PREFIX)/bin/$(ARCHBINSUBDIR)/X
05e2cc844530031e4dd4e25b3826bece7a183ee1Tatuya JINMEI 神明達哉 ln -s Xserver $(PROTODIR)$(MODULE_PREFIX)/bin/X
0f39ff74a85e16cbfd30354e24403b1ee50e1104Tatuya JINMEI 神明達哉
7ecbfb6c0f566894fb7050e021cded6822771789Mark Andrewsinstall_fix_paths: install_fix_paths_X
7ecbfb6c0f566894fb7050e021cded6822771789Mark Andrews
7ecbfb6c0f566894fb7050e021cded6822771789Mark AndrewsMESA_MODULE_DIR = /usr/lib/mesa/modules/extensions
8ef7b7f3f68a26cb60f98da398562f8d1c616f96Mark AndrewsEXT_MODULE_DIR = $(X11_SERVERMODS_DIR)/extensions
8ef7b7f3f68a26cb60f98da398562f8d1c616f96Mark Andrews
8ef7b7f3f68a26cb60f98da398562f8d1c616f96Mark Andrewsinstall_fix_paths_glxmodule: default_install
8ef7b7f3f68a26cb60f98da398562f8d1c616f96Mark Andrews @rm -f $(PROTODIR)$(MESA_MODULE_DIR)/libglx.so
538a0a40a2c308a004ea40a9efd31c9aecb0f041Mark Andrews mkdir -p $(PROTODIR)$(MESA_MODULE_DIR)/
538a0a40a2c308a004ea40a9efd31c9aecb0f041Mark Andrews mv -f $(PROTODIR)$(EXT_MODULE_DIR)/libglx.so \
538a0a40a2c308a004ea40a9efd31c9aecb0f041Mark Andrews $(PROTODIR)$(MESA_MODULE_DIR)/libglx.so
538a0a40a2c308a004ea40a9efd31c9aecb0f041Mark Andrews ln -s ../../../../../system/volatile/opengl/server/libglx.so \
538a0a40a2c308a004ea40a9efd31c9aecb0f041Mark Andrews $(PROTODIR)$(EXT_MODULE_DIR)/libglx.so
250dcb4cf5c356bb492c849edff5fe3c81f61f77Tatuya JINMEI 神明達哉
250dcb4cf5c356bb492c849edff5fe3c81f61f77Tatuya JINMEI 神明達哉install_fix_paths: install_fix_paths_glxmodule
250dcb4cf5c356bb492c849edff5fe3c81f61f77Tatuya JINMEI 神明達哉
4875b50dca297a5d2082f503da31eaab896b3a8fTatuya JINMEI 神明達哉# Install metadata for Xephyr, Xvfb, Xdmx, & xtsol packages too
4875b50dca297a5d2082f503da31eaab896b3a8fTatuya JINMEI 神明達哉XCOMMON_PKG_METADATA_DIR = $(MODULE_PKG_METADATA_DIR:%-xorg=%-xserver-common)
4875b50dca297a5d2082f503da31eaab896b3a8fTatuya JINMEI 神明達哉XEPHYR_PKG_METADATA_DIR = $(MODULE_PKG_METADATA_DIR:%-xorg=%-xephyr)
d87ad693fc0e91168da01f887cc6ae318b6b7f3eMark AndrewsXVFB_PKG_METADATA_DIR = $(MODULE_PKG_METADATA_DIR:%-xorg=%-xvfb)
d87ad693fc0e91168da01f887cc6ae318b6b7f3eMark AndrewsXDMX_PKG_METADATA_DIR = $(MODULE_PKG_METADATA_DIR:%-xorg=%-xdmx)
ae6942e3d1fc7327ba5df9d638e0af15a908f8fbMark AndrewsXTSOL_PKG_METADATA_DIR = $(MODULE_PKG_METADATA_DIR:%-server-xorg=%-trusted-trusted-xorg)
58253bddc4c33507ba28654b9c4a36ca1053730cMark Andrews
8aae2264818e1511fa30c3ef5c3dc7669e347d3cTatuya JINMEI 神明達哉EXTRA_METADATA_DIRS = $(XCOMMON_PKG_METADATA_DIR) \
ae6942e3d1fc7327ba5df9d638e0af15a908f8fbMark Andrews $(XEPHYR_PKG_METADATA_DIR) \
ae6942e3d1fc7327ba5df9d638e0af15a908f8fbMark Andrews $(XVFB_PKG_METADATA_DIR) \
080a964a3f0622f2e343f114aa1cc066372c06caEvan Hunt $(XDMX_PKG_METADATA_DIR) \
080a964a3f0622f2e343f114aa1cc066372c06caEvan Hunt $(XTSOL_PKG_METADATA_DIR)
ae6942e3d1fc7327ba5df9d638e0af15a908f8fbMark Andrews
5a17fe2916ce37793c12b243ab08c16095a59cf7Evan HuntEXTRA_ATTRDATA_FILES = $(EXTRA_METADATA_DIRS:%=%/$(ATTRDATA_FILE_NAME))
5a17fe2916ce37793c12b243ab08c16095a59cf7Evan HuntEXTRA_LICENSE_FILES = $(EXTRA_METADATA_DIRS:%=%/$(LICENSE_FILE_NAME))
d230b29aba3ce1d0362194801c34321ed22f5aa5Evan Hunt
ae6942e3d1fc7327ba5df9d638e0af15a908f8fbMark AndrewsEXTRA_METADATA_TARGETS= $(EXTRA_METADATA_DIRS) \
5a17fe2916ce37793c12b243ab08c16095a59cf7Evan Hunt $(EXTRA_ATTRDATA_FILES) \
ae6942e3d1fc7327ba5df9d638e0af15a908f8fbMark Andrews $(EXTRA_LICENSE_FILES)
aed0e61611268afd72a023a7fbba88698bc6bbebEvan Hunt
ae6942e3d1fc7327ba5df9d638e0af15a908f8fbMark Andrewsinstall_metadata: $(EXTRA_METADATA_TARGETS)
ae6942e3d1fc7327ba5df9d638e0af15a908f8fbMark Andrews
c72279e756e6578dc8f09ceac5158d80a8a61ce5Evan Hunt$(EXTRA_ATTRDATA_FILES) $(EXTRA_LICENSE_FILES): $(EXTRA_METADATA_DIRS)
e1aeb1569a0ae08c97dd76acb00376e4246e59b8Mark Andrews
e1aeb1569a0ae08c97dd76acb00376e4246e59b8Mark Andrews$(EXTRA_METADATA_DIRS):
e1aeb1569a0ae08c97dd76acb00376e4246e59b8Mark Andrews mkdir -p $@
ae6942e3d1fc7327ba5df9d638e0af15a908f8fbMark Andrews
ae6942e3d1fc7327ba5df9d638e0af15a908f8fbMark Andrews# Xtsol module is covered only by Oracle copyright/license
0415ca35ada2cac6a86127eaca64f3a997aea121Evan HuntXTSOL_LICENSE = $(XTSOL_PKG_METADATA_DIR)/$(LICENSE_FILE_NAME)
ae6942e3d1fc7327ba5df9d638e0af15a908f8fbMark Andrews$(XTSOL_LICENSE):= LICENSE_NAME = $(ORACLE_LICENSE_NAME)
ae6942e3d1fc7327ba5df9d638e0af15a908f8fbMark Andrews$(XTSOL_LICENSE):= LICENSE_FILE = COPYING.tsol
69ec1b7eb3be37f06b53f572f6c33622e95a7935Evan Hunt$(XTSOL_LICENSE):= LICENSE_INSERT = $(ORACLE_LICENSE_INSERT)
816496b22114ee7c2c15321c2c6cc4be77fdf822Mark Andrews
816496b22114ee7c2c15321c2c6cc4be77fdf822Mark Andrews# Special compatibility links from /usr/X11/include to /usr/include
ae6942e3d1fc7327ba5df9d638e0af15a908f8fbMark AndrewsX11_INCLUDE_COMPAT_DIR = $(PROTODIR)/usr/X11/include
ae6942e3d1fc7327ba5df9d638e0af15a908f8fbMark AndrewsX11_INCLUDE_COMPAT_LINKS = $(X11_INCLUDE_COMPAT_DIR)/drm \
28ad0be64ee756013c0f6a474fc447ee613ee0d1Evan Hunt $(X11_INCLUDE_COMPAT_DIR)/xorg
229442301442890aee044a0df54d3787acd68e65Mark Andrews
229442301442890aee044a0df54d3787acd68e65Mark Andrewsinstall: $(X11_INCLUDE_COMPAT_LINKS)
229442301442890aee044a0df54d3787acd68e65Mark Andrews
8b56b8956fc1e6c70efacb4f71db28d0d1f0c577Mark Andrews$(X11_INCLUDE_COMPAT_DIR):
8b56b8956fc1e6c70efacb4f71db28d0d1f0c577Mark Andrews mkdir -p $@
8b56b8956fc1e6c70efacb4f71db28d0d1f0c577Mark Andrews
ae6942e3d1fc7327ba5df9d638e0af15a908f8fbMark Andrews$(X11_INCLUDE_COMPAT_LINKS): $(X11_INCLUDE_COMPAT_DIR)
ae6942e3d1fc7327ba5df9d638e0af15a908f8fbMark Andrews @rm -f $@
ae6942e3d1fc7327ba5df9d638e0af15a908f8fbMark Andrews ln -s ../../include/$(@F) $@
2284b84d74cdfd62ecb962feb850de981bbc2196Evan Hunt
bf64a0d5d9469c42622401bc5d55cf9888eeef44Tatuya JINMEI 神明達哉## mdb module rules
bf64a0d5d9469c42622401bc5d55cf9888eeef44Tatuya JINMEI 神明達哉# Build & install mdb modules & scripts that aren't integrated to
bf64a0d5d9469c42622401bc5d55cf9888eeef44Tatuya JINMEI 神明達哉# normal build process.
00c93a6214214772d4952cd4327aa34670c763bcMichael GraffMDB_SOURCE_DIR = $(XORG_SOURCE_DIR)/os/solaris/mdb
00c93a6214214772d4952cd4327aa34670c763bcMichael GraffMDB_BUILD_DIR = $(XORG_BUILD_DIR)/os/solaris/mdb
00c93a6214214772d4952cd4327aa34670c763bcMichael GraffMDB_REL_SOURCE_DIR = ../../../../$(MDB_SOURCE_DIR)
375e2c913a21cb852310418785f359a6b21b851dMark AndrewsMDB_MODULE_DIR=/usr/lib/mdb/proc/$(ARCHLIBSUBDIR)
375e2c913a21cb852310418785f359a6b21b851dMark AndrewsMDB_SCRIPT_DIR=/usr/demo/Xserver/mdb
52cb865cf00db3437c33b57de0a17c807f9ba67eMark AndrewsMDB_SCRIPTS=list_Xserver_clients \
52cb865cf00db3437c33b57de0a17c807f9ba67eMark Andrews list_Xserver_devicegrab_client \
0f4a4d46abe13df2c367aa8dffaad685c20eaadaMark Andrews list_Xserver_servergrab_client
0f4a4d46abe13df2c367aa8dffaad685c20eaadaMark AndrewsMDB_MODULE_NAMES=Xephyr Xorg Xvfb Xvnc Xdmx
0f4a4d46abe13df2c367aa8dffaad685c20eaadaMark Andrews
68cd13fff2b45c8a941ed8ac3efa0698798dcc96Mark AndrewsBUILT_MDB_MODULE=$(MDB_BUILD_DIR)/modules/Xserver.so
c4fadc88619959582ac89b841c489be0519ae79dTatuya JINMEI 神明達哉BUILT_MDB_SCRIPTS=$(MDB_SCRIPTS:%=$(MDB_BUILD_DIR)/scripts/%)
c4fadc88619959582ac89b841c489be0519ae79dTatuya JINMEI 神明達哉
8907d8fa04fdaa65baf0bc6b01230b2ebde93106Mark AndrewsINSTALLED_MDB_LINKS=$(MDB_MODULE_NAMES:%=$(PROTODIR)$(MDB_MODULE_DIR)/%.so)
8907d8fa04fdaa65baf0bc6b01230b2ebde93106Mark AndrewsINSTALLED_MDB_MODULE=$(PROTODIR)$(MDB_MODULE_DIR)/Xserver.so
8907d8fa04fdaa65baf0bc6b01230b2ebde93106Mark AndrewsINSTALLED_MDB_SCRIPTS=$(MDB_SCRIPTS:%=$(PROTODIR)$(MDB_SCRIPT_DIR)/%)
68cd13fff2b45c8a941ed8ac3efa0698798dcc96Mark AndrewsINSTALLED_MDB_ALL=$(INSTALLED_MDB_MODULE) $(INSTALLED_MDB_LINKS) \
d904beeb3bf62d60e25f76e1ac9c4b78278c14edMark Andrews $(INSTALLED_MDB_SCRIPTS)
d904beeb3bf62d60e25f76e1ac9c4b78278c14edMark Andrews
db30f4bdcb66afb7eb1ab0c6882cc70be9a53d79Mark Andrews# Since configure options aren't used to build the mdb modules, pass
db30f4bdcb66afb7eb1ab0c6882cc70be9a53d79Mark Andrews# those variables at build time
db30f4bdcb66afb7eb1ab0c6882cc70be9a53d79Mark AndrewsMDB_BUILD_ENV=$(CONFIG_ENV) $(BUILD_ENV)
db30f4bdcb66afb7eb1ab0c6882cc70be9a53d79Mark AndrewsMDB_BUILD_ENV += CFLAGS="$(LIB_CFLAGS)" LDFLAGS="$(LIB_LDFLAGS)"
db30f4bdcb66afb7eb1ab0c6882cc70be9a53d79Mark AndrewsMDB_BUILD_ENV += ARCHLIBSUBDIR="$(ARCHLIBSUBDIR)"
db30f4bdcb66afb7eb1ab0c6882cc70be9a53d79Mark AndrewsMDB_BUILD_ENV += top_builddir="$(PWD)/$(BUILD_DIR)"
db30f4bdcb66afb7eb1ab0c6882cc70be9a53d79Mark AndrewsMDB_BUILD_ENV += top_srcdir="$(PWD)/$(SOURCE_DIR)"
887ef2682c6f66f9dcd6604c4ccf8f87894ef2a9Mark Andrews
887ef2682c6f66f9dcd6604c4ccf8f87894ef2a9Mark Andrewsbuild_mdb: $(BUILT_MDB_MODULE)
420ed91d3ed516bc9d5edf2e942ae792d17d11b4Mark Andrews
420ed91d3ed516bc9d5edf2e942ae792d17d11b4Mark Andrews$(BUILT_MDB_SCRIPTS): $(SOURCE_TARGETS)
07555e64d9102eae058efd58f872b4a3b9ddff61Mark Andrews
07555e64d9102eae058efd58f872b4a3b9ddff61Mark Andrews$(MDB_BUILD_DIR): $(SOURCE_TARGETS) $(BUILD_DIR) $(LNDIR)
a76b380643a22f23a67a9df284e86cd7ef7608c1Mark Andrews mkdir -p $(MDB_BUILD_DIR)
a76b380643a22f23a67a9df284e86cd7ef7608c1Mark Andrews cd $(MDB_BUILD_DIR) && $(LNDIR) $(MDB_REL_SOURCE_DIR)
a76b380643a22f23a67a9df284e86cd7ef7608c1Mark Andrews
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont$(BUILT_MDB_MODULE): $(CONFIGURE_TARGETS) $(MDB_BUILD_DIR)
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont (cd $(MDB_BUILD_DIR) && \
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont $(MDB_BUILD_ENV) $(MAKE) $(MAKEFLAGS) $(DEFAULT_BUILD_MAKEFLAGS))
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont
4a253e12fc611763cd7c1b793e78a00d47894399Francis Dupont$(PROTODIR)$(MDB_MODULE_DIR) $(PROTODIR)$(MDB_SCRIPT_DIR):
4a253e12fc611763cd7c1b793e78a00d47894399Francis Dupont mkdir -p $@
4a253e12fc611763cd7c1b793e78a00d47894399Francis Dupont
cffe96e26744abcf33494837b234219046a631d8Mark Andrews$(INSTALLED_MDB_MODULE): $(PROTODIR)$(MDB_MODULE_DIR) $(BUILT_MDB_MODULE)
cffe96e26744abcf33494837b234219046a631d8Mark Andrews $(INSTALL_SCRIPT) -c -m 0555 $(BUILT_MDB_MODULE) $@
cffe96e26744abcf33494837b234219046a631d8Mark Andrews
f703353673abc17ef76c89561a1fbf3555d38927Mark Andrews$(INSTALLED_MDB_LINKS): $(PROTODIR)$(MDB_MODULE_DIR)
f703353673abc17ef76c89561a1fbf3555d38927Mark Andrews @rm -f $@
f703353673abc17ef76c89561a1fbf3555d38927Mark Andrews ln -s Xserver.so $@
f703353673abc17ef76c89561a1fbf3555d38927Mark Andrews
7e26a2a646877bcd5e03fce6d7347e88f059011eMark Andrews$(INSTALLED_MDB_SCRIPTS): $(BUILT_MDB_SCRIPTS) $(PROTODIR)$(MDB_SCRIPT_DIR)
7e26a2a646877bcd5e03fce6d7347e88f059011eMark Andrews $(INSTALL_SCRIPT) -c -m 0555 $(MDB_SOURCE_DIR)/scripts/$(@F) \
7e26a2a646877bcd5e03fce6d7347e88f059011eMark Andrews $(PROTODIR)$(MDB_SCRIPT_DIR)/
a95a9de45ca739dab17ec1263186dbaaaba50d97Tatuya JINMEI 神明達哉
a95a9de45ca739dab17ec1263186dbaaaba50d97Tatuya JINMEI 神明達哉install_mdb: $(INSTALLED_MDB_ALL)
a95a9de45ca739dab17ec1263186dbaaaba50d97Tatuya JINMEI 神明達哉 $(INSTALL_SCRIPT) -c -m 0444 $(MDB_SOURCE_DIR)/README \
ea8564f68adbacd904e55e47668fe1bbf65ddd1dMark Andrews $(PROTODIR)$(MDB_SCRIPT_DIR)/
ea8564f68adbacd904e55e47668fe1bbf65ddd1dMark Andrews
55f580c7fc4b99316a54ef54ed79c58efca5fff1Mark Andrews## Dtrace docs rules
55f580c7fc4b99316a54ef54ed79c58efca5fff1Mark Andrews$(DTRACE_DOC_DIR)/Xserver-DTrace.xml: $(AUTOCONF_TARGET)
55f580c7fc4b99316a54ef54ed79c58efca5fff1Mark Andrews
d9936b218d9d0fd7c6a1a418e5b91b356190ea12Mark Andrews$(PROTODIR)$(RELNOTES_DIR):
d9936b218d9d0fd7c6a1a418e5b91b356190ea12Mark Andrews mkdir -p $@
4074b8e7342618ff38ffe3773a2699ee1734f1adMark Andrews
4074b8e7342618ff38ffe3773a2699ee1734f1adMark Andrewsinstall_docs: $(DTRACE_DOCS) $(PROTODIR)$(MODULE_DOC_DIR) $(PROTODIR)$(RELNOTES_DIR)
0283e511317cae3785a9d48e236289a234a25368Mark Andrews $(INSTALL_SCRIPT) -c -m 0444 $(DTRACE_DOCS) $(PROTODIR)$(MODULE_DOC_DIR)
664e11f0b14c78cef7cf6b8c70323a1da494e351Mark Andrews $(INSTALL_SCRIPT) -c -m 0444 release-notes/*.txt \
664e11f0b14c78cef7cf6b8c70323a1da494e351Mark Andrews $(PROTODIR)$(RELNOTES_DIR)
0283e511317cae3785a9d48e236289a234a25368Mark Andrews