Makefile revision 1026
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian Maeder#
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian Maeder# CDDL HEADER START
e6d40133bc9f858308654afb1262b8b483ec5922Till Mossakowski#
7b1dc4100fa5a3afee36f6eb379a067a1a0f7c3cChristian Maeder# The contents of this file are subject to the terms of the
98890889ffb2e8f6f722b00e265a211f13b5a861Corneliu-Claudiu Prodescu# Common Development and Distribution License (the "License").
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian Maeder# You may not use this file except in compliance with the License.
3f69b6948966979163bdfe8331c38833d5d90ecdChristian Maeder#
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian Maeder# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian Maeder# or http://www.opensolaris.org/os/licensing.
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian Maeder# See the License for the specific language governing permissions
e6d40133bc9f858308654afb1262b8b483ec5922Till Mossakowski# and limitations under the License.
0095c7efbddd0ffeed6aaf8ec015346be161d819Till Mossakowski#
f3a94a197960e548ecd6520bb768cb0d547457bbChristian Maeder# When distributing Covered Code, include this CDDL HEADER in each
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian Maeder# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian Maeder# If applicable, add the following below this CDDL HEADER, with the
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian Maeder# fields enclosed by brackets "[]" replaced with your own identifying
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian Maeder# information: Portions Copyright [yyyy] [name of copyright owner]
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian Maeder#
179581802dda2f071129f542a2c10e28b35c45b9Christian Maeder# CDDL HEADER END
179581802dda2f071129f542a2c10e28b35c45b9Christian Maeder#
179581802dda2f071129f542a2c10e28b35c45b9Christian Maeder# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
16f75d93965147f706f0367dccdc08f149548773Christian Maeder#
16f75d93965147f706f0367dccdc08f149548773Christian Maederinclude ../../make-rules/shared-macros.mk
16f75d93965147f706f0367dccdc08f149548773Christian Maeder
16f75d93965147f706f0367dccdc08f149548773Christian MaederCOMPONENT_NAME= bash
179581802dda2f071129f542a2c10e28b35c45b9Christian MaederCOMPONENT_VERSION= 4.1
179581802dda2f071129f542a2c10e28b35c45b9Christian MaederCOMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
179581802dda2f071129f542a2c10e28b35c45b9Christian MaederCOMPONENT_PROJECT_URL= http://www.gnu.org/software/bash/
179581802dda2f071129f542a2c10e28b35c45b9Christian MaederCOMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz
179581802dda2f071129f542a2c10e28b35c45b9Christian MaederCOMPONENT_ARCHIVE_HASH= \
179581802dda2f071129f542a2c10e28b35c45b9Christian Maeder sha256:3f627124a83c6d34db503a923e20710d370573a29dd5d11d6f116d1aee7be1da
1dfd1687e9ee6a45e2cb5268a701ead79c1c1f79Christian MaederCOMPONENT_ARCHIVE_URL= http://ftp.gnu.org/gnu/bash/$(COMPONENT_ARCHIVE)
179581802dda2f071129f542a2c10e28b35c45b9Christian Maeder
af30b44c4bae99a1c37fe53b8a70c7eb0a380b66Christian Maederinclude ../../make-rules/prep.mk
af30b44c4bae99a1c37fe53b8a70c7eb0a380b66Christian Maederinclude ../../make-rules/configure.mk
179581802dda2f071129f542a2c10e28b35c45b9Christian Maederinclude ../../make-rules/ips.mk
1dfd1687e9ee6a45e2cb5268a701ead79c1c1f79Christian Maeder
179581802dda2f071129f542a2c10e28b35c45b9Christian MaederIPS_COMPONENT_VERSION = $(COMPONENT_VERSION).9
179581802dda2f071129f542a2c10e28b35c45b9Christian MaederPATCH_LEVEL = 0
1dfd1687e9ee6a45e2cb5268a701ead79c1c1f79Christian Maeder
af30b44c4bae99a1c37fe53b8a70c7eb0a380b66Christian MaederPKG_PROTO_DIRS += $(COMPONENT_DIR)/Solaris
179581802dda2f071129f542a2c10e28b35c45b9Christian Maeder
179581802dda2f071129f542a2c10e28b35c45b9Christian Maeder# Enable C99 mode + -Xc for it's additional warnings.
179581802dda2f071129f542a2c10e28b35c45b9Christian Maederstudio_C99MODE = -Xc $(studio_C99_ENABLE)
179581802dda2f071129f542a2c10e28b35c45b9Christian Maeder
1dfd1687e9ee6a45e2cb5268a701ead79c1c1f79Christian Maeder# Use the maximum number of registers on sparc since we have no libraries
16f75d93965147f706f0367dccdc08f149548773Christian Maederstudio_XREGS.sparc = -xregs=appl
179581802dda2f071129f542a2c10e28b35c45b9Christian Maeder
71bf376677866b4735ae3c13ee08a863d25c1188Christian Maeder# 8 byte memory alignment + interpretation of non-alignment instead of SIGBUS
1dfd1687e9ee6a45e2cb5268a701ead79c1c1f79Christian Maederstudio_ALIGN.sparc.32 = -xmemalign=8i
179581802dda2f071129f542a2c10e28b35c45b9Christian Maeder
179581802dda2f071129f542a2c10e28b35c45b9Christian Maeder# -xinline=%auto -- we like inlining where appropriate
71bf376677866b4735ae3c13ee08a863d25c1188Christian MaederCFLAGS += -xinline=%auto
179581802dda2f071129f542a2c10e28b35c45b9Christian Maeder
179581802dda2f071129f542a2c10e28b35c45b9Christian Maeder# -xbuiltin=%none -- builtins have been known to be buggy
179581802dda2f071129f542a2c10e28b35c45b9Christian MaederCFLAGS += -xbuiltin=%none
9ecf13b5fd914bc7272f1fc17348d7f4a8c77061Christian Maeder
179581802dda2f071129f542a2c10e28b35c45b9Christian MaederCFLAGS += $(XPG6MODE)
1dfd1687e9ee6a45e2cb5268a701ead79c1c1f79Christian MaederCFLAGS += $(CPP_POSIX)
1dfd1687e9ee6a45e2cb5268a701ead79c1c1f79Christian MaederCFLAGS += $(CPP_C99_EXTENDED_MATH)
179581802dda2f071129f542a2c10e28b35c45b9Christian Maeder
1dfd1687e9ee6a45e2cb5268a701ead79c1c1f79Christian Maeder# configure checks for some functions, but doesn't seem to want to link in
179581802dda2f071129f542a2c10e28b35c45b9Christian Maeder# the required libraries for them. We avoid linking with libthread.so.1
179581802dda2f071129f542a2c10e28b35c45b9Christian Maeder# just because we pass -mt, by explicitly passing -lc.
179581802dda2f071129f542a2c10e28b35c45b9Christian MaederLIBS = -lc -lsocket -lgen
179581802dda2f071129f542a2c10e28b35c45b9Christian Maeder
179581802dda2f071129f542a2c10e28b35c45b9Christian Maeder# -z redlocsym -- let's shrink the SHT_SYMTAB as much as we can
179581802dda2f071129f542a2c10e28b35c45b9Christian MaederLDFLAGS = $(LD_Z_REDLOCSYM)
179581802dda2f071129f542a2c10e28b35c45b9Christian Maeder
179581802dda2f071129f542a2c10e28b35c45b9Christian Maeder# The bash test harness needs the GNU userland utilities
179581802dda2f071129f542a2c10e28b35c45b9Christian MaederTEST_PATH = "PATH=$(BUILD_DIR_32):$(GNUBIN):$(USRBINDIR)"
179581802dda2f071129f542a2c10e28b35c45b9Christian MaederTEST_OUTPUT = $(COMPONENT_DIR)/bash_test_results_$(MACH).out
179581802dda2f071129f542a2c10e28b35c45b9Christian Maeder
179581802dda2f071129f542a2c10e28b35c45b9Christian MaederCONFIGURE_ENV += CFLAGS="$(CFLAGS)"
179581802dda2f071129f542a2c10e28b35c45b9Christian MaederCONFIGURE_ENV += LDFLAGS="$(LDFLAGS)"
179581802dda2f071129f542a2c10e28b35c45b9Christian MaederCONFIGURE_ENV += LIBS="$(LIBS)"
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian Maeder
71bf376677866b4735ae3c13ee08a863d25c1188Christian MaederCONFIGURE_OPTIONS += --localstatedir=/var
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian MaederCONFIGURE_OPTIONS += --enable-alias
ad270004874ce1d0697fb30d7309f180553bb315Christian MaederCONFIGURE_OPTIONS += --enable-arith-for-command
ad270004874ce1d0697fb30d7309f180553bb315Christian MaederCONFIGURE_OPTIONS += --enable-array-variables
e687e6c8bde755910bc1054d595b316484e450ffChristian MaederCONFIGURE_OPTIONS += --enable-bang-history
2a5b885d9350ec6dd8bc4992ee91d2f68aa592f4Christian MaederCONFIGURE_OPTIONS += --enable-brace-expansion
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian MaederCONFIGURE_OPTIONS += --enable-casemod-attributes
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian MaederCONFIGURE_OPTIONS += --enable-casemod-expansions
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian MaederCONFIGURE_OPTIONS += --enable-command-timing
e687e6c8bde755910bc1054d595b316484e450ffChristian MaederCONFIGURE_OPTIONS += --enable-cond-command
e687e6c8bde755910bc1054d595b316484e450ffChristian MaederCONFIGURE_OPTIONS += --enable-cond-regexp
1dfd1687e9ee6a45e2cb5268a701ead79c1c1f79Christian MaederCONFIGURE_OPTIONS += --enable-coprocesses
1dfd1687e9ee6a45e2cb5268a701ead79c1c1f79Christian MaederCONFIGURE_OPTIONS += --enable-debugger
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian MaederCONFIGURE_OPTIONS += --enable-directory-stack
f8b715ab2993083761c0aedb78f1819bcf67b6ccChristian MaederCONFIGURE_OPTIONS += --enable-disabled-builtins
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian MaederCONFIGURE_OPTIONS += --enable-dparen-arithmetic
b1f59a4ea7c96f4c03a4d7cfcb9c5e66871cfbbbChristian MaederCONFIGURE_OPTIONS += --enable-extended-glob
b1f59a4ea7c96f4c03a4d7cfcb9c5e66871cfbbbChristian MaederCONFIGURE_OPTIONS += --enable-help-builtin
16f75d93965147f706f0367dccdc08f149548773Christian MaederCONFIGURE_OPTIONS += --enable-history
16f75d93965147f706f0367dccdc08f149548773Christian MaederCONFIGURE_OPTIONS += --enable-job-control
16f75d93965147f706f0367dccdc08f149548773Christian MaederCONFIGURE_OPTIONS += --enable-multibyte
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian MaederCONFIGURE_OPTIONS += --enable-net-redirections
28798fabeec3863d7fc9c2e9a320ff9c0d6003c4Klaus LuettichCONFIGURE_OPTIONS += --enable-process-substitution
28798fabeec3863d7fc9c2e9a320ff9c0d6003c4Klaus LuettichCONFIGURE_OPTIONS += --enable-progcomp
28798fabeec3863d7fc9c2e9a320ff9c0d6003c4Klaus LuettichCONFIGURE_OPTIONS += --enable-prompt-string-decoding
28798fabeec3863d7fc9c2e9a320ff9c0d6003c4Klaus LuettichCONFIGURE_OPTIONS += --enable-readline
e604c30b2003ac44f159d70328fba2b4891bd1e4Christian MaederCONFIGURE_OPTIONS += --enable-restricted
c26a3acec49af0a3af54b789e56619b25ac661d9Christian MaederCONFIGURE_OPTIONS += --enable-select
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian MaederCONFIGURE_OPTIONS += --enable-separate-helpfiles
5ea0d62951bb02a11498060bdc36ca037812eafdKlaus LuettichCONFIGURE_OPTIONS += --enable-single-help-strings
5ea0d62951bb02a11498060bdc36ca037812eafdKlaus LuettichCONFIGURE_OPTIONS += --disable-strict-posix-default
5ea0d62951bb02a11498060bdc36ca037812eafdKlaus LuettichCONFIGURE_OPTIONS += --enable-usg-echo-default
c26a3acec49af0a3af54b789e56619b25ac661d9Christian MaederCONFIGURE_OPTIONS += --enable-xpg-echo-default
5ea0d62951bb02a11498060bdc36ca037812eafdKlaus LuettichCONFIGURE_OPTIONS += --enable-mem-scramble
7b1dc4100fa5a3afee36f6eb379a067a1a0f7c3cChristian MaederCONFIGURE_OPTIONS += --disable-profiling
5ea0d62951bb02a11498060bdc36ca037812eafdKlaus LuettichCONFIGURE_OPTIONS += --enable-static-link
7b1dc4100fa5a3afee36f6eb379a067a1a0f7c3cChristian MaederCONFIGURE_OPTIONS += --enable-largefile
5ea0d62951bb02a11498060bdc36ca037812eafdKlaus LuettichCONFIGURE_OPTIONS += --enable-nls
5ea0d62951bb02a11498060bdc36ca037812eafdKlaus LuettichCONFIGURE_OPTIONS += --with-bash-malloc
ede2106a44b8cb0bb78545692f1cb65430abde55Till MossakowskiCONFIGURE_OPTIONS += --with-curses
23e0b003dd27c804487db4d3a9fc8ff2f452cb77Christian MaederCONFIGURE_OPTIONS += --with-installed-readline=no
c26a3acec49af0a3af54b789e56619b25ac661d9Christian MaederCONFIGURE_OPTIONS += --infodir=$(CONFIGURE_INFODIR)
c26a3acec49af0a3af54b789e56619b25ac661d9Christian Maeder
c26a3acec49af0a3af54b789e56619b25ac661d9Christian MaederTEST_ENV += -i
c26a3acec49af0a3af54b789e56619b25ac661d9Christian MaederTEST_ENV += $(TEST_PATH)
c26a3acec49af0a3af54b789e56619b25ac661d9Christian MaederTEST_ENV += $(TARGET_ENV)
c26a3acec49af0a3af54b789e56619b25ac661d9Christian Maeder
c26a3acec49af0a3af54b789e56619b25ac661d9Christian Maederbuild: $(BUILD_32)
c26a3acec49af0a3af54b789e56619b25ac661d9Christian Maeder
c26a3acec49af0a3af54b789e56619b25ac661d9Christian Maederinstall: $(INSTALL_32)
c26a3acec49af0a3af54b789e56619b25ac661d9Christian Maeder ( cd $(PROTOUSRSHAREDIR)/locale ; \
5ea0d62951bb02a11498060bdc36ca037812eafdKlaus Luettich cp -Rp "en@boldquot" en ; \
b1f59a4ea7c96f4c03a4d7cfcb9c5e66871cfbbbChristian Maeder cp -Rp "en@boldquot" en_CA ; \
c26a3acec49af0a3af54b789e56619b25ac661d9Christian Maeder cp -Rp "en@boldquot" en_GB )
c26a3acec49af0a3af54b789e56619b25ac661d9Christian Maeder
c26a3acec49af0a3af54b789e56619b25ac661d9Christian Maedertest: $(TEST_32)
c26a3acec49af0a3af54b789e56619b25ac661d9Christian Maeder
c26a3acec49af0a3af54b789e56619b25ac661d9Christian MaederBUILD_PKG_DEPENDENCIES = $(BUILD_TOOLS)
b1f59a4ea7c96f4c03a4d7cfcb9c5e66871cfbbbChristian Maeder
af30b44c4bae99a1c37fe53b8a70c7eb0a380b66Christian Maederinclude ../../make-rules/depend.mk
b1f59a4ea7c96f4c03a4d7cfcb9c5e66871cfbbbChristian Maeder
23e0b003dd27c804487db4d3a9fc8ff2f452cb77Christian Maeder