Makefile revision 4136
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington#
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# CDDL HEADER START
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington#
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# The contents of this file are subject to the terms of the
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# Common Development and Distribution License (the "License").
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# You may not use this file except in compliance with the License.
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington#
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# or http://www.opensolaris.org/os/licensing.
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# See the License for the specific language governing permissions
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# and limitations under the License.
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington#
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# When distributing Covered Code, include this CDDL HEADER in each
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
09ab886382ad9e7149d9b72b4cf9a03ae4a1cddfDavid Lawrence# If applicable, add the following below this CDDL HEADER, with the
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# fields enclosed by brackets "[]" replaced with your own identifying
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington# information: Portions Copyright [yyyy] [name of copyright owner]
09ab886382ad9e7149d9b72b4cf9a03ae4a1cddfDavid Lawrence#
09ab886382ad9e7149d9b72b4cf9a03ae4a1cddfDavid Lawrence# CDDL HEADER END
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington#
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
09ab886382ad9e7149d9b72b4cf9a03ae4a1cddfDavid Lawrence#
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtoninclude ../../make-rules/shared-macros.mk
6ec499054450c5e0fd69d78961deef46985ba363Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonCOMPONENT_NAME= gsl
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonCOMPONENT_VERSION= 1.16
6ec499054450c5e0fd69d78961deef46985ba363Brian WellingtonCOMPONENT_PROJECT_URL= http://www.gnu.org/software/gsl/
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonCOMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonCOMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonCOMPONENT_ARCHIVE_HASH= \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington sha256:73bc2f51b90d2a780e6d266d43e487b3dbd78945dd0b04b14ca5980fe28d2f53
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonCOMPONENT_ARCHIVE_URL= http://ftp.gnu.org/gnu/$(COMPONENT_NAME)/$(COMPONENT_ARCHIVE)
09ab886382ad9e7149d9b72b4cf9a03ae4a1cddfDavid LawrenceCOMPONENT_BUGDB= library/libgsl
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian WellingtonTPNO= 21884
09ab886382ad9e7149d9b72b4cf9a03ae4a1cddfDavid Lawrence
09ab886382ad9e7149d9b72b4cf9a03ae4a1cddfDavid Lawrenceinclude $(WS_MAKE_RULES)/prep.mk
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtoninclude $(WS_MAKE_RULES)/configure.mk
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellingtoninclude $(WS_MAKE_RULES)/ips.mk
09ab886382ad9e7149d9b72b4cf9a03ae4a1cddfDavid Lawrence
09ab886382ad9e7149d9b72b4cf9a03ae4a1cddfDavid Lawrence# Recreate configure and various Makefiles to pickup libsunperf changes.
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonCOMPONENT_PREP_ACTION = \
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington (cd $(@D) ; ACLOCAL=aclocal-1.11 AUTOMAKE=automake-1.11 autoreconf -f)
09ab886382ad9e7149d9b72b4cf9a03ae4a1cddfDavid Lawrence
09ab886382ad9e7149d9b72b4cf9a03ae4a1cddfDavid Lawrence# When using Studio 12.1, we need to clear this flag otherwise we get an
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# error at configure time.
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellingtonstudio_NORUNPATH =
09ab886382ad9e7149d9b72b4cf9a03ae4a1cddfDavid Lawrence
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# Get rid of compiler path set in RUNPATH.
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonLDFLAGS += $(studio_NORUNPATH)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonLDFLAGS += $(CC_BITS)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonLDFLAGS += $(studio_PIC)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonLDFLAGS += $(studio_OPT)
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian WellingtonLDFLAGS += $(LD_Z_TEXT)
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian WellingtonLDFLAGS += $(LD_Z_DEFS)
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian WellingtonLDFLAGS += $(LD_DEF_LIBS)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonSTUDIO_LIBS_PATH.32 = /usr/lib/studio
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian WellingtonSTUDIO_LIBS_PATH.64 = /usr/lib/studio/64
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonLDFLAGS += -L$(STUDIO_LIBS_PATH.$(BITS)) -R$(STUDIO_LIBS_PATH.$(BITS)) \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington -lsunperf -lfsu -lmtsk -lpicl -lkstat
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonCONFIGURE_ENV += CFLAGS="$(CFLAGS)"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonCONFIGURE_ENV += LDFLAGS="$(LDFLAGS)"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonCOMPONENT_BUILD_ARGS += CFLAGS="$(CFLAGS)"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonCOMPONENT_BUILD_ARGS += LDFLAGS="$(LDFLAGS)"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonCC += $(CC_BITS)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# Needed to pass -norunpath to the shared library link.
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonCC += $(studio_NORUNPATH)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonCOMPONENT_TEST_ARGS = -k -i
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# Master test results are different not only between 32-bit and 64-bit, but
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# also between x86 and SPARC (different # of tests run).
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonCOMPONENT_TEST_MASTER = \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(COMPONENT_TEST_RESULTS_DIR)/results-$(MACH)-$(BITS).master
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonCOMPONENT_TEST_TRANSFORMS += \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington '-e "s|^.*$(CC).*$$|XXX_CC_XXX|g" ' \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington '-e "s|^.*source=.*libtool=no.*$$|XXX_CC_XXX|g" ' \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington '-e "s|^.*DEPDIR=.deps.*$$|XXX_CC_XXX|g" ' \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington '-e "/^XXX_CC_XXX$$/d" '
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# Needed for "gmake test" to work successfully.
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# If SHELLOPTS is exported (as it is by the userland makefiles),
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# then all shell options get exported to child invocations of bash,
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# which results in test failures due to nounset and xtrace being
622df0afb82c1b711b5f3c272db4c4b83d09bc4aBob Halley# set unexpectedly, and errors such as "$1: unbound variable" and
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington# diffs failing due to script tracing in output files.
622df0afb82c1b711b5f3c272db4c4b83d09bc4aBob Halleyunexport SHELLOPTS
622df0afb82c1b711b5f3c272db4c4b83d09bc4aBob Halley
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonASLR_MODE = $(ASLR_ENABLE)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
622df0afb82c1b711b5f3c272db4c4b83d09bc4aBob Halleyconfigure: $(CONFIGURE_32_and_64)
622df0afb82c1b711b5f3c272db4c4b83d09bc4aBob Halley
622df0afb82c1b711b5f3c272db4c4b83d09bc4aBob Halleybuild: $(BUILD_32_and_64)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtoninstall: $(INSTALL_32_and_64)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtontest: $(TEST_32_and_64)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonREQUIRED_PACKAGES += shell/ksh93
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonREQUIRED_PACKAGES += system/library
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonREQUIRED_PACKAGES += system/library/math
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonREQUIRED_PACKAGES += system/library/openmp
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonREQUIRED_PACKAGES += system/library/sunperf
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington