Makefile revision 4339
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte# CDDL HEADER START
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte# The contents of this file are subject to the terms of the
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte# Common Development and Distribution License (the "License").
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte# You may not use this file except in compliance with the License.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte# or http://www.opensolaris.org/os/licensing.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte# See the License for the specific language governing permissions
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte# and limitations under the License.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte# When distributing Covered Code, include this CDDL HEADER in each
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte# If applicable, add the following below this CDDL HEADER, with the
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte# fields enclosed by brackets "[]" replaced with your own identifying
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte# information: Portions Copyright [yyyy] [name of copyright owner]
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte# CDDL HEADER END
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#
a1e9eea083a8f257157edb8a1efb5bbd300eb4bfSrikanth, Ramana
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteinclude ../../make-rules/shared-macros.mk
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn ForteCOMPONENT_NAME= bison
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn ForteCOMPONENT_VERSION= 2.3
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn ForteCOMPONENT_PROJECT_URL= http://www.gnu.org/software/bison/
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn ForteCOMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn ForteCOMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn ForteCOMPONENT_ARCHIVE_HASH= \
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte sha256:52f78aa4761a74ceb7fdf770f3554dd84308c3b93c4255e3a5c17558ecda293e
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn ForteCOMPONENT_ARCHIVE_URL= http://ftp.gnu.org/gnu/bison/$(COMPONENT_ARCHIVE)
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn ForteCOMPONENT_BUGDB= utility/bison
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn ForteTPNO= 6254
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteinclude $(WS_MAKE_RULES)/prep.mk
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteinclude $(WS_MAKE_RULES)/configure.mk
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteinclude $(WS_MAKE_RULES)/ips.mk
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn ForteCONFIGURE_LIBDIR.32 = $(GNULIB)
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn ForteCONFIGURE_LIBDIR.64 = $(GNULIB)/$(MACH64)
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
a1e9eea083a8f257157edb8a1efb5bbd300eb4bfSrikanth, RamanaCONFIGURE_OPTIONS += --infodir=$(CONFIGURE_INFODIR)
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn ForteCONFIGURE_OPTIONS += CFLAGS="$(CFLAGS)"
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
a1e9eea083a8f257157edb8a1efb5bbd300eb4bfSrikanth, RamanaCOMPONENT_TEST_MASTER = $(COMPONENT_TEST_RESULTS_DIR)/results-all.master
a1e9eea083a8f257157edb8a1efb5bbd300eb4bfSrikanth, Ramana
a1e9eea083a8f257157edb8a1efb5bbd300eb4bfSrikanth, Ramana# the test suite actually generates a script
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte# that runs the just-built bison against the
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte# just-built files. to make it run the system
a1e9eea083a8f257157edb8a1efb5bbd300eb4bfSrikanth, Ramana# one, we can just replace that script with
a1e9eea083a8f257157edb8a1efb5bbd300eb4bfSrikanth, Ramana# a simpler one
a1e9eea083a8f257157edb8a1efb5bbd300eb4bfSrikanth, RamanaCOMPONENT_PRE_SYSTEM_TEST_ACTION= \
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte (cd $(@D)/tests; mv bison bison.orig; \
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte echo "\#!/bin/bash" > bison; \
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte echo "exec /usr/bin/bison \$$@" >> bison; \
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte chmod +x bison; \
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte )
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn ForteCOMPONENT_POST_SYSTEM_TEST_ACTION= \
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte (cd $(@D)/tests; rm -f bison; mv bison.orig bison)
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte# Strip compilation lines from test output
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn ForteCOMPONENT_TEST_TRANSFORMS += \
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte '-e "s|^.*$(CC).*$$|XXX_CC_XXX|g" ' \
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte '-e "s|^.*$(CXX).*$$|XXX_CC_XXX|g" ' \
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte '-e "s|^.*source=.*libtool=no.*$$|XXX_CC_XXX|g" ' \
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte '-e "s|^.*DEPDIR=.deps.*$$|XXX_CC_XXX|g" ' \
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte '-e "s|^config.status: .*$$|XXX_CC_XXX|g" ' \
'-e "s|^make.*: Leaving directory.*$$|XXX_CC_XXX|g" ' \
'-e "s|^make.*: Entering directory.*$$|XXX_CC_XXX|g" ' \
'-e "/^XXX_CC_XXX$$/d" '
# Enable ASLR for this component
ASLR_MODE = $(ASLR_ENABLE)
$(INSTALL_32): $(INSTALL_64)
# common targets
configure: $(CONFIGURE_32_and_64)
build: $(BUILD_32_and_64)
install: $(INSTALL_32_and_64)
test: $(TEST_64)
# we need to first generate the test suite,
system-test: build $(SYSTEM_TEST_64)
REQUIRED_PACKAGES += developer/macro/gnu-m4
REQUIRED_PACKAGES += system/library