Makefile revision 7032
59dfe8e19f0909aa31ff10f1f003344fc620c1c5sascha#
59dfe8e19f0909aa31ff10f1f003344fc620c1c5sascha# CDDL HEADER START
59dfe8e19f0909aa31ff10f1f003344fc620c1c5sascha#
59dfe8e19f0909aa31ff10f1f003344fc620c1c5sascha# The contents of this file are subject to the terms of the
59dfe8e19f0909aa31ff10f1f003344fc620c1c5sascha# Common Development and Distribution License (the "License").
59dfe8e19f0909aa31ff10f1f003344fc620c1c5sascha# You may not use this file except in compliance with the License.
59dfe8e19f0909aa31ff10f1f003344fc620c1c5sascha#
59dfe8e19f0909aa31ff10f1f003344fc620c1c5sascha# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
59dfe8e19f0909aa31ff10f1f003344fc620c1c5sascha# or http://www.opensolaris.org/os/licensing.
59dfe8e19f0909aa31ff10f1f003344fc620c1c5sascha# See the License for the specific language governing permissions
59dfe8e19f0909aa31ff10f1f003344fc620c1c5sascha# and limitations under the License.
59dfe8e19f0909aa31ff10f1f003344fc620c1c5sascha#
59dfe8e19f0909aa31ff10f1f003344fc620c1c5sascha# When distributing Covered Code, include this CDDL HEADER in each
59dfe8e19f0909aa31ff10f1f003344fc620c1c5sascha# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
59dfe8e19f0909aa31ff10f1f003344fc620c1c5sascha# If applicable, add the following below this CDDL HEADER, with the
59dfe8e19f0909aa31ff10f1f003344fc620c1c5sascha# fields enclosed by brackets "[]" replaced with your own identifying
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# information: Portions Copyright [yyyy] [name of copyright owner]
6ca0e6973c8176100f4a426444823ae5e777e28fsascha#
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# CDDL HEADER END
6ca0e6973c8176100f4a426444823ae5e777e28fsascha#
6ca0e6973c8176100f4a426444823ae5e777e28fsascha
6ca0e6973c8176100f4a426444823ae5e777e28fsascha#
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
6ca0e6973c8176100f4a426444823ae5e777e28fsascha#
6ca0e6973c8176100f4a426444823ae5e777e28fsaschainclude ../../make-rules/shared-macros.mk
6ca0e6973c8176100f4a426444823ae5e777e28fsascha
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaCOMPONENT_NAME= yasm
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaCOMPONENT_VERSION= 1.3.0
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaCOMPONENT_PROJECT_URL= http://yasm.tortall.net/
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaCOMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaCOMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaCOMPONENT_ARCHIVE_HASH= \
6ca0e6973c8176100f4a426444823ae5e777e28fsascha sha256:3dce6601b495f5b3d45b59f7d2492a340ee7e84b5beca17e48f862502bd5603f
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaCOMPONENT_ARCHIVE_URL= http://www.tortall.net/projects/$(COMPONENT_NAME)/releases/$(COMPONENT_ARCHIVE)
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaCOMPONENT_BUGDB= utility/yasm
6ca0e6973c8176100f4a426444823ae5e777e28fsascha
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaTPNO= 23620
6ca0e6973c8176100f4a426444823ae5e777e28fsascha
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# We're i386-only
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaifeq ($(MACH), sparc)
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaPUBLISH_STAMP=
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaendif
6ca0e6973c8176100f4a426444823ae5e777e28fsascha
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# Enable ASLR for this component
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojASLR_MODE = $(ASLR_ENABLE)
6ca0e6973c8176100f4a426444823ae5e777e28fsascha
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojPYTHON_VERSIONS= 2.7
6ca0e6973c8176100f4a426444823ae5e777e28fsascha
6ca0e6973c8176100f4a426444823ae5e777e28fsaschainclude $(WS_MAKE_RULES)/prep.mk
6ca0e6973c8176100f4a426444823ae5e777e28fsaschainclude $(WS_MAKE_RULES)/configure.mk
6ca0e6973c8176100f4a426444823ae5e777e28fsaschainclude $(WS_MAKE_RULES)/ips.mk
3a47c2ef905c3b6483279637fb8054ca67c5b6ddsascha
3a47c2ef905c3b6483279637fb8054ca67c5b6ddsascha# Adjust all the source files in all the Makefile.inc files to generate
3a47c2ef905c3b6483279637fb8054ca67c5b6ddsascha# shared libraries rather than a library archive.
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# Note that the version number (in the shared-libraries.patch file) should be
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# bumped anytime upstream makes an incompatible change (that we're aware of).
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaCOMPONENT_PRE_CONFIGURE_ACTION = \
6ca0e6973c8176100f4a426444823ae5e777e28fsascha $(CLONEY) $(SOURCE_DIR) $(@D) ; \
6ca0e6973c8176100f4a426444823ae5e777e28fsascha mlist=`/usr/bin/find $(SOURCE_DIR) -name 'Makefile.inc'` ; \
dadf206a4cf1eccf5c13b64bd9678610dd763868rbb for f in $$mlist ; do \
dadf206a4cf1eccf5c13b64bd9678610dd763868rbb $(GSED) -i -e 's|libyasm_a_SOURCES|libyasm_la_SOURCES|g' \
6ca0e6973c8176100f4a426444823ae5e777e28fsascha -e 's|LDADD = libyasm.a|LDADD = libyasm.la|g' \
6ca0e6973c8176100f4a426444823ae5e777e28fsascha $$f ; \
6ca0e6973c8176100f4a426444823ae5e777e28fsascha done ; \
6ca0e6973c8176100f4a426444823ae5e777e28fsascha (cd $(@D) ; \
6ca0e6973c8176100f4a426444823ae5e777e28fsascha libtoolize --automake --copy ; \
12b0070d002520b81a273ae892b9ea08e810b123rbb aclocal -I m4 ; \
6ca0e6973c8176100f4a426444823ae5e777e28fsascha autoheader ; \
6ca0e6973c8176100f4a426444823ae5e777e28fsascha automake --add-missing --copy ; \
6ca0e6973c8176100f4a426444823ae5e777e28fsascha autoconf)
6ca0e6973c8176100f4a426444823ae5e777e28fsascha
7bfe076b680e6e591add6cdc754ce9a6910682a2saschaCONFIGURE_ENV += CFLAGS="$(CFLAGS)"
7bfe076b680e6e591add6cdc754ce9a6910682a2saschaCONFIGURE_ENV += CXXFLAGS="$(CXXFLAGS)"
f07a80771bc5d30b1e0cfcb7256c1a302da77675rbbCONFIGURE_ENV += LDFLAGS="$(LDFLAGS)"
6ca0e6973c8176100f4a426444823ae5e777e28fsascha
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaCONFIGURE_ENV += am_cv_python_pythondir=$(PYTHON_VENDOR_PACKAGES)
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaCONFIGURE_ENV += am_cv_python_pyexecdir=$(PYTHON_VENDOR_PACKAGES)
6ca0e6973c8176100f4a426444823ae5e777e28fsascha
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaCONFIGURE_OPTIONS += --enable-python
6a1c919219ae7e3382fb22f1c4cf89f11b4becffcoarCONFIGURE_OPTIONS += --disable-python-bindings
6ca0e6973c8176100f4a426444823ae5e777e28fsascha
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# Needed for "gmake test" to work successfully.
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# If SHELLOPTS is exported (as it is by the userland makefiles),
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# then all shell options get exported to child invocations of bash,
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# which results in test failures due to nounset and xtrace being
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# set unexpectedly, and errors such as "$1: unbound variable" and
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# diffs failing due to script tracing in output files.
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaunexport SHELLOPTS
6ca0e6973c8176100f4a426444823ae5e777e28fsascha
3a47c2ef905c3b6483279637fb8054ca67c5b6ddsaschasparc:
3a47c2ef905c3b6483279637fb8054ca67c5b6ddsascha @echo "Not available."
3a47c2ef905c3b6483279637fb8054ca67c5b6ddsascha
3a47c2ef905c3b6483279637fb8054ca67c5b6ddsaschaconfigure_sparc: sparc
3a47c2ef905c3b6483279637fb8054ca67c5b6ddsaschabuild_sparc: sparc
96e6cafca226a8a2a64a7bbdc634b5b2679c9e0csaschainstall_sparc: sparc
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojtest_sparc: sparc
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaconfigure_i386: $(CONFIGURE_32_and_64)
6ca0e6973c8176100f4a426444823ae5e777e28fsaschabuild_i386: $(BUILD_32_and_64)
6ca0e6973c8176100f4a426444823ae5e777e28fsaschainstall_i386: $(INSTALL_32_and_64)
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojtest_i386: $(TEST_32_and_64)
6ca0e6973c8176100f4a426444823ae5e777e28fsascha
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj# common targets. we're i386-only so we have to
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj# be slightly tricky.
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojconfigure: configure_$(MACH)
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojbuild: build_$(MACH)
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojinstall: install_$(MACH)
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojtest: test_$(MACH)
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj# Required for man pages.
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojREQUIRED_PACKAGES += developer/documentation-tool/xmlto
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojREQUIRED_PACKAGES += system/library
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj