Makefile revision 1422
222N/A#
98N/A# Copyright (c) 2006, 2014, Oracle and/or its affiliates. All rights reserved.
306N/A#
98N/A# Permission is hereby granted, free of charge, to any person obtaining a
98N/A# copy of this software and associated documentation files (the "Software"),
98N/A# to deal in the Software without restriction, including without limitation
98N/A# the rights to use, copy, modify, merge, publish, distribute, sublicense,
98N/A# and/or sell copies of the Software, and to permit persons to whom the
98N/A# Software is furnished to do so, subject to the following conditions:
98N/A#
98N/A# The above copyright notice and this permission notice (including the next
98N/A# paragraph) shall be included in all copies or substantial portions of the
98N/A# Software.
98N/A#
98N/A# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
98N/A# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
98N/A# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
98N/A# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
98N/A# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
98N/A# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
98N/A# DEALINGS IN THE SOFTWARE.
98N/A#
98N/A#
98N/A
98N/A# Package name used in tarballs
98N/AMODULE_NAME=libdrm
98N/A
98N/A# Package metadata
98N/AUPSTREAM = Direct Rendering Infrastructure project
98N/AUPSTREAM_URL = http://dri.freedesktop.org/
306N/AUPSTREAM_SET = yes
98N/AORACLE_TPNO = 9900
98N/A
98N/A# Version number (used in path names)
222N/AMODULE_VERSION=2.4.43
222N/A
306N/A# Checksums for upstream tarball
222N/ATARBALL_MD5 = 7de4afd3756726d11f1bf75bd91ba716
306N/ATARBALL_SHA1 = 80e810e0476a0c479a84b74f22aa1bc228484ce6
306N/ATARBALL_SHA256 = 7fb8cd89df06e236a66a1a6a9f6d058271c1b1ec92631e08c66dc9e12abd4975
306N/A
306N/A# Library name (used for specfiles/mapfiles)
306N/ALIBNAME=drm
306N/A
98N/A# Download site for source
98N/ASOURCE_URL=http://dri.freedesktop.org/libdrm/$(SOURCE_TARBALL_NAME)
98N/ASOURCE_URL_SET=yes
98N/AGIT_URL=$(FDO_GIT_URL)/mesa/drm
98N/AGIT_URL_SET=yes
98N/A
98N/A# Patches to apply to source after unpacking, in order
98N/ASOURCE_PATCHES += solaris-drm-port.patch,-p1
98N/ASOURCE_PATCHES += atomic.patch
98N/ASOURCE_PATCHES += man.patch
98N/A
98N/A# Can't build tests with parfait yet, due to parfait-ld error:
98N/A# llvm-ld: error: Cannot link file '../../libkms/libkms.so.1.bc:
98N/A# Linking globals named 'drmSetServerInfo': symbol multiply defined!
98N/A$(WITH_PARFAIT) SOURCE_PATCHES += no-tests.patch,-p1
98N/A$(WITH_PARFAIT) AUTORECONF = yes
98N/A
98N/A# Need to use GNU Make to build
98N/AMODULE_MAKE=$(GNUMAKE)
98N/AMODULE_MAKE_SET=yes
253N/A
98N/A# To build with gcc, uncomment these lines and comment out the MODULE_CFLAGS
98N/AMODULE_COMPILER=gcc
MODULE_COMPILER_SET=yes
# Tell Sun compiler to not apply optimizations that increase binary sizes
# Without this flag, Studio 12 binaries are almost 2x bigger (CR 6808868)
#MODULE_CFLAGS = -xspace
MODULE_BUILD_MAKEFLAGS = libkms_la_LIBADD=../libdrm.so.2
# Command line options to GNU autoconf configure script
MODULE_CONFIG_OPTS = --enable-libkms --disable-nouveau
# Man pages to apply Sun footer to & attributes to list
#SUNTOUCHED_MANPAGES=*.man
MODULE_STABILITY = Volatile
LIB_MAN_SUFFIX = 3
MODULE_MTLEVEL=Unknown
MODULE_MTLEVEL_SET=yes
MODULE_PKGCONFIG_MAN=libdrm
MODULE_PKGCONFIG_MAN_SET=yes
# pkg-config files that need to have -R added
FIX_PC_FILES=libdrm.pc.in intel/libdrm_intel.pc.in libkms/libkms.pc.in radeon/libdrm_radeon.pc
# Where to install files
MODULE_ADD_LIB_SUBDIR = $(X11_SERVERLIBS_SUBDIR)
MODULE_PKGCONFIG_DIR = $(PKGCONFIG_DIR)
MODULE_PKGCONFIG_DIR_SET = yes
include ../Makefile.inc
install: $(PROTODIR)/usr/include/drm
$(PROTODIR)/usr/include/drm:
@rm -f $@
ln -s libdrm $@
# Upstream seems to install in $(X11_SERVERLIBS_SUBDIR)/pkgconfig no matter
# what, so just move them afterwards
PC_FILES_i386 = libdrm_intel.pc libdrm_radeon.pc
PC_FILES = libdrm.pc libkms.pc $(PC_FILES_$(MACH))
MOVED_PC_FILES = $(PC_FILES:%=$(PROTODIR)/$(PKGCONFIG_DIR)/%)
XSERVER_PC_DIR = $(X11_SERVERLIBS_DIR)$(ARCHLIBSUBDIR)/pkgconfig
install-gen: $(MOVED_PC_FILES) install_fixed_manpages
$(PROTODIR)/$(PKGCONFIG_DIR)/%.pc: $(PROTODIR)/$(XSERVER_PC_DIR)/%.pc
-rm -f $@
mv $< $@
$(PC_FILES:%=$(PROTODIR)/$(XSERVER_PC_DIR)/%): default_install
# Need to apply suntouch changes to man pages generated during build
MANDIR = $(PROTODIR)$(X11_MAN_DIR)
install_fixed_manpages: default_install
$(PERL) $(TOP)/open-src/common/suntouch-manpages.pl \
$(SUNTOUCH_MAN_FLAGS) $(BUILD_DIR)/man/*.{3,7}
ginstall -m 0444 $(BUILD_DIR)/man/*.3 $(MANDIR)/man3
ginstall -m 0444 $(BUILD_DIR)/man/*.7 $(MANDIR)/man7