Makefile revision 3716
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync#
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync# CDDL HEADER START
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync#
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync# The contents of this file are subject to the terms of the
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync# Common Development and Distribution License (the "License").
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync# You may not use this file except in compliance with the License.
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync#
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync# or http://www.opensolaris.org/os/licensing.
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync# See the License for the specific language governing permissions
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync# and limitations under the License.
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync#
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync# When distributing Covered Code, include this CDDL HEADER in each
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync# If applicable, add the following below this CDDL HEADER, with the
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync# fields enclosed by brackets "[]" replaced with your own identifying
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync# information: Portions Copyright [yyyy] [name of copyright owner]
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync#
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync# CDDL HEADER END
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync#
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync#
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync#
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsyncinclude ../../make-rules/shared-macros.mk
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsyncCOMPONENT_NAME= ImageMagick
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsyncCOMPONENT_VERSION= 6.8.3
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsyncCOMPONENT_SUBVERSION= 5
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsyncHUMAN_VERSION= $(COMPONENT_VERSION)-$(COMPONENT_SUBVERSION)
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsyncCOMPONENT_PROJECT_URL= http://www.imagemagick.org/
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsyncCOMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsyncCOMPONENT_ARCHIVE= $(COMPONENT_SRC)-$(COMPONENT_SUBVERSION).tar.gz
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsyncCOMPONENT_ARCHIVE_HASH= \
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync sha256:daead80170bc6d44cf6a54b4817446cbb7211b8ee445532b64033af190265fe3
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsyncCOMPONENT_ARCHIVE_URL= http://image_magick.veidrodis.com/image_magick/$(COMPONENT_ARCHIVE)
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsyncCOMPONENT_BUGDB= utility/imagemagick
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsyncTPNO= 17708
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsyncinclude ../../make-rules/prep.mk
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsyncinclude ../../make-rules/configure.mk
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsyncinclude ../../make-rules/ips.mk
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsyncPATH=$(SPRO_VROOT)/bin:/usr/bin:/usr/gnu/bin
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync# IPS_COMPONENT_VERSION is by default set to $(COMPONENT_VERSION) but in
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync# this case we need to replace the '-' by '.'.
2624f7a939f765d1975a82f3072c272f7fa3548dvboxsync#
d200be7337d4aad2bec2961a885e856f7866d4f6vboxsyncIPS_COMPONENT_VERSION= $(COMPONENT_VERSION).$(COMPONENT_SUBVERSION)
d200be7337d4aad2bec2961a885e856f7866d4f6vboxsync
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsyncCOMPONENT_POST_UNPACK_ACTION= ( $(MV) $(COMPONENT_SRC)-$(COMPONENT_SUBVERSION) \
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync $(COMPONENT_SRC))
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync# To get the Perl modules built it is necessary to copy the PerlMagick directory
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync# to the build directory
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync#
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsyncCOMPONENT_PRE_CONFIGURE_ACTION= ($(CP) -R $(SOURCE_DIR)/PerlMagick $(@D))
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsyncLIBS += -lsocket -lnsl
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsyncCONFIGURE_ENV += LIBS="$(LIBS)"
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync# Show name of "error tag" as part of the warning
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync#
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsyncCFLAGS += -errtags=yes
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync# To remove the complier complaints about __restrict keyword,
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync# -D_magickcore_restrict should be used.
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsyncCFLAGS += -xc99=%all -D_magickcore_restrict=
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync# Needed to generate a decent RUNPATH for Magick.so
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync#
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsyncCOMPONENT_BUILD_ARGS += LD="$(CC)"
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsyncCOMPONENT_BUILD_ARGS += LD_RUN_PATH="$(CONFIGURE_LIBDIR.$(BITS))"
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsyncCONFIGURE_OPTIONS+= CFLAGS="$(CFLAGS)"
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsyncCONFIGURE_OPTIONS+= CXXFLAGS="$(CXXFLAGS)"
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsyncCONFIGURE_OPTIONS+= --with-modules
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsyncCONFIGURE_OPTIONS+= --enable-shared=yes
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsyncCONFIGURE_OPTIONS+= --enable-static=no
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsyncCONFIGURE_OPTIONS+= --without-gvc
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsyncCONFIGURE_OPTIONS+= --disable-openmp
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync# Using option 'with-fontconfig=no' so that the fonts/fonts path specified in
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync# configuration file 'type-ghostscript.xml' is being used.
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsyncCONFIGURE_OPTIONS+= --with-fontconfig=no
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync# Configure option 'with-gs-font-dir' is required because some build systems might
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync# not have ghostscript fonts installed.
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsyncCONFIGURE_OPTIONS+= --with-gs-font-dir="/usr/share/ghostscript/fonts"
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsyncCONFIGURE_OPTIONS+= --x-libraries=$(CONFIGURE_LIBDIR.$(BITS))
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsyncCONFIGURE_OPTIONS.32+= --with-perl=$(PERL)
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsyncCONFIGURE_OPTIONS.32+= --with-perl-options="INSTALLDIRS=vendor"
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsyncCONFIGURE_OPTIONS.64+= --without-perl
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync# common targets
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync#
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsyncconfigure: $(CONFIGURE_32_and_64)
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsyncbuild: $(BUILD_32_and_64)
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync# Remove build machine runpath from libMagick++-6.Q16.so.1.0.0 and
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync# libMagickCore-6.Q16.so.1.0.0
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsyncinstall: $(INSTALL_32_and_64)
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync /usr/bin/elfedit -e 'dyn:delete RUNPATH' \
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync $(PROTO_DIR)/usr/lib/libMagick++-6.Q16.so.1.0.0; \
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync /usr/bin/elfedit -e 'dyn:delete RUNPATH' \
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync $(PROTO_DIR)/usr/lib/$(MACH64)/libMagick++-6.Q16.so.1.0.0; \
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync /usr/bin/elfedit -e 'dyn:delete RPATH' \
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync $(PROTO_DIR)/usr/lib/libMagick++-6.Q16.so.1.0.0; \
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync /usr/bin/elfedit -e 'dyn:delete RPATH' \
2b114c590cf5a19f8047cd7bde9c7e5ae00aa22bvboxsync $(PROTO_DIR)/usr/lib/$(MACH64)/libMagick++-6.Q16.so.1.0.0
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync /usr/bin/elfedit -e 'dyn:delete RUNPATH' \
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync $(PROTO_DIR)/usr/lib/libMagickCore-6.Q16.so.1.0.0; \
2b114c590cf5a19f8047cd7bde9c7e5ae00aa22bvboxsync /usr/bin/elfedit -e 'dyn:delete RUNPATH' \
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync $(PROTO_DIR)/usr/lib/$(MACH64)/libMagickCore-6.Q16.so.1.0.0; \
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync /usr/bin/elfedit -e 'dyn:delete RPATH' \
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync $(PROTO_DIR)/usr/lib/libMagickCore-6.Q16.so.1.0.0; \
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync /usr/bin/elfedit -e 'dyn:delete RPATH' \
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync $(PROTO_DIR)/usr/lib/$(MACH64)/libMagickCore-6.Q16.so.1.0.0
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync# ImageMagick tests have hard-coded absolute paths inside, so essentially they
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync# can be run only after ImageMagick is actually installed and this is not
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync# possible, so the tests are not invoked.
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync#
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsynctest: $(NO_TESTS)
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync @echo "Tests can be run only after ImageMagick is installed."
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsyncBUILD_PKG_DEPENDENCIES= $(BUILD_TOOLS)
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsyncinclude ../../make-rules/depend.mk
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync