Makefile revision 110
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz#
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz# CDDL HEADER START
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz#
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz# The contents of this file are subject to the terms of the
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz# Common Development and Distribution License (the "License").
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz# You may not use this file except in compliance with the License.
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz#
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz# or http://www.opensolaris.org/os/licensing.
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz# See the License for the specific language governing permissions
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz# and limitations under the License.
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz#
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz# When distributing Covered Code, include this CDDL HEADER in each
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz# If applicable, add the following below this CDDL HEADER, with the
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz# fields enclosed by brackets "[]" replaced with your own identifying
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz# information: Portions Copyright [yyyy] [name of copyright owner]
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz#
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz# CDDL HEADER END
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz#
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz#
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruzinclude ../../make-rules/shared-macros.mk
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruzCOMPONENT_NAME= bash
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruzCOMPONENT_VERSION= 4.1
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruzCOMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruzCOMPONENT_PROJECT_URL= http://www.gnu.org/software/bash/
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruzCOMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruzCOMPONENT_ARCHIVE_HASH= sha1:3bd1ec9c66f3689f6b3495bdaaf9077b2e5dc150
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruzCOMPONENT_ARCHIVE_URL= http://ftp.gnu.org/gnu/bash/$(COMPONENT_ARCHIVE)
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruzinclude ../../make-rules/prep.mk
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruzinclude ../../make-rules/configure.mk
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruzinclude ../../make-rules/ips.mk
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruzIPS_COMPONENT_VERSION = $(COMPONENT_VERSION).9
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruzPATCH_LEVEL = 0
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz# Enable C99 mode + -Xc for it's additional warnings.
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruzstudio_C99MODE = -Xc $(studio_C99_ENABLE)
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdg
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdg# Use the maximum number of registers on sparc since we have no libraries
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgstudio_XREGS.sparc = -xregs=appl
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdg
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdg# 8 byte memory alignment + interpretation of non-alignment instead of SIGBUS
a65c48d1a2a69faf4390122b4646d16506e8a645jaspervdgstudio_ALIGN.sparc.32 = -xmemalign=8i
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdg
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz# -xinline=%auto -- we like inlining where appropriate
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruzCFLAGS += -xinline=%auto
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz# -xbuiltin=%none -- builtins have been known to be buggy
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruzCFLAGS += -xbuiltin=%none
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruzCFLAGS += $(XPG6MODE)
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruzCFLAGS += $(CPP_POSIX)
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruzCFLAGS += $(CPP_C99_EXTENDED_MATH)
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz# configure checks for some functions, but doesn't seem to want to link in
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz# the required libraries for them. We avoid linking with libthread.so.1
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz# just because we pass -mt, by explicitly passing -lc.
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruzLIBS = -lc -lsocket -lgen
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz# -z redlocsym -- let's shrink the SHT_SYMTAB as much as we can
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruzLDFLAGS = $(LD_Z_REDLOCSYM)
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdg
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdg# The bash test harness needs the GNU userland utilities
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgTEST_PATH = "PATH=$(BUILD_DIR_32):$(GNUBIN):$(USRBINDIR)"
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgTEST_OUTPUT = $(COMPONENT_DIR)/bash_test_results_$(MACH).out
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdg
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgCONFIGURE_ENV += CFLAGS="$(CFLAGS)"
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgCONFIGURE_ENV += LDFLAGS="$(LDFLAGS)"
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgCONFIGURE_ENV += LIBS="$(LIBS)"
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdg
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgCONFIGURE_OPTIONS += --localstatedir=/var
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgCONFIGURE_OPTIONS += --enable-alias
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgCONFIGURE_OPTIONS += --enable-arith-for-command
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgCONFIGURE_OPTIONS += --enable-array-variables
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgCONFIGURE_OPTIONS += --enable-bang-history
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgCONFIGURE_OPTIONS += --enable-brace-expansion
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgCONFIGURE_OPTIONS += --enable-casemod-attributes
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgCONFIGURE_OPTIONS += --enable-casemod-expansions
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgCONFIGURE_OPTIONS += --enable-command-timing
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruzCONFIGURE_OPTIONS += --enable-cond-command
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgCONFIGURE_OPTIONS += --enable-cond-regexp
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgCONFIGURE_OPTIONS += --enable-coprocesses
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgCONFIGURE_OPTIONS += --enable-debugger
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgCONFIGURE_OPTIONS += --enable-directory-stack
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgCONFIGURE_OPTIONS += --enable-disabled-builtins
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgCONFIGURE_OPTIONS += --enable-dparen-arithmetic
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgCONFIGURE_OPTIONS += --enable-extended-glob
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgCONFIGURE_OPTIONS += --enable-help-builtin
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgCONFIGURE_OPTIONS += --enable-history
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgCONFIGURE_OPTIONS += --enable-job-control
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgCONFIGURE_OPTIONS += --enable-multibyte
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgCONFIGURE_OPTIONS += --enable-net-redirections
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgCONFIGURE_OPTIONS += --enable-process-substitution
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgCONFIGURE_OPTIONS += --enable-progcomp
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgCONFIGURE_OPTIONS += --enable-prompt-string-decoding
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgCONFIGURE_OPTIONS += --enable-readline
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgCONFIGURE_OPTIONS += --enable-restricted
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgCONFIGURE_OPTIONS += --enable-select
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgCONFIGURE_OPTIONS += --enable-separate-helpfiles
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruzCONFIGURE_OPTIONS += --enable-single-help-strings
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruzCONFIGURE_OPTIONS += --disable-strict-posix-default
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruzCONFIGURE_OPTIONS += --enable-usg-echo-default
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruzCONFIGURE_OPTIONS += --enable-xpg-echo-default
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgCONFIGURE_OPTIONS += --enable-mem-scramble
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgCONFIGURE_OPTIONS += --disable-profiling
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgCONFIGURE_OPTIONS += --enable-static-link
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgCONFIGURE_OPTIONS += --enable-largefile
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgCONFIGURE_OPTIONS += --enable-nls
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgCONFIGURE_OPTIONS += --with-bash-malloc
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgCONFIGURE_OPTIONS += --with-curses
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgCONFIGURE_OPTIONS += --with-installed-readline=no
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgCONFIGURE_OPTIONS += --infodir=$(CONFIGURE_INFODIR)
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdg
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdgbuild: $(BUILD_32)
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdg
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdginstall: $(INSTALL_32)
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdg ( mkdir -p $(PROTO_DIR)/etc/bash/bash_completion.d ; \
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdg cp -p $(COMPONENT_DIR)/Solaris/etc.bash.bash_completion \
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz $(PROTO_DIR)/etc/bash/bash_completion.example ; \
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdg cp -p $(COMPONENT_DIR)/Solaris/etc.bash.bashrc \
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdg $(PROTO_DIR)/etc/bash/bashrc.example ; \
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdg cp -p $(COMPONENT_DIR)/Solaris/etc.bash.inputrc \
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdg $(PROTO_DIR)/etc/bash/inputrc.example ; \
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdg cp -p $(COMPONENT_DIR)/Solaris/rbash.1 \
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdg $(PROTOUSRSHAREMAN1DIR)/ )
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdg ( cd $(PROTOUSRSHAREDIR)/locale ; \
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdg cp -Rp "en@boldquot" en ; \
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdg cp -Rp "en@boldquot" en_CA ; \
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdg cp -Rp "en@boldquot" en_GB )
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdg sed -f oracleman-stability $(PROTOUSRSHAREMAN1DIR)/bash.1 > \
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdg $(PROTOUSRSHAREMAN1DIR)/bash.1.sed
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdg cp -fp $(PROTOUSRSHAREMAN1DIR)/bash.1.sed \
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdg $(PROTOUSRSHAREMAN1DIR)/bash.1
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdg sed -f oracleman-stability $(PROTOUSRSHAREMAN1DIR)/rbash.1 > \
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdg $(PROTOUSRSHAREMAN1DIR)/rbash.1.sed
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdg cp -fp $(PROTOUSRSHAREMAN1DIR)/rbash.1.sed \
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdg $(PROTOUSRSHAREMAN1DIR)/rbash.1
8a507a13a4a6adfb638f731e371abbbf25817697jaspervdg rm -f $(PROTOUSRSHAREMAN1DIR)/bash.1.sed \
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz $(PROTOUSRSHAREMAN1DIR)/rbash.1.sed
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruztest: $(BUILD_32)
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz ( cd $(BUILD_DIR_32) ; \
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz env - $(TEST_PATH) $(TARGET_ENV) $(GMAKE) check > \
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz $(TEST_OUTPUT) 2>&1 )
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruzBUILD_PKG_DEPENDENCIES = $(BUILD_TOOLS)
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruzinclude ../../make-rules/depend.mk
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz