Makefile.inc revision 1061
0N/A# -*- Makefile -*- rules commonly shared among X consolidation open source dirs
0N/A#
1061N/A# Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
0N/A#
0N/A# Permission is hereby granted, free of charge, to any person obtaining a
919N/A# copy of this software and associated documentation files (the "Software"),
919N/A# to deal in the Software without restriction, including without limitation
919N/A# the rights to use, copy, modify, merge, publish, distribute, sublicense,
919N/A# and/or sell copies of the Software, and to permit persons to whom the
919N/A# Software is furnished to do so, subject to the following conditions:
919N/A#
919N/A# The above copyright notice and this permission notice (including the next
919N/A# paragraph) shall be included in all copies or substantial portions of the
919N/A# Software.
919N/A#
919N/A# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
919N/A# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
919N/A# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
919N/A# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
919N/A# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
919N/A# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
919N/A# DEALINGS IN THE SOFTWARE.
0N/A#
0N/A#
0N/A
493N/A### Default rules
156N/A
493N/A# Which compiler to use to build module
493N/AMODTYPE_COMPILER_DEFAULT = $(MODTYPE_COMPILER_SET:yes=$(POUND_SIGN))
493N/A$(MODTYPE_COMPILER_DEFAULT) MODTYPE_COMPILER = $(DEFAULT_COMPILER)
493N/AMODULE_COMPILER_DEFAULT = $(MODULE_COMPILER_SET:yes=$(POUND_SIGN))
493N/A$(MODULE_COMPILER_DEFAULT) MODULE_COMPILER = $(MODTYPE_COMPILER)
0N/A
493N/A# Which make to use to build module
493N/AMODTYPE_MAKE_DEFAULT = $(MODTYPE_MAKE_SET:yes=$(POUND_SIGN))
493N/A$(MODTYPE_MAKE_DEFAULT) MODTYPE_MAKE = $(MAKE)
493N/AMODULE_MAKE_DEFAULT = $(MODULE_MAKE_SET:yes=$(POUND_SIGN))
493N/A$(MODULE_MAKE_DEFAULT) MODULE_MAKE = $(MODTYPE_MAKE)
0N/A
493N/A# Where to install files
493N/AMODTYPE_PREFIX_DEFAULT = $(MODTYPE_PREFIX_SET:yes=$(POUND_SIGN))
851N/A$(MODTYPE_PREFIX_DEFAULT) MODTYPE_PREFIX=$(X11_DIR)
493N/AMODULE_PREFIX_DEFAULT = $(MODULE_PREFIX_SET:yes=$(POUND_SIGN))
493N/A$(MODULE_PREFIX_DEFAULT) MODULE_PREFIX=$(MODTYPE_PREFIX)
0N/A
970N/A# Where to install documentation files
970N/AMODTYPE_DOC_DIR_DEFAULT = $(MODTYPE_DOC_DIR_SET:yes=$(POUND_SIGN))
970N/A$(MODTYPE_DOC_DIR_DEFAULT) MODTYPE_DOC_DIR=$(MODULE_PREFIX)/share/doc/$(MODULE_NAME)
970N/AMODULE_DOC_DIR_DEFAULT = $(MODULE_DOC_DIR_SET:yes=$(POUND_SIGN))
970N/A$(MODULE_DOC_DIR_DEFAULT) MODULE_DOC_DIR=$(MODTYPE_DOC_DIR)
970N/A
851N/A# Where to install pkgconfig files
851N/AMODTYPE_PKGCONFIG_DIR_DEFAULT = $(MODTYPE_PKGCONFIG_DIR_SET:yes=$(POUND_SIGN))
851N/A$(MODTYPE_PKGCONFIG_DIR_DEFAULT) MODTYPE_PKGCONFIG_DIR=$(PKGCONFIG_DIR)
851N/AMODULE_PKGCONFIG_DIR_DEFAULT = $(MODULE_PKGCONFIG_DIR_SET:yes=$(POUND_SIGN))
851N/A$(MODULE_PKGCONFIG_DIR_DEFAULT) MODULE_PKGCONFIG_DIR=$(MODTYPE_PKGCONFIG_DIR)
851N/A
970N/A# Package files will be delivered in
970N/AMODTYPE_PKGHIER_DEFAULT = $(MODTYPE_PKGHIER_SET:yes=$(POUND_SIGN))
970N/A$(MODTYPE_PKGHIER_DEFAULT) MODTYPE_PKGHIER=x11/$(MODTYPE)
970N/AMODULE_PKGTAIL_DEFAULT = $(MODULE_PKGTAIL_SET:yes=$(POUND_SIGN))
970N/A$(MODULE_PKGTAIL_DEFAULT) MODULE_PKGTAIL_CMD=print $(MODULE_NAME) | \
970N/A tr '[:upper:]' '[:lower:]'
970N/A$(MODULE_PKGTAIL_DEFAULT) MODULE_PKGTAIL=$(MODULE_PKGTAIL_CMD:sh)
970N/AMODULE_PKGNAME_DEFAULT = $(MODULE_PKGNAME_SET:yes=$(POUND_SIGN))
970N/A$(MODULE_PKGNAME_DEFAULT) MODULE_PKGNAME=$(MODTYPE_PKGHIER)/$(MODULE_PKGTAIL)
970N/A
970N/A# Package manifest file
970N/APKG_SRC_DIR = $(TOP)/pkg
970N/APKG_MANIFEST_DIR = $(PKG_SRC_DIR)/manifests
970N/APKG_LICENSE_DIR = $(PKG_SRC_DIR)/license_files
970N/AMODULE_PKG_MANIFEST_NAME_CMD = print $(MODULE_PKGNAME) | tr '/' '-'
970N/AMODULE_PKG_MANIFEST_NAME = $(MODULE_PKG_MANIFEST_NAME_CMD:sh)
1105N/AMODULE_PKG_MANIFEST = $(PKG_MANIFEST_DIR)/$(MODULE_PKG_MANIFEST_NAME).mf
970N/A
970N/A# Package classification - must be a valid value recognized by pkg gui
970N/AMODULE_PKGCLASS_DEFAULT = $(MODULE_PKGCLASS_SET:yes=$(POUND_SIGN))
970N/A$(MODULE_PKGCLASS_DEFAULT) MODULE_PKGCLASS=System/X11
970N/A
493N/A# Directory created by unpacking source, if not set in module makefile
493N/ASOURCE_DIRNAME_DEFAULT = $(SOURCE_DIRNAME_SET:yes=$(POUND_SIGN))
493N/A$(SOURCE_DIRNAME_DEFAULT) SOURCE_DIRNAME=$(MODULE_NAME)-$(MODULE_VERSION)
0N/A
935N/ABUILD_DIR_$(BUILD_TYPE) = build-$(BUILD_TYPE)
922N/A# Special cases for 32-bit & 64-bit directory names to allow building
935N/A# both architectures in the same tree (serially - building both in
922N/A# parallel is likely to have race conditions)
922N/ABUILD_DIR_32 = build-$(MACH32)
922N/ABUILD_DIR_64 = build-$(MACH64)
922N/ABUILD_DIR = $(BUILD_DIR_$(BUILD_TYPE))
922N/A
493N/ASOURCE_DIR = $(BUILD_DIR)/$(SOURCE_DIRNAME)
606N/ASOURCE_DIR_32 = $(BUILD_DIR_32)/$(SOURCE_DIRNAME)
606N/ASOURCE_DIR_64 = $(BUILD_DIR_64)/$(SOURCE_DIRNAME)
90N/A
493N/A# Set default tarball if not set in module makefile
493N/ASOURCE_TARBALL_NAME_DEFAULT = $(SOURCE_TARBALL_NAME_SET:yes=$(POUND_SIGN))
493N/A$(SOURCE_TARBALL_NAME_DEFAULT) SOURCE_TARBALL_NAME=$(SOURCE_DIRNAME).tar.bz2
90N/A
493N/A# Tarballs for most modules built here are found in the X.Org archives/repos
493N/A# in a directory with the same name as what we use in our tree
493N/ASOURCE_TARBALL_DIR_DEFAULT = $(SOURCE_TARBALL_DIR_SET:yes=$(POUND_SIGN))
493N/A$(SOURCE_TARBALL_DIR_DEFAULT) SOURCE_TARBALL_DIR=$(MODTYPE)
0N/A
493N/A# Set default download location if not set in module makefile
493N/ASOURCE_URL_DEFAULT = $(SOURCE_URL_SET:yes=$(POUND_SIGN))
1123N/A$(SOURCE_URL_DEFAULT) SOURCE_URL=$(XORG_RELEASES_URL)/$(SOURCE_TARBALL_DIR)/$(SOURCE_TARBALL_NAME)
98N/A
493N/A# Set default git repo location if not set in module makefile
493N/AGIT_URL_DEFAULT = $(GIT_URL_SET:yes=$(POUND_SIGN))
493N/A$(GIT_URL_DEFAULT) GIT_URL=$(XORG_GIT_URL)/$(SOURCE_TARBALL_DIR)/$(MODULE_NAME).git
98N/A
1097N/A# Set default build type to 32-bit if not set in module makefile
156N/ABUILD_TYPES_DEFAULT = $(BUILD_TYPES_SET:yes=$(POUND_SIGN))
1097N/A$(BUILD_TYPES_DEFAULT) BUILD_TYPES=32
156N/A
493N/A# Set default rules if not set in module/modtype Makefile
493N/ASOURCE_TARGETS_DEFAULT = $(SOURCE_TARGETS_SET:yes=$(POUND_SIGN))
935N/A$(SOURCE_TARGETS_DEFAULT) SOURCE_TARGETS=$(UNPACK_TARGET) \
591N/A $(MODTYPE_ADD_SOURCE_TARGETS) \
591N/A $(MODULE_ADD_SOURCE_TARGETS)
493N/A
493N/ACONFIGURE_TARGETS_DEFAULT = $(CONFIGURE_TARGETS_SET:yes=$(POUND_SIGN))
591N/A$(CONFIGURE_TARGETS_DEFAULT) CONFIGURE_TARGETS=default_configure \
591N/A $(MODTYPE_ADD_CONFIGURE_TARGETS) \
591N/A $(MODULE_ADD_CONFIGURE_TARGETS)
493N/A
493N/ABUILD_TARGETS_DEFAULT = $(BUILD_TARGETS_SET:yes=$(POUND_SIGN))
591N/A$(BUILD_TARGETS_DEFAULT) BUILD_TARGETS=default_build \
591N/A $(MODTYPE_ADD_BUILD_TARGETS) \
591N/A $(MODULE_ADD_BUILD_TARGETS)
493N/A
493N/AINSTALL_TARGETS_DEFAULT = $(INSTALL_TARGETS_SET:yes=$(POUND_SIGN))
591N/A$(INSTALL_TARGETS_DEFAULT) INSTALL_TARGETS=default_install \
591N/A $(MODTYPE_ADD_INSTALL_TARGETS) \
591N/A $(MODULE_ADD_INSTALL_TARGETS)
493N/A
493N/A# Additional flags to pass to make in 32-bit & 64-bit builds
922N/ABUILD_32_FLAGS= ARCH_FLAGS="$(ARCH32_FLAGS)" \
810N/A $(MODTYPE_BUILD_32_FLAGS) $(MODULE_BUILD_32_FLAGS)
810N/A
922N/ABUILD_64_FLAGS= ARCH_FLAGS="$(ARCH64_FLAGS)" \
810N/A $(MODTYPE_BUILD_64_FLAGS) $(MODULE_BUILD_64_FLAGS)
493N/A
922N/Aall: $(BUILD_TYPES:%=build_%)
922N/Aall_%: build_%
0N/A
1097N/ACLEAN_RULES = $(BUILD_TYPES:%=clean_%)
1097N/Aclean: $(CLEAN_RULES)
1097N/A.PARALLEL: $(CLEAN_RULES)
1097N/A
1097N/A# Remove directories with both styles of naming
1097N/A$(CLEAN_RULES):
1097N/A -rm -rf $(BUILD_DIR_$(@:clean_%=%)) $(@:clean_%=build_%) $(@:clean_%=build-%)
1097N/A
922N/A# Tell dmake not to remove and create source in parallel
922N/A.NOPARALLEL: clean source
0N/A.NOPARALLEL: clean_$(BUILD_TYPE) source_$(BUILD_TYPE)
922N/A
922N/ASOURCE_RULES = $(BUILD_TYPES:%=source_%)
935N/Asource: $(SOURCE_RULES)
0N/A.PARALLEL: $(SOURCE_RULES)
822N/A
822N/Asource-gen: $(SOURCE_TARGETS)
822N/A
822N/A$(SOURCE_RULES):
922N/A $(MAKE) $(MAKEFLAGS) BUILD_TYPE="$(@:source_%=%)" source-gen
922N/A
922N/ACONFIGURE_RULES = $(BUILD_TYPES:%=configure_%)
493N/Aconfigure: $(CONFIGURE_RULES)
922N/A.PARALLEL: $(CONFIGURE_RULES)
922N/A
922N/Aconfigure-gen: source-gen $(CONFIGURE_TARGETS)
922N/A
493N/A$(CONFIGURE_RULES):
922N/A $(MAKE) $(MAKEFLAGS) BUILD_TYPE="$(@:configure_%=%)" \
922N/A $(BUILD_$(@:configure_%=%)_FLAGS) configure-gen
922N/A
493N/ABUILD_RULES = $(BUILD_TYPES:%=build_%)
922N/Abuild: $(BUILD_RULES)
493N/A.PARALLEL: $(BUILD_RULES)
922N/A
922N/Abuild-gen: configure-gen $(BUILD_TARGETS)
922N/A
493N/A$(BUILD_RULES):
922N/A $(MAKE) $(MAKEFLAGS) BUILD_TYPE="$(@:build_%=%)" \
922N/A $(BUILD_$(@:build_%=%)_FLAGS) build-gen
922N/A
493N/AINSTALL_RULES = $(BUILD_TYPES:%=install_%)
922N/Ainstall: $(INSTALL_RULES)
0N/A
922N/Ainstall-gen: build-gen $(INSTALL_TARGETS) install_metadata
922N/Ainstall-gen: install_pkgconfig_uninstalled install_X11_compat_links
922N/A
493N/A$(INSTALL_RULES):
922N/A $(MAKE) $(MAKEFLAGS) BUILD_TYPE="$(@:install_%=%)" \
922N/A $(BUILD_$(@:install_%=%)_FLAGS) install-gen
355N/A
970N/A$(PROTODIR)$(MODULE_DOC_DIR):
970N/A mkdir -p $@
0N/A
922N/ADEBUG_BUILD_FLAGS = BUILD_DEBUG=yes
922N/A
922N/A# Allow adding "debug-" prefix to rules like build_32, install, etc.
493N/Adebug-%:
963N/A $(MAKE) $(MAKEFLAGS) $(@:debug-%=%) $(DEBUG_BUILD_FLAGS)
963N/A
963N/A# Allow debug_XX to run "make all_XX" with debug flags (including without _XX)
493N/Adebug%:
0N/A $(MAKE) $(MAKEFLAGS) $(@:debug%=all%) $(DEBUG_BUILD_FLAGS)
922N/A
922N/A
922N/A### Source tarballs & downloading if necessary
493N/A
922N/ASOURCE_TARBALL=$(TARBALLDIR)/$(SOURCE_TARBALL_NAME)
922N/A
922N/A# Allow downloading from local archive/mirror
493N/A# TARBALL_ARCHIVE is now set in Makefile.options
493N/AARCHIVE_URL=$(TARBALL_ARCHIVE)/$(SOURCE_TARBALL_DIR)/$(SOURCE_TARBALL_NAME)
493N/A
493N/AGIT_CLONE_DIR=$(MODULE_NAME)-$(MODULE_VERSION)
493N/A
493N/A# Download if SOURCE_TARBALL_NAME is not set to NONE and the file either
911N/A# doesn't exist or is empty
1003N/A# If MODULE_VERSION is git, checkout source from git repo instead of
911N/A# a tarball
911N/Adownload: $(SOURCE_TARBALL)
1088N/A
493N/A$(SOURCE_TARBALL): $(TARBALLDIR)
493N/A @case '$(MAKEFLAGS)' in *[ik]*) set +e;; esac; \
493N/A if [[ "$(MODULE_VERSION)" = "git" ]] ; then \
705N/A if [[ ! -d $(GIT_CLONE_DIR) ]] ; then \
493N/A $(START_CMD_ECHO) ; \
911N/A $(GIT) clone $(GIT_URL) $(GIT_CLONE_DIR) ; \
911N/A if [[ ! -z "$(GIT_BRANCH)" ]] ; then \
911N/A cd $(GIT_CLONE_DIR) && $(GIT) checkout $(GIT_BRANCH) ; \
1061N/A fi ; \
493N/A fi ; \
493N/A else \
1061N/A if [[ "$(SOURCE_TARBALL_NAME)" != "NONE" ]] ; then \
493N/A if [[ ! -z "$(TARBALL_ARCHIVE)" ]] ; then \
493N/A URL='$(ARCHIVE_URL)' ; \
493N/A else \
493N/A URL='$(SOURCE_URL)' ; \
493N/A fi ; \
493N/A $(START_CMD_ECHO) ; \
493N/A $(WGET) -O '$(SOURCE_TARBALL)' "$${URL}" || \
911N/A ( status=$$? ; rm -f '$(SOURCE_TARBALL)' ; \
1061N/A exit $${status} ) ; \
911N/A fi ; \
1061N/A fi
493N/A
1061N/ACHECKSUM_TARGET = .checksum_done.$(MODULE_VERSION)
1061N/Acheck-checksums: $(CHECKSUM_TARGET)
1061N/A
1061N/A$(CHECKSUM_TARGET): $(SOURCE_TARBALL)
493N/A @case '$(MAKEFLAGS)' in *[ik]*) set +e;; esac; \
493N/A if [[ "$(MODULE_VERSION)" != "git" && \
493N/A "$(SOURCE_TARBALL_NAME)" != "NONE" ]] ; then \
935N/A ACTUAL_MD5="$$(digest -a md5 $(SOURCE_TARBALL))" ; \
935N/A if [[ "$${ACTUAL_MD5}" != "${TARBALL_MD5}" ]] ; then \
935N/A print -u2 "ERROR: MD5 sum mismatch on ${SOURCE_TARBALL}\n" \
935N/A "$${ACTUAL_MD5} != ${TARBALL_MD5}" ; \
911N/A exit 1; \
911N/A fi ; \
911N/A ACTUAL_SHA1="$$(digest -a sha1 ${SOURCE_TARBALL})" ; \
911N/A if [[ "$${ACTUAL_SHA1}" != "${TARBALL_SHA1}" ]] ; then \
911N/A print -u2 "ERROR: SHA1 sum mismatch on ${SOURCE_TARBALL}\n" \
911N/A "$${ACTUAL_SHA1} != ${TARBALL_SHA1}" ; \
911N/A exit 1; \
911N/A fi ; \
911N/A fi
911N/A touch $(CHECKSUM_TARGET)
911N/A
911N/Aclean: clean-checksums
911N/A
911N/Aclean-checksums:
911N/A -rm -f .checksum_done.*
1179N/A
1179N/A
1179N/A# Submit a tarball to the archive
1179N/AARCHIVE_SUBMIT=/ws/x11/tarballs/bin/archive-tarballs
1179N/A
1179N/Aarchive-tarball:
1179N/A @case '$(MAKEFLAGS)' in *[ik]*) set +e;; esac; \
1179N/A if [[ "$(MODULE_VERSION)" != "git" && \
1179N/A "$(SOURCE_TARBALL_NAME)" != "NONE" ]] ; then \
911N/A $(ARCHIVE_SUBMIT) \
935N/A --modtype='$(SOURCE_TARBALL_DIR)' \
935N/A --tarball='$(SOURCE_TARBALL_NAME)' \
935N/A --url='$(SOURCE_URL)' \
935N/A --md5='$(TARBALL_MD5)' \
935N/A --sha1='$(TARBALL_SHA1)' ; \
935N/A fi
911N/A
911N/A$(TARBALLDIR):
911N/A mkdir -p $(TARBALLDIR)
911N/A
911N/A# Update a git cloned repo
911N/Agit-update:
911N/A if [[ "$(MODULE_VERSION)" = "git" ]] ; then \
911N/A if [[ -d $(GIT_CLONE_DIR) ]] ; then \
911N/A cd $(GIT_CLONE_DIR) ; \
911N/A if [[ ! -z "$(GIT_BRANCH)" ]] ; then \
911N/A $(GIT) checkout master && \
911N/A $(GIT) fetch && \
911N/A $(GIT) checkout $(GIT_BRANCH) ; \
911N/A else \
911N/A $(GIT) fetch ; \
911N/A fi ; \
911N/A fi ; \
851N/A fi
851N/A
851N/A
493N/A### Unpack source and apply patches
493N/A
493N/ASOURCE_DEPS = $(SOURCE_TARBALL) $(CHECKSUM_TARGET) \
493N/A $(MODTYPE_SOURCE_DEPS) $(MODULE_SOURCE_DEPS)
493N/A
493N/A# Step 1: Initialize source dir with upstream sources
493N/A# - if there's a tarball, unpack it.
493N/A# - if using a git master, copy it.
493N/ASOURCE_INIT_TARGET_FILE=.source.init.done
493N/ASOURCE_INIT_TARGET=$(SOURCE_DIR)/$(SOURCE_INIT_TARGET_FILE)
493N/Ainit_source: $(SOURCE_INIT_TARGET)
493N/A
493N/A$(SOURCE_INIT_TARGET): $(SOURCE_DEPS)
493N/A mkdir -p $(BUILD_DIR)
493N/A @ if [[ "$(SOURCE_TARBALL_NAME)" == "NONE" ]] ; then \
1088N/A $(START_CMD_ECHO); mkdir -p $(SOURCE_DIR) ; \
1088N/A else \
1088N/A if [[ "$(MODULE_VERSION)" = "git" ]] ; then \
1088N/A SOURCE_CMD='gtar --exclude=.git* -cf - $(GIT_CLONE_DIR)' ; \
1088N/A else \
1088N/A UNCOMP_CMD="$(SOURCE_UNCOMPRESS)" ; \
1088N/A SOURCE_CMD="$${UNCOMP_CMD:-bzcat} $(SOURCE_TARBALL)" ; \
1088N/A fi ; \
1088N/A $(START_CMD_ECHO) ; \
1088N/A $${SOURCE_CMD} | \
1088N/A gtar --directory="$(BUILD_DIR)" $(ADD_TAR_FLAGS) -xf - ; \
1088N/A fi
1088N/A touch $(SOURCE_INIT_TARGET)
1088N/A
1088N/A# Step 2: Add in any additional local sources from $(ADDITIONAL_SOURCE_DIR)
1088N/A# (done after init source to avoid races in directory/file creation)
1088N/ASOURCE_ADD_TARGET_FILE=.source.add.done
1088N/ASOURCE_ADD_TARGET=$(SOURCE_DIR)/$(SOURCE_ADD_TARGET_FILE)
1088N/Aadd_source: $(SOURCE_ADD_TARGET)
1088N/A
1088N/A$(SOURCE_ADD_TARGET): $(SOURCE_INIT_TARGET)
1088N/A @if [[ "$(ADDITIONAL_SOURCE_DIR)" != "" ]] ; then \
1124N/A if [[ ! -x $(LNDIR) ]] ; then \
1088N/A (cd $(TOP)/open-src/util/lndir && $(MAKE) $(MAKEFLAGS) install) ; \
1088N/A fi ; \
1088N/A $(START_CMD_ECHO) ; \
1088N/A cd $(SOURCE_DIR) && $(LNDIR) ../../$(ADDITIONAL_SOURCE_DIR) ; \
1088N/A fi
1088N/A touch $(SOURCE_ADD_TARGET)
1088N/A
0N/A# Step 3: Apply any local patches (may be done in parallel to add_source,
0N/A# but must come after init_source is finished)
0N/A#
963N/A# SOURCE_PATCHES is a list in the format: filename[,flags]
963N/A# $${p/*,} is ksh93 syntax to remove the comma and everything before it in $p
963N/A# $${p%,*} is ksh93 syntax to remove the comma and everything after it in $p
935N/APATCHED_TARGET_FILE=.patches.done
935N/APATCHED_TARGET=$(SOURCE_DIR)/$(PATCHED_TARGET_FILE)
935N/Apatched_source: $(PATCHED_TARGET)
935N/A
935N/A$(PATCHED_TARGET): $(SOURCE_INIT_TARGET)
935N/A @ if [[ "$(SOURCE_PATCHES)" != "" ]] ; then \
90N/A for p in $(SOURCE_PATCHES) x ; do \
963N/A if [[ "$$p" != "x" ]] ; then \
0N/A patch_file="$${p%,*}" ; \
935N/A if [[ "$$p" =~ "," ]] ; then \
935N/A patch_flags="$${p/*,}" ; \
935N/A else \
493N/A patch_flags="-p0" ; \
493N/A fi ; \
493N/A ($(START_CMD_ECHO) ; \
493N/A gpatch -d $(SOURCE_DIR) $${patch_flags} < "$${patch_file}" ) ; \
493N/A fi ; \
493N/A done ; \
935N/A fi
935N/A touch $(PATCHED_TARGET)
935N/A
935N/A# Step 4: Apply common Solaris changes to man pages in $(SUNTOUCHED_MANPAGES)
935N/AFIXED_MAN_SUFFIX=mantouch.done
935N/AFIXED_MAN_TARGET=$(SUNTOUCHED_MANPAGES:%=$(SOURCE_DIR)/%.$(FIXED_MAN_SUFFIX))
935N/Afixed_man: $(FIXED_MAN_TARGET)
935N/A
935N/ACOMMON_SUNTOUCH_MAN_FLAGS = \
935N/A -a '{Availability, $(MODULE_PKGNAME)}' \
935N/A -a '{Interface Stability, $(MODULE_STABILITY)}'
935N/A
935N/ADEFAULT_SUNTOUCH_MAN_FLAGS = \
935N/A $(COMMON_SUNTOUCH_MAN_FLAGS) \
493N/A $(MODTYPE_SUNTOUCH_MAN_FLAGS) \
967N/A $(MODULE_SUNTOUCH_MAN_FLAGS)
493N/A
935N/ASUNTOUCH_MAN_FLAGS_DEFAULT = $(SUNTOUCH_MAN_FLAGS_SET:yes=$(POUND_SIGN))
935N/A$(SUNTOUCH_MAN_FLAGS_DEFAULT) SUNTOUCH_MAN_FLAGS = $(DEFAULT_SUNTOUCH_MAN_FLAGS)
935N/A
935N/A$(FIXED_MAN_TARGET): $(PATCHED_TARGET) $(SOURCE_ADD_TARGET)
935N/A $(PERL) $(TOP)/open-src/common/suntouch-manpages.pl $(SUNTOUCH_MAN_FLAGS) \
935N/A $(@:%.$(FIXED_MAN_SUFFIX)=%)
935N/A touch $@
935N/A
935N/A# Step 5: Apply common Solaris changes to pkg-config *.pc files listed in
935N/A# $(FIX_PC_FILES)
935N/ASOURCE_PC_FILES = $(FIX_PC_FILES:%=$(SOURCE_DIR)/%)
935N/AORIG_PC_FILES = $(SOURCE_PC_FILES:%=%.orig)
935N/AFIXED_PC_TARGET = $(ORIG_PC_FILES)
935N/Afixed_pc: $(FIXED_PC_TARGET)
935N/A
935N/AFIX_PC_OPS= \
935N/A -e 's|-L\$${libdir}|-L\$${libdir} -R\$${libdir}|;' \
0N/A -e 's|-R\$${libdir}( .*)? -R\$${libdir}|-R\$${libdir}$$1|g;' \
493N/A -e 's|Requires.private: .*$$||;' \
922N/A $(MODTYPE_FIX_PC_FLAGS) \
922N/A $(MODULE_FIX_PC_FLAGS)
922N/A
922N/A$(ORIG_PC_FILES): $(PATCHED_TARGET)
922N/A $(PERL) -i.orig -p $(FIX_PC_OPS) $(@:.orig=)
922N/A
922N/A# Tie them all together
922N/AUNPACK_TARGETS = $(SOURCE_INIT_TARGET) $(PATCHED_TARGET) \
0N/A $(SOURCE_ADD_TARGET) $(FIXED_MAN_TARGET) $(FIXED_PC_TARGET)
0N/A
935N/Adefault_source: $(UNPACK_TARGET)
935N/A
935N/A$(UNPACK_TARGET): $(SOURCE_DEPS) $(UNPACK_TARGETS)
935N/A touch $(UNPACK_TARGET)
947N/A
947N/A### Run configure scripts
935N/A
935N/A# Include Xorg autoconf macros when rebuilding configure scripts
1124N/A# and use automake 1.10 instead of the older 1.9.
1124N/AACLOCAL_PATH=/usr/bin/aclocal-1.10
1124N/AACLOCAL_INCLUDES = -I $(PROTODIR)$(X11_ACLOCAL_DIR) \
935N/A -I $(TOOLS_ACLOCAL_DIR) \
947N/A -I /usr/share/aclocal -I /usr/share/aclocal-1.10
935N/AAUTOMAKE_PATH=/usr/bin/automake-1.10
935N/AAUTORECONF_ENV= ACLOCAL="$(ACLOCAL_PATH) $(ACLOCAL_INCLUDES)" \
935N/A AUTOMAKE="$(AUTOMAKE_PATH)"
935N/A
947N/A# Dependencies for running configure to make a Makefile
947N/ACONFIGURE_DEPS = $(SOURCE_TARGETS) \
947N/A $(MODTYPE_CONFIGURE_DEPS) $(MODULE_CONFIGURE_DEPS)
947N/A
967N/A# Command line options to GNU autoconf configure script
947N/ADEFAULT_CONFIG_OPTS = --prefix=$(MODULE_PREFIX) \
947N/A --without-xmlto --without-asciidoc --without-fop \
935N/A --mandir='$${prefix}/share/man' --localstatedir=/var
935N/A
935N/ACONFIG_OPTS = $(DEFAULT_CONFIG_OPTS) \
935N/A $(MODTYPE_CONFIG_OPTS) $(MODULE_CONFIG_OPTS)
935N/A
935N/A# Environment variable options to GNU autoconf configure script
935N/A$(USE_DEFAULT_CONFIG_CPPFLAGS:no=$(POUND_SIGN)) DEFAULT_CONFIG_CPPFLAGS= \
935N/A -I$(PROTODIR)$(X11_INCLUDES_DIR) \
935N/A -I$(PROTODIR)/usr/include -I$(PROTODIR)/usr/include/freetype2
935N/A$(USE_DEFAULT_CONFIG_LDFLAGS:no=$(POUND_SIGN)) DEFAULT_CONFIG_LDFLAGS= \
965N/A -L$(PROTODIR)/usr/lib$(ARCHLIBSUBDIR) \
935N/A -L$(PROTODIR)$(X11_DIR)/lib$(ARCHLIBSUBDIR)
935N/A
935N/ADEFAULT_PKG_CONFIG_PATH=$(TOP)/open-src/common/pc-files/$(BUILD_DIR):$(PROTODIR)$(PKGCONFIG_DIR):$(PROTODIR)$(PKGCONFIG_DIR_SHARE):$(PKGCONFIG_DIR):$(PKGCONFIG_DIR_SHARE)
935N/A
935N/A# Set USE_DEFAULT_CONFIG_ENV=no in a Makefile to not use this default
935N/A# autoconfig environment
935N/A$(USE_DEFAULT_CONFIG_ENV:no=$(POUND_SIGN)) DEFAULT_CONFIG_ENV = \
935N/A CC="$(CC)" CXX="$(CXX)" \
935N/A LD="$(CC) $(LDFLAGS)" \
935N/A CFLAGS="$(MODTYPE_CFLAGS) $(MODULE_CFLAGS)" \
935N/A CXXFLAGS="$(MODTYPE_CXXFLAGS) $(MODULE_CXXFLAGS)" \
935N/A CPPFLAGS="$(DEFAULT_CONFIG_CPPFLAGS) $(MODTYPE_CPPFLAGS) $(MODULE_CPPFLAGS)" \
935N/A LDFLAGS="$(DEFAULT_CONFIG_LDFLAGS) $(MODTYPE_CFLAGS) $(MODTYPE_LDFLAGS) $(MODULE_CFLAGS) $(MODULE_LDFLAGS)" \
606N/A PKG_CONFIG_PATH="$(DEFAULT_PKG_CONFIG_PATH)" \
0N/A INSTALL="$(INSTALL_SCRIPT)" CPPROG="cp -p" \
493N/A MAKE="$(MODULE_MAKE)" CONFIG_SHELL="$(SHELL)"
191N/A
191N/ACONFIG_ENV = $(DEFAULT_CONFIG_ENV) $(MODTYPE_CONFIG_ENV) $(MODULE_CONFIG_ENV)
599N/A
935N/A# File created by running configure - defaults to the top-level Makefile
599N/A# in a source directory unless AUTOCONF_TARGET_SET=yes is set
963N/AAUTOCONF_TARGET_DEFAULT = $(AUTOCONF_TARGET_SET:yes=$(POUND_SIGN))
1045N/A$(AUTOCONF_TARGET_DEFAULT) AUTOCONF_TARGET=$(SOURCE_DIR)/Makefile
599N/A
599N/A$(AUTOCONF_TARGET): $(CONFIGURE_DEPS)
599N/A cd $(SOURCE_DIR) ; \
493N/A if [[ "$(AUTORECONF)" = "yes" || "$(MODULE_VERSION)" = "git" ]] ; then \
493N/A $(AUTORECONF_ENV) autoreconf -v --install --force ; \
922N/A fi ; \
493N/A chmod a+x configure ; \
493N/A $(CONFIG_ENV) $(SHELL) ./configure $(CONFIG_OPTS) ; \
493N/A if [[ "$(DELIBTOOLIZE)" = "yes" ]] ; then \
493N/A $(TOP)/open-src/common/delibtoolize.pl $(DELIBTOOLIZE_FLAGS) . ; \
1056N/A fi
810N/A
493N/Adefault_configure: $(AUTOCONF_TARGET)
493N/A
493N/A
493N/A# Additional rule used in xserver/Makefile.inc & driver/Makefile.inc to
493N/A# edit the Makefiles generated by configure to override module subdirs
493N/A# for 64-bit x86 modules to be modules/xxx/amd64, not modules/amd64/xxx
494N/AFIXEDMODS_TARGET = $(AUTOCONF_TARGET).fixedmods
494N/ACONFIGURE_FIXEDMODS_/amd64 = $(FIXEDMODS_TARGET)
493N/ACONFIGURE_FIXEDMODS_TARGET = $(CONFIGURE_FIXEDMODS_$(SERVERMOD_subdir))
493N/A
493N/Afix-moduledirs: $(CONFIGURE_FIXEDMODS_TARGET)
561N/A
967N/AFIXEDMODS_SUBSTS = \
191N/A-e 's{\$$\(moduledir\)/(\w+|\$$\(\w+\))}{$(X11_SERVERMODS_DIR)/$$1$(SERVERMOD_subdir)}g;' \
1111N/A-e 's{$(X11_SERVERMODS_DIR)$(SERVERMOD_subdir)/([^\s/]+)}{$(X11_SERVERMODS_DIR)/$$1$(SERVERMOD_subdir)}g;'
1111N/A
1111N/A$(FIXEDMODS_TARGET): $(AUTOCONF_TARGET)
1111N/A find $(SOURCE_DIR) -name Makefile | \
1111N/A xargs $(PERL) -i.orig -p $(FIXEDMODS_SUBSTS)
1111N/A
493N/A
493N/A### Default rules for common build pattern
493N/A
493N/ALD_OPTIONS = -L$(PROTODIR)$(X11_DIR)/lib$(LIBSUBDIR) \
1176N/A $(MODTYPE_LD_OPTIONS) $(MODULE_LD_OPTIONS)
493N/A
493N/A# MKDIRPROG - Workaround parallel build race condition
493N/A# in older upstream packaged install-sh
493N/A
493N/ABUILD_ENV = LD_OPTIONS='$(LD_OPTIONS)' \
1147N/A PROTODIR='$(PROTODIR)' \
1132N/A MAKE='$(MODULE_MAKE)' \
493N/A MKDIRPROG='mkdir -p' \
1111N/A $(MODTYPE_BUILD_ENV) $(MODULE_BUILD_ENV)
493N/A
493N/ADEFAULT_BUILD_MAKEFLAGS=$(MODTYPE_MAKEFLAGS) $(MODULE_MAKEFLAGS) \
493N/A $(MODTYPE_BUILD_MAKEFLAGS) $(MODULE_BUILD_MAKEFLAGS)
493N/A
493N/A# Dependencies for make build step
493N/ABUILD_DEPS = $(SOURCE_TARGETS) $(CONFIGURE_TARGETS) $(MODTYPE_BUILD_DEPS) $(MODULE_BUILD_DEPS) $(MODULE_MAKE)
493N/A
493N/Adefault_build: $(BUILD_DEPS)
493N/A (cd $(SOURCE_DIR) ; \
493N/A $(BUILD_ENV) $(MODULE_MAKE) $(MAKEFLAGS) $(DEFAULT_BUILD_MAKEFLAGS))
705N/A
599N/Aprint_default_build_flags:
493N/A @print "BUILD_ENV='$(BUILD_ENV)'" ; \
493N/A print "MAKE='$(MODULE_MAKE)'" ; \
1111N/A print "MAKEFLAGS='$(MAKEFLAGS) $(DEFAULT_BUILD_MAKEFLAGS)'"
493N/A
1147N/Abuild-in-subdir:
493N/A (cd $(subdir) ; \
493N/A $(BUILD_ENV) $(MODULE_MAKE) $(MAKEFLAGS) $(DEFAULT_BUILD_MAKEFLAGS) \
910N/A $(subdir_cmd) )
493N/A
493N/ADEFAULT_INSTALL_MAKEFLAGS= -e DESTDIR=$(PROTODIR) \
493N/A pkgconfigdir=$(MODULE_PKGCONFIG_DIR) \
493N/A $(MODTYPE_MAKEFLAGS) $(MODULE_MAKEFLAGS) \
493N/A $(MODTYPE_INSTALL_MAKEFLAGS) $(MODULE_INSTALL_MAKEFLAGS) \
493N/A
810N/A# Dependencies for make install step
810N/AINSTALL_DEPS = $(BUILD_TARGETS) $(MODTYPE_INSTALL_DEPS) $(MODULE_INSTALL_DEPS)
810N/A
536N/Adefault_install: $(INSTALL_DEPS)
606N/A (cd $(SOURCE_DIR) ; \
810N/A $(BUILD_ENV) $(MODULE_MAKE) $(MAKEFLAGS) $(DEFAULT_INSTALL_MAKEFLAGS) \
810N/A install)
1132N/A
493N/Aprint_default_install_flags:
493N/A @print "BUILD_ENV='$(BUILD_ENV)'" ; \
493N/A print "MAKE='$(MODULE_MAKE)'" ; \
493N/A print "MAKE_FLAGS='$(MAKEFLAGS) $(DEFAULT_INSTALL_MAKEFLAGS)'"
493N/A
922N/Ainstall-in-subdir:
922N/A (cd $(subdir) ; \
922N/A $(BUILD_ENV) $(MODULE_MAKE) $(MAKEFLAGS) $(DEFAULT_INSTALL_MAKEFLAGS) \
1124N/A $(subdir_cmd))
1124N/A
493N/A# Adjust paths in pkg-config files for -uninstalled variants used during build
1124N/AUNINSTALLED_PC_OPS= \
1124N/A -e 'BEGIN {use Cwd; $$protodir=Cwd::realpath("$(PROTODIR)");}' \
493N/A -e 's|(-[LI]\s*)\$$|$$1$$protodir\$$|g;' \
493N/A -e 's|^sdkdir=|sdkdir=$$protodir|g;' \
1124N/A -e 's|$$protodir\$${sdkdir}|\$${sdkdir}|g;' \
493N/A $(MODTYPE_ADD_UNINSTALLED_PC_OPS) $(MODULE_ADD_UNINSTALLED_PC_OPS)
1132N/A
1132N/AINSTALL_PCU_DEPS_DEFAULT = $(INSTALL_PCU_DEPS_SET:yes=$(POUND_SIGN))
1132N/A$(INSTALL_PCU_DEPS_DEFAULT) INSTALL_PCU_DEPS = $(INSTALL_TARGETS)
1132N/A
493N/Ainstall_pkgconfig_uninstalled: $(INSTALL_PCU_DEPS)
851N/A @ if [[ ! -z "$(FIX_PC_FILES)" ]] ; then \
493N/A cd $(SOURCE_DIR) ; \
1132N/A for pcin in $(FIX_PC_FILES:.in=) ; do \
493N/A pc="$${pcin%%+(.pc|.in)}" ; \
591N/A pcu="$${pc##*/}-uninstalled.pc" ; \
591N/A ($(START_CMD_ECHO) ; \
591N/A rm -f $(PROTODIR)$(MODULE_PKGCONFIG_DIR)/$${pcu} ; \
1124N/A $(PERL) -p $(UNINSTALLED_PC_OPS) $$pc.pc > \
1132N/A $(PROTODIR)$(MODULE_PKGCONFIG_DIR)/$${pcu} ) ; \
493N/A done ; \
1124N/A fi
1124N/A
493N/A# Add links if needed from /usr/X11/* to new locations in /usr/*
935N/AX11_BINCOMPAT_DIR = $(PROTODIR)/usr/X11/bin
1124N/AX11_BINCOMPAT_LINKS = $(MODULE_X11_BINCOMPAT_LINKS:%=$(X11_BINCOMPAT_DIR)/%)
1124N/AX11_LIBCOMPAT_DIR = $(PROTODIR)/usr/X11/lib$(ARCHLIBSUBDIR)
493N/AX11_LIBCOMPAT_LINKS = $(MODULE_X11_LIBCOMPAT_LINKS:%=$(X11_LIBCOMPAT_DIR)/%)
606N/A
606N/A$(X11_BINCOMPAT_DIR) $(X11_LIBCOMPAT_DIR):
705N/A mkdir -p $@
705N/A
705N/A$(X11_BINCOMPAT_LINKS): $(X11_BINCOMPAT_DIR)
837N/A @rm -f $@
837N/A ln -s ../../bin/$(@F) $@
606N/A
910N/A$(X11_LIBCOMPAT_LINKS): $(X11_LIBCOMPAT_DIR)
910N/A @rm -f $@
910N/A @if [[ -z "$(ARCHLIBSUBDIR)" ]] ; then \
910N/A TARGETDIR=../../lib ; \
606N/A else \
606N/A TARGETDIR=../../../lib$(ARCHLIBSUBDIR) ; \
606N/A fi ; $(START_CMD_ECHO) ; \
967N/A ln -s $${TARGETDIR}/$(@F) $@
967N/A
851N/Ainstall_X11_compat_links: $(X11_BINCOMPAT_LINKS) $(X11_LIBCOMPAT_LINKS)
967N/A
935N/A# Set comments in ELF binaries to help identify versions/builds
967N/AELF_COMMENTS = $(MODULE_NAME) $(MODULE_VERSION)
606N/AELF_COMMENTS += $(MODTYPE_ELF_COMMENTS)$(MODULE_ELF_COMMENTS)
606N/A
606N/A$(BUILD_DEBUG:yes=) DEBUG_ELF_COMMENTS=(DEBUG)
970N/A$(BUILD_DEBUG:yes=$(POUND_SIGN)) DEBUG_ELF_COMMENTS=
970N/AELF_COMMENTS += $(DEBUG_ELF_COMMENTS)
970N/A
970N/AELF_COMMENTS_FLAGS = -B 'hg id' -M '$(ELF_COMMENTS)'
970N/AELF_COMMENTS_FLAGS += $(MODTYPE_ELF_COMMENTS_FLAGS) $(MODULE_ELF_COMMENTS_FLAGS)
970N/A
970N/Aset-elf-comments: $(BUILD_TARGETS:set-elf-comments=)
970N/A $(TOP)/open-src/common/set-elf-comments.pl $(ELF_COMMENTS_FLAGS) \
970N/A $(SOURCE_DIR)
970N/A
970N/A# Help generate templates for package manifests
970N/ADEFAULT_LICENSE=$(PKG_LICENSE_DIR)/cr_Oracle $(PKG_LICENSE_DIR)/lic_X11
970N/A
970N/AMANIFEST_DEST=$(PWD)/tmp-proto-$(MACH)
970N/AMANIFEST_TMP=$(PWD)/tmp.mf
970N/A
970N/APKGFMT=/usr/bin/pkgfmt
970N/A
970N/AMANIFEST_TARGETS_DEFAULT = $(MANIFEST_TARGETS_SET:yes=$(POUND_SIGN))
970N/A$(MANIFEST_TARGETS_DEFAULT) MANIFEST_TARGETS=$(MODULE_PKG_MANIFEST)
970N/A
970N/Amanifest: $(MANIFEST_TARGETS)
970N/A
970N/Amanifest-per-type: $(MODULE_PKG_MANIFEST)
591N/A
1071N/AMANIFEST_INSTALL_RULES = PROTOTOOLSDIR="$(PROTODIR)" \
1071N/A PROTODIR="$(MANIFEST_DEST)"
1071N/A
1071N/A$(MANIFEST_DEST): install
1071N/A /usr/xpg4/bin/make $(MAKEFLAGS) install $(MANIFEST_INSTALL_RULES) \
591N/A || (rm -rf $(MANIFEST_DEST) ; exit 1)
1071N/A
591N/A$(MANIFEST_TMP): $(MANIFEST_DEST) $(PKGFMT)
591N/A $(PERL) $(TOP)/open-src/common/pkg-manifest-generate.pl \
1071N/A input_manifest='$(MODULE_PKG_MANIFEST)' \
1071N/A manifest_license='$(PKG_LICENSE_DIR)/cr_Oracle' \
994N/A manifest_license='$(PKG_LICENSE_DIR)/lic_X11' \
994N/A pkg_name='$(MODULE_PKGNAME)' \
810N/A source_dir='$(SOURCE_DIRNAME)' \
1147N/A arch_64='$(ARCH64)' subdir_64='$(SUBDIR64)' \
1147N/A proto_area='$(MANIFEST_DEST)' \
591N/A pkgfmt='$(PKGFMT)' \
970N/A > $(MANIFEST_TMP)
970N/A -rm -rf $(MANIFEST_DEST)
970N/A
970N/A$(MODULE_PKG_MANIFEST): $(MANIFEST_TMP) $(PKG_MANIFEST_DIR)
1105N/A mv -f $(MANIFEST_TMP) $@
970N/A
970N/A$(PKG_MANIFEST_DIR):
970N/A mkdir -p $(PKG_MANIFEST_DIR)
970N/A
970N/A### Other tools/dependencies needed to build
970N/A
970N/A# Some modules (such as FreeType 2) require GNU make
970N/A$(GNUMAKE):
970N/A @print -n "Building with GNU make from $$(whence gmake): "
970N/A @$(GNUMAKE) --version
970N/A
970N/A$(MAKE):
970N/A @print "Building with make from $$(whence $(MAKE))"
970N/A
970N/A# Some modules use lndir to merge in sources from Sun specific directories
1207N/A$(LNDIR):
970N/A (cd $(TOP)/open-src/util/lndir && $(MAKE) $(MAKEFLAGS) install)
970N/A
1172N/A### Useful rules for maintaining patch sets
970N/A
970N/A# regenerate patches against new baseline to reduce messages about hunks
970N/A# having fuzz or offsets when applying patches - new patches will be in new/
970N/A
970N/Aregen-patches:
970N/A CUR_LIST=""
970N/A rm -rf tmp-regen
1088N/A $(MAKE) SOURCE_PATCHES="$(CUR_LIST)" BUILD_DIR=tmp-regen patched_source
970N/A mkdir -p new
970N/A for f in $(SOURCE_PATCHES) ; do \
970N/A p=$${f%,*} ; \
970N/A print '=================' $$p ; \
970N/A rm -rf prev ; \
970N/A mv tmp-regen prev ; \
970N/A $(MAKE) SOURCE_PATCHES="$${CUR_LIST} $$f" BUILD_DIR=tmp-regen patched_source ; \
970N/A gawk '/^--- / {exit} \
493N/A /^diff -u/ {exit} \
1201N/A {print}' $$p > new/$$p ; \
1201N/A gdiff -urp -x '*~' -x '*.orig' ./prev ./tmp-regen \
1201N/A | sed -e 's% \./prev/$(SOURCE_DIRNAME)/% %' -e 's% \./tmp-regen/$(SOURCE_DIRNAME)/% %' \
1201N/A | grep -v '^Common subdirectories:' \
1201N/A | grep -v '^Only in ' \
1201N/A >> new/$$p ; \
1201N/A CUR_LIST="$${CUR_LIST} new/$$p" ; \
1201N/A done
1201N/A rm -rf tmp-regen
1201N/A
1201N/A# Allows running "make list-patches" to get a list of all patches we
1201N/A# currently apply in our builds
1201N/Alist-patches:
1201N/A @if [[ "$(SOURCE_PATCHES)" != "" ]] ; then \
1201N/A THIS_MODULE="$${PWD##*/open-src/}" ; \
1201N/A for p in $(SOURCE_PATCHES) x ; do \
1201N/A if [[ "$$p" != "x" ]] ; then \
1201N/A print "$${THIS_MODULE}/$${p%,*}" ; \
1201N/A fi ; \
1201N/A done ; \
1201N/A fi
1201N/A
1201N/A### Metadata used in packaging
1201N/A
493N/AMODULE_PKG_METADATA_DIR = $(PROTOMETA)/$(MODULE_PKG_MANIFEST_NAME)
0N/A
0N/A$(MODULE_PKG_METADATA_DIR):
493N/A mkdir -p $@
493N/A
493N/AMETADATA_TARGETS = $(MODULE_PKG_METADATA_DIR)
0N/A
493N/A# Base URL for ARC cases used in opensolaris.arc_url metadata
493N/A# Set to '$(ARC_URL)' here, resolved by pkgmogrify to the URL
0N/A# set in pkg/Makefile during the package building process
90N/AARC_URL_BASE = $$(ARC_URL)
90N/A
967N/A# Metadata about upstream
90N/AUPSTREAM_NONE = NONE
47N/AUPSTREAM_NONE_SET = yes
47N/A
47N/AUPSTREAM_xorg = X.Org Foundation
47N/AUPSTREAM_URL_xorg = http://www.x.org/
47N/A
935N/AUPSTREAM_DEFAULT = $(UPSTREAM_SET:yes=$(POUND_SIGN))
47N/A$(UPSTREAM_DEFAULT) UPSTREAM = $(UPSTREAM_$(SOURCE_TARBALL_NAME))
47N/A$(UPSTREAM_DEFAULT) UPSTREAM_SET_YET = $(UPSTREAM_$(SOURCE_TARBALL_NAME)_SET)
935N/A$(UPSTREAM_DEFAULT) UPSTREAM_NOTFOUND = $(UPSTREAM_SET_YET:yes=$(POUND_SIGN))
47N/A$(UPSTREAM_NOTFOUND) $(SOURCE_URL_DEFAULT) UPSTREAM = $(UPSTREAM_xorg)
47N/A$(UPSTREAM_NOTFOUND) $(SOURCE_URL_DEFAULT) UPSTREAM_URL = $(UPSTREAM_URL_xorg)
922N/A
493N/A## Attributes files
47N/A
47N/AATTRDATA_FILE_NAME = attributes_$(MODULE_NAME).mf
935N/AATTRDATA_FILE = $(MODULE_PKG_METADATA_DIR)/$(ATTRDATA_FILE_NAME)
1124N/A
935N/AMETADATA_TARGETS += $(ATTRDATA_FILE)
1124N/A
90N/A# $${MODVERS//\.+(0)(\d)/.\2} - ksh93 pattern substitution to remove leading
1124N/A# 0's from package version number components, to meet pkg(5) fmri requirements
1124N/A%/$(ATTRDATA_FILE_NAME): %
47N/A -rm -f $@
47N/A @if [[ "$(SOURCE_TARBALL_NAME)" != "NONE" ]] ; then \
90N/A $(START_CMD_ECHO) ; \
1124N/A print 'set name=info.source_url value="$(SOURCE_URL)"' >> $@ ; \
47N/A fi
47N/A @if [[ "$(UPSTREAM)" != "NONE" ]] ; then \
355N/A $(START_CMD_ECHO) ; \
935N/A print 'set name=info.upstream value="$(UPSTREAM)"' >> $@ ; \
606N/A print 'set name=info.upstream_url value="$(UPSTREAM_URL)"' >> $@ ; \
606N/A fi
922N/A @if [[ ! -z "$(MODULE_ARC_CASES)" ]] ; then \
970N/A $(START_CMD_ECHO) ; \
606N/A print 'set name=opensolaris.arc_url' \
606N/A '$(MODULE_ARC_CASES:%=value="$(ARC_URL_BASE)%/")' >> $@ ; \
970N/A fi
606N/A @if [[ ! -z "$(MODULE_PKGCLASS)" ]] ; then \
606N/A $(START_CMD_ECHO) ; \
606N/A print 'set name=info.classification' \
606N/A 'value="org.opensolaris.category.2008:$(MODULE_PKGCLASS)"' \
970N/A >> $@ ; \
970N/A fi
970N/A @ MODVERS="$(MODULE_VERSION)" ; $(START_CMD_ECHO) ; \
970N/A printf '<transform set -> edit value __version:$(MODULE_NAME)__ %s>\n' \
970N/A "$${MODVERS//\.+(0)(\d)/.\2}" >> $@
970N/A $(MODTYPE_ATTRDATA_COMMANDS)
970N/A $(MODULE_ATTRDATA_COMMANDS)
970N/A
970N/A## License files
970N/A
970N/A# Default license file name is COPYING (X.Org & GNU autoconf default)
970N/A# For other license file names, set LICENSE_FILE to the file name
970N/A# and set LICENSE_FILE_SET=yes
970N/A# A file in the same directory as the Makefile takes precedence
970N/A# over one that is delivered in the package.
970N/ALICENSE_FILE_DEFAULT = $(LICENSE_FILE_SET:yes=$(POUND_SIGN))
970N/A$(LICENSE_FILE_DEFAULT) LICENSE_FILE=COPYING
970N/A
970N/A# Default is the MIT/X11 license
970N/AMIT_LICENSE_NAME = MIT License ($(MODULE_NAME))
1123N/AMIT_LICENSE_FILE = $(PKG_SRC_DIR)/license_files/lic_X11
1123N/A
1123N/AMODULE_LICENSE_DEFAULT = $(MODULE_LICENSE_SET:yes=$(POUND_SIGN))
1123N/A$(MODULE_LICENSE_DEFAULT) MODULE_LICENSE = $(MIT_LICENSE_NAME)
1123N/A
1123N/A# Some packages contain only code that Oracle owns all the rights to.
1123N/A# For these, Makefile.options.oracle.com chooses to omit the license
1123N/A# notice when Oracle is building its distros. Everyone else gets the
970N/A# notice required by open source license Oracle released the code under.
970N/ALICENSE_CHOICE_DEFAULT = $(LICENSE_CHOICE_SET:yes=$(POUND_SIGN))
970N/A$(LICENSE_CHOICE_DEFAULT) LICENSE_CHOICE=open
970N/A
970N/AORACLE_LICENSE_NAME_open = $(MIT_LICENSE_NAME)
1123N/AORACLE_LICENSE_APPEND_open = $(MIT_LICENSE_FILE)
1123N/A
970N/AORACLE_LICENSE_NAME_Oracle = Oracle Copyright Notice ($(MODULE_NAME))
970N/AORACLE_LICENSE_APPEND_Oracle = # Nothing to append to copyright notice
970N/A
1105N/AORACLE_LICENSE_NAME = $(ORACLE_LICENSE_NAME_$(LICENSE_CHOICE))
970N/AORACLE_LICENSE_PREPEND = # Nothing to prepend to copyright notice
970N/AORACLE_LICENSE_APPEND = $(ORACLE_LICENSE_APPEND_$(LICENSE_CHOICE))
970N/A
970N/A# Use default license info unless MODULE_LICENSE = "Oracle"
970N/ALICENSE_NAME = $(MODULE_LICENSE)
970N/ALICENSE_PREPEND = $(MODULE_LICENSE_PREPEND)
970N/ALICENSE_APPEND = $(MODULE_LICENSE_APPEND)
970N/A
970N/ALICENSE_OVERRIDE_1 = $(POUND_SIGN)$(MODULE_LICENSE)
970N/ALICENSE_OVERRIDE = $(LICENSE_OVERRIDE_1:$(POUND_SIGN)Oracle%=)
1162N/A$(LICENSE_OVERRIDE) LICENSE_NAME = $(ORACLE_LICENSE_NAME)
970N/A$(LICENSE_OVERRIDE) LICENSE_PREPEND = $(ORACLE_LICENSE_PREPEND)
970N/A$(LICENSE_OVERRIDE) LICENSE_APPEND = $(ORACLE_LICENSE_APPEND)
970N/A
970N/ALICENSE_FILE_NAME = license_$(MODULE_NAME)
1162N/ALICENSE_FILE_DEST = $(MODULE_PKG_METADATA_DIR)/$(LICENSE_FILE_NAME)
970N/ALICENSE_ATTR_FILE = $(MODULE_PKG_METADATA_DIR)/$(LICENSE_FILE_NAME).mf
970N/A
970N/Ainstall_license: $(LICENSE_FILE_DEST)
1162N/AMETADATA_TARGETS += $(LICENSE_FILE_DEST)
1162N/A
970N/A%/$(LICENSE_FILE_NAME): % $(SOURCE_TARGETS)
970N/A @ $(START_CMD_ECHO) ; \
970N/A if [[ -f "$(LICENSE_FILE)" ]] ; then \
970N/A license_to_copy="$(LICENSE_FILE)" ; \
970N/A elif [[ -f "$(SOURCE_DIR)/$(LICENSE_FILE)" ]] ; then \
970N/A license_to_copy="$(SOURCE_DIR)/$(LICENSE_FILE)" ; \
970N/A fi ; \
970N/A if [[ -n "$${license_to_copy}" ]] ; then \
970N/A cat $(LICENSE_PREPEND) "$${license_to_copy}" $(LICENSE_APPEND) > "$@" ; \
970N/A print 'license $(LICENSE_FILE_NAME) license="$(LICENSE_NAME)"' > "$@.mf" ; \
970N/A fi
970N/A
970N/Ainstall_metadata: $(METADATA_TARGETS)
970N/A