Makefile revision 314
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen###############################################################################
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen#
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# Fontconfig 2.x Makefile
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen#
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# Use subject to license terms.
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen#
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# Permission is hereby granted, free of charge, to any person obtaining a
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# copy of this software and associated documentation files (the
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# "Software"), to deal in the Software without restriction, including
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# without limitation the rights to use, copy, modify, merge, publish,
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# distribute, and/or sell copies of the Software, and to permit persons
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# to whom the Software is furnished to do so, provided that the above
5481150ea35400709fd11a72e865dbd1da63352amgsloan# copyright notice(s) and this permission notice appear in all copies of
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# the Software and that both the above copyright notice(s) and this
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# permission notice appear in supporting documentation.
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen#
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen#
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# Except as contained in this notice, the name of a copyright holder
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# shall not be used in advertising or otherwise to promote the sale, use
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# or other dealings in this Software without prior written authorization
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# of the copyright holder.
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen#
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# @(#)Makefile 1.70 08/02/14
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen#
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# Package name used in tarballs
981b809bc6ed10a21e89444d9447e5475801874fjohanengelenLIB_MODULE=fontconfig
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# Version number (used in path names)
981b809bc6ed10a21e89444d9447e5475801874fjohanengelenLIB_VERS=2.3.2
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# Source tarball
981b809bc6ed10a21e89444d9447e5475801874fjohanengelenSOURCE_TARBALL_NAME=fontconfig-$(LIB_VERS).tar.gz
981b809bc6ed10a21e89444d9447e5475801874fjohanengelenSOURCE_TARBALL_SET=yes
981b809bc6ed10a21e89444d9447e5475801874fjohanengelenSOURCE_UNCOMPRESS=gzcat
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# Download site for source
981b809bc6ed10a21e89444d9447e5475801874fjohanengelenSOURCE_URL=http://fontconfig.org/release/$(SOURCE_TARBALL_NAME)
981b809bc6ed10a21e89444d9447e5475801874fjohanengelenSOURCE_URL_SET=yes
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# Patches to apply to source after unpacking, in order
981b809bc6ed10a21e89444d9447e5475801874fjohanengelenSOURCE_PATCHES=fontconfig-$(LIB_VERS).patch \
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen fontconfig-$(LIB_VERS).patch.hide
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# Library name (used for specfiles/mapfiles)
981b809bc6ed10a21e89444d9447e5475801874fjohanengelenLIBNAME=fontconfig
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# Special version of freetype config to force certain arguments
981b809bc6ed10a21e89444d9447e5475801874fjohanengelenFONTCONFIG_FT2CFG=$(BUILD_DIR)/freetype-config
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# Install to /usr, not /usr/X11
981b809bc6ed10a21e89444d9447e5475801874fjohanengelenLIB_PREFIX=/usr
981b809bc6ed10a21e89444d9447e5475801874fjohanengelenLIB_PREFIX_SET=yes
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# Path needed to find docbook2man, etc.
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# DOC_PATH= PATH="$(PROTODIR)$(X11_DIR)/bin:$(PROTODIR)$(TOOLS_DIR)/bin:$$PATH"
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# Command line options to GNU autoconf configure script
981b809bc6ed10a21e89444d9447e5475801874fjohanengelenLIB_ADD_CONFIG_OPTS = \
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen --with-confdir=/etc/fonts --with-default-fonts='--font-dirs-go-here--' \
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen --with-freetype-config=../freetype-config
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen
981b809bc6ed10a21e89444d9447e5475801874fjohanengelenLIB_ADD_CONFIG_ENV = $(LIBPATHS)
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# Library built in tree
981b809bc6ed10a21e89444d9447e5475801874fjohanengelenLIB_BUILT=$(SOURCE_DIR)/src/.libs/libfontconfig.so.1.0.4
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# Where to install most files
981b809bc6ed10a21e89444d9447e5475801874fjohanengelenFONTCONFIG_prefix=$(PROTODIR)
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# Where to install libraries
981b809bc6ed10a21e89444d9447e5475801874fjohanengelenFONTCONFIG_libdir=$(FONTCONFIG_prefix)/usr/lib
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# Paths to find libraries
981b809bc6ed10a21e89444d9447e5475801874fjohanengelenLIBPATHS = LD_LIBRARY_PATH=$(PROTODIR)/usr/lib$(LIBSUBDIR) LD_RUN_PATH=/usr/lib$(LIBSUBDIR) $(DOC_PATH)
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen
981b809bc6ed10a21e89444d9447e5475801874fjohanengeleninclude ../Makefile.inc
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# Path to install fc-cache manifest
981b809bc6ed10a21e89444d9447e5475801874fjohanengelenFONTCONFIG_SMF_MANIFEST_dir=$(PROTODIR)/var/svc/manifest/application/font
981b809bc6ed10a21e89444d9447e5475801874fjohanengelenFONTCONFIG_SMF_MANIFEST=$(FONTCONFIG_SMF_MANIFEST_dir)/fc-cache.xml
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen$(FONTCONFIG_FT2CFG): $(PROTODIR)/usr/bin$(LIBSUBDIR)/freetype-config
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen -if [ -f $@ ] ; then rm $@ ; fi
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen sed -e 's|-L$$libdir|-L$(PROTODIR)$${exec_prefix}/lib$(LIBSUBDIR) -L$$libdir|' -e 's|^includedir=$${prefix}|includedir=$(PROTODIR)$${prefix}|' $(PROTODIR)/usr/bin$(LIBSUBDIR)/freetype-config > $@
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen chmod +x $@
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# Run configure script
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen$(SOURCE_DIR)/Makefile: $(FONTCONFIG_FT2CFG)
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# Need to regenerate configure with newer autoconf to work with Studio 12
981b809bc6ed10a21e89444d9447e5475801874fjohanengelensource_gen::
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen (cd $(SOURCE_DIR) && autoreconf -v)
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen$(SOURCE_DIR)/fonts.conf-SUNW: $(SOURCE_DIR)/fonts.conf fonts.conf.append fonts.conf.preuser fix-fonts.conf.pl
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen perl fix-fonts.conf.pl < $(SOURCE_DIR)/fonts.conf > $(SOURCE_DIR)/fonts.conf-SUNW
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen$(LIB_BUILT): $(SOURCE_DIR)/fonts.conf-SUNW
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen
981b809bc6ed10a21e89444d9447e5475801874fjohanengeleninstall_gen:: $(SOURCE_DIR)/fonts.conf-SUNW $(FONTCONFIG_SMF_MANIFEST)
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen rm $(PROTODIR)/etc/fonts/fonts.conf
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen cp $(SOURCE_DIR)/fonts.conf-SUNW $(PROTODIR)/etc/fonts/fonts.conf
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen $(MAKE) $(MFLAGS) fontconfig-sunman-install
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen$(FONTCONFIG_SMF_MANIFEST): fc-cache.xml
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen /usr/sbin/svccfg validate fc-cache.xml
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen mkdir -p $(FONTCONFIG_SMF_MANIFEST_dir)
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen if [ -f $@ ] ; then /bin/rm -f $@ ; fi
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen cp fc-cache.xml $@
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# Quick inline perl script to fix up fc-cache & fc-list man pages
981b809bc6ed10a21e89444d9447e5475801874fjohanengelenFC_MAN_FIX=perl -n -MPOSIX=strftime -e \
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen 'BEGIN { \
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen $$date=strftime("%e %b %Y",localtime((stat($$ARGV[0]))[9])); \
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen print "\047\\\" t\n"; \
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen } \
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen { \
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen s|__vendorversion__|"$$date"| ; \
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen s|__package__|SUNWfontconfig| ; \
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen s|fontconfig\(3\)|libfontconfig\(3lib\)|; \
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen s%^\\\|\.%.IR \\|.%; \
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen print \
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen }'
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen#
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen# 6368378: fc-cache and fc-list man pages are broken
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen#
981b809bc6ed10a21e89444d9447e5475801874fjohanengelenFC_MAN_DIR=$(PROTODIR)/usr/share/man
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen
981b809bc6ed10a21e89444d9447e5475801874fjohanengelenfontconfig-sunman-install:
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen mkdir -p $(FC_MAN_DIR)/man1 $(FC_MAN_DIR)/man4 $(FC_MAN_DIR)/man3lib
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen $(FC_MAN_FIX) $(FC_MAN_DIR)/man5/fonts-conf.5 sunman-notes-fonts.conf $(TOP)/common/sunman-stability | sed -e 's/.TH "FONTS-CONF" "5"/.TH "fonts.conf" "4"/' -e 's/SUNWfontconfig/SUNWfontconfig-root/' > $(FC_MAN_DIR)/man4/fonts.conf.4
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen -if [ -f $(FC_MAN_DIR)/man3lib/libfontconfig.3lib ] ; then \
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen rm -f $(FC_MAN_DIR)/man3lib/libfontconfig.3lib ; \
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen fi
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen perl -p -e 's/^$$/.LP/;' -e 's/\251/\\(co/;' libfontconfig.3lib $(SOURCE_DIR)/COPYING >> $(FC_MAN_DIR)/man3lib/libfontconfig.3lib
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen @case '$(MFLAGS)' in *[ik]*) set +e;; esac; set -x ; \
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen for i in fc-cache fc-list fc-match ; do \
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen if [ -f $(FC_MAN_DIR)/man1/$$i.1 ] ; then \
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen rm -f $(FC_MAN_DIR)/man1/$$i.1 ; \
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen fi ; \
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen if [ -f sunman-notes-$$i ] ; then \
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen APPEND="sunman-notes-$$i $(TOP)/common/sunman-stability" ; \
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen else \
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen APPEND=$(TOP)/common/sunman-stability ; \
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen fi ; \
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen if [ -f $(SOURCE_DIR)/$$i/$$i.1 ] ; then \
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen $(FC_MAN_FIX) $(SOURCE_DIR)/$$i/$$i.1 $$APPEND > \
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen $(FC_MAN_DIR)/man1/$$i.1 ; \
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen else \
5481150ea35400709fd11a72e865dbd1da63352amgsloan $(FC_MAN_FIX) $$i.man $$APPEND > \
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen $(FC_MAN_DIR)/man1/$$i.1 ; \
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen fi ; \
5481150ea35400709fd11a72e865dbd1da63352amgsloan done
5481150ea35400709fd11a72e865dbd1da63352amgsloan
981b809bc6ed10a21e89444d9447e5475801874fjohanengeleninstall_64::
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen -/bin/rm -f $(FONTCONFIG_libdir)/64
5481150ea35400709fd11a72e865dbd1da63352amgsloan ln -s $(FONTCONFIG_libdir)/$(SUBDIR64) $(FONTCONFIG_libdir)/64
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen
5481150ea35400709fd11a72e865dbd1da63352amgsloan