Makefile revision 501
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync#
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync# CDDL HEADER START
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync#
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync# The contents of this file are subject to the terms of the
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync# Common Development and Distribution License (the "License").
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync# You may not use this file except in compliance with the License.
f5fc6d91e150cd61b1758c89b31d915270134385vboxsync#
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync# or http://www.opensolaris.org/os/licensing.
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync# See the License for the specific language governing permissions
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync# and limitations under the License.
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync#
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync# When distributing Covered Code, include this CDDL HEADER in each
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync# If applicable, add the following below this CDDL HEADER, with the
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync# fields enclosed by brackets "[]" replaced with your own identifying
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync# information: Portions Copyright [yyyy] [name of copyright owner]
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync#
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync# CDDL HEADER END
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync#
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync#
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync#
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsyncinclude ../../make-rules/shared-macros.mk
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync# The archive untars to directory without the '-2' suffix, so
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync# COMPONENT_SUBVERSION had to be introduced
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync#
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsyncCOMPONENT_NAME= ImageMagick
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsyncCOMPONENT_VERSION= 6.3.4
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsyncCOMPONENT_SUBVERSION= 2
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsyncCOMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsyncCOMPONENT_ARCHIVE= $(COMPONENT_SRC)-$(COMPONENT_SUBVERSION).tar.gz
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsyncCOMPONENT_ARCHIVE_HASH= sha1:516bb273afb007fb08f15c2747862d819a94d391
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsyncCOMPONENT_ARCHIVE_URL= http://image_magick.veidrodis.com/image_magick/$(COMPONENT_ARCHIVE)
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsyncinclude ../../make-rules/prep.mk
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsyncinclude ../../make-rules/configure.mk
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsyncinclude ../../make-rules/ips.mk
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync# IPS_COMPONENT_VERSION is by default set to $(COMPONENT_VERSION) but in
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync# this case we need to replace the '-' by '.'.
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync#
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsyncIPS_COMPONENT_VERSION= $(COMPONENT_VERSION).$(COMPONENT_SUBVERSION)
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync# The archive contains pre-generated magick-config.h header, which is later on
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync# being used and the build fails. However, we want to use the header generated
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync# by configure from BUILD_DIR_32 / BUILD_DIR_64 directory, so the pre-generated
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync# header file needs to be deleted.
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync#
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsyncCOMPONENT_PREP_ACTION= (cd $(@D) ; $(RM) magick/magick-config.h)
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync# To get the Perl modules built it is necessary to copy the PerlMagick directory
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync# to the build directory
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync#
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsyncCOMPONENT_PRE_CONFIGURE_ACTION= ($(CP) -R $(SOURCE_DIR)/PerlMagick $(@D); cd $(SOURCE_DIR); $(AUTORECONF) -f)
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync# Show name of "error tag" as part of the warning
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync#
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsyncCFLAGS+= -errtags
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync# Needed to generate a decent RUNPATH for Magick.so
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync#
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsyncCOMPONENT_BUILD_ARGS += LD="$(CC)"
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsyncCOMPONENT_BUILD_ARGS += LD_RUN_PATH="$(CONFIGURE_LIBDIR.$(BITS))"
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsyncCONFIGURE_OPTIONS+= CFLAGS="$(CFLAGS)"
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsyncCONFIGURE_OPTIONS+= CXXFLAGS="$(CXXFLAGS)"
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsyncCONFIGURE_OPTIONS+= --with-modules
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsyncCONFIGURE_OPTIONS+= --enable-shared=yes
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsyncCONFIGURE_OPTIONS+= --enable-static=no
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsyncCONFIGURE_OPTIONS+= --without-gvc
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsyncCONFIGURE_OPTIONS.32+= --with-perl=$(PERL)
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsyncCONFIGURE_OPTIONS.32+= --with-perl-options="INSTALLDIRS=vendor"
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsyncCONFIGURE_OPTIONS.64+= --without-perl
32bf313cd8c0de52ef27b486f15945c55c94b038vboxsync
210db75d2af02f67370c4a1be6570484d29eb394vboxsync# common targets
e66c95fa9950a4d9c567db63a4a495bf086cc4bfvboxsync#
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsyncbuild: $(BUILD_32_and_64)
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsyncinstall: $(INSTALL_32_and_64)
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync# ImageMagick tests have hard-coded absolute paths inside, so essentially they
f0bff7899265b70fd1f37183a90d4c264b4cf593vboxsync# can be run only after ImageMagick is actually installed and this is not
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync# possible, so the tests are not invoked.
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync#
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsynctest: $(NO_TESTS)
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync @echo "Tests can be run only after ImageMagick is installed."
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsyncBUILD_PKG_DEPENDENCIES= $(BUILD_TOOLS)
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsyncinclude ../../make-rules/depend.mk
41a839133aad7c96a0d55d927dc3475d0cbe9c22vboxsync