Makefile revision 990
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder#
25cc5fbba63f84b47e389af749f55abbbde71c8cChristian Maeder# CDDL HEADER START
25cc5fbba63f84b47e389af749f55abbbde71c8cChristian Maeder#
25cc5fbba63f84b47e389af749f55abbbde71c8cChristian Maeder# The contents of this file are subject to the terms of the
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# Common Development and Distribution License (the "License").
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# You may not use this file except in compliance with the License.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder#
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# or http://www.opensolaris.org/os/licensing.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# See the License for the specific language governing permissions
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# and limitations under the License.
f2f9df2e17e70674f0bf426ed1763c973ee4cde0Christian Maeder#
f2f9df2e17e70674f0bf426ed1763c973ee4cde0Christian Maeder# When distributing Covered Code, include this CDDL HEADER in each
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# If applicable, add the following below this CDDL HEADER, with the
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# fields enclosed by brackets "[]" replaced with your own identifying
d03ce8efc673309b40746bf5f66299cc3cefa3b0Klaus Luettich# information: Portions Copyright [yyyy] [name of copyright owner]
8e494181dee5cfc59ae494e4082c71edfde24f58Christian Maeder#
afa6ceaf4359ae437aaa6830949583143ace2752Christian Maeder# CDDL HEADER END
ce8b15da31cd181b7e90593cbbca98f47eda29d6Till Mossakowski#
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
760ae19a92dde8249679a674f93f58d26a7c5f6bChristian Maeder#
5c53db0f07c1032e2850dc6e7df344c82a6dec57Christian MaederPARFAIT_BUILD=no
88c800932dd7053322501ea2039d9f234be6866cKlaus Luettich
c0c2380bced8159ff0297ece14eba948bd236471Christian Maederinclude ../../make-rules/shared-macros.mk
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder
c0c2380bced8159ff0297ece14eba948bd236471Christian MaederCOMPONENT_PROJECT_URL= http://www2.research.att.com/sw/download/
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder
8410667510a76409aca9bb24ff0eda0420088274Christian Maeder# These are required if retrieving packages from the AT&T website.
8410667510a76409aca9bb24ff0eda0420088274Christian MaederATT_USERNAME= "I accept www.opensource.org/licenses/cpl"
8410667510a76409aca9bb24ff0eda0420088274Christian MaederATT_PASSWD= "."
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich# This flag controls the prep.mk behaviour to patch each archive individually
3474624438293363cada4e49225aae1e292fa597Christian MaederPATCH_EACH_ARCHIVE = 1
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederCOMPONENT_NAME = INIT
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederCOMPONENT_VERSION = 2011-02-08
d67a33b40578beef2e255a274f89bb9c34aaf056Christian MaederCOMPONENT_SRC = $(COMPONENT_NAME).$(COMPONENT_VERSION)
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian MaederCOMPONENT_ARCHIVE = $(COMPONENT_NAME).$(COMPONENT_VERSION).tgz
e593b89bfd4952698dc37feced21cefe869d87a2Christian MaederCOMPONENT_ARCHIVE_HASH = \
a2d6702f18737cc5fff8e8631c08f221f8375c4bChristian Maeder sha256:d692d476fe4bb933e7b6459c0cc99a2e9f428bfd81a495ed4201ec197e070f57
a2d6702f18737cc5fff8e8631c08f221f8375c4bChristian MaederCOMPONENT_ARCHIVE_URL = http://www2.research.att.com/~gsf/download/tgz/$(COMPONENT_ARCHIVE)
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian MaederCOMPONENT_PATCHES =
6e049108aa87dc46bcff96fae50a4625df1d9648Klaus Luettich
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# Patch only required if building ksh93 only and not ast-base
5d44c8cecd07b47ce537c7e14bf7b41a39f08507Christian Maeder# package-pax-suid.patch
a2d6702f18737cc5fff8e8631c08f221f8375c4bChristian Maeder
a2d6702f18737cc5fff8e8631c08f221f8375c4bChristian Maeder# The ksh93 tarballs don't unpack cleanly into their own directories.
c6fcd42c6d6d9dae8c7835c24fcb7ce8531a9050Christian MaederUNPACK_ARGS= -r $(COMPONENT_SRC)
31c49f2fa23d4ac089f35145d80a224deb6ea7e4Till Mossakowski
c55a0f77be7e88d3620b419ec8961f4379a586e3Klaus LuettichNUM_EXTRA_ARCHIVES= 1
7b2177999334c920c5669621bd3c142fe198a8d7Christian MaederCOMPONENT_NAME_1= ast-base
9e748851c150e1022fb952bab3315e869aaf0214Christian MaederCOMPONENT_VERSION_1= 2011-02-08
9e748851c150e1022fb952bab3315e869aaf0214Christian MaederCOMPONENT_SRC_1= $(COMPONENT_NAME_1).$(COMPONENT_VERSION_1)
d3ae0072823e2ef0d41d4431fcc768e66489c20eChristian MaederCOMPONENT_ARCHIVE_1= $(COMPONENT_NAME_1).$(COMPONENT_VERSION_1).tgz
9e748851c150e1022fb952bab3315e869aaf0214Christian MaederCOMPONENT_ARCHIVE_HASH_1= \
f4505a64a089693012a3f5c3b1f12a82cd7a2a5aKlaus Luettich sha256:44ae3913e6c0c8992c6c3cba16864fd4c4a18c6da8e7d87c85a23060cea7cd1a
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederCOMPONENT_ARCHIVE_URL_1= http://www2.research.att.com/~gsf/download/tgz/$(COMPONENT_ARCHIVE_1)
a3c6d8e0670bf2aa71bc8e2a3b1f45d56dd65e4cChristian MaederCOMPONENT_PATCHES_1= compiler.patch path_utmp.patch\
a3c6d8e0670bf2aa71bc8e2a3b1f45d56dd65e4cChristian Maeder solaris_alias.patch \
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder CR6919590.patch CR7033181.patch \
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder CR7071431.patch CR7036535.patch \
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder CRXXX_Error_Catalog.patch CR7025778.patch \
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder CR7065478.patch CR7026179.patch \
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder CR7065900.patch CR7110983.patch \
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder CR7105086.patch multi_lang_arith.patch \
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder CR7057565.patch CR7046434.patch \
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder CR7032821.patch CR7009897.patch \
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder CR6964621.patch CR7032068.patch \
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder CR7061011.patch CR6934836.patch \
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder CR7089799.patch CR6917338.patch \
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder CR7019368.patch CR6729252.patch \
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder MAP_TYPE_64_Bits.patch CR7167466.patch \
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder CR7168611.patch
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder# Fixup HOSTTYPE to match uname output and bits
fd09d0eee026d0db12542af37fd0fbd0790f0eeaChristian MaederHOSTTYPE32=sol11.$(shell uname -p)
fd09d0eee026d0db12542af37fd0fbd0790f0eeaChristian MaederHOSTTYPE64=sol11.$(shell uname -p)-64
fd09d0eee026d0db12542af37fd0fbd0790f0eeaChristian Maeder
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder# Make the unpack of the second archive relocate to a sensible place
9e748851c150e1022fb952bab3315e869aaf0214Christian MaederUNPACK_ARGS_1= -r $(COMPONENT_SRC_1)
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder# We override LD_B_DIRECT because -B direct has unfortunate consequences for the
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder# interposition used by the Safe/Fast IO library (i.e. it becomes neither safe
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder# nor fast, and causes the build to deadly embrace).
c0c2380bced8159ff0297ece14eba948bd236471Christian MaederLD_B_DIRECT=
549b97cfbe3a6687db74440a550b68b2fc19a272Christian Maeder
549b97cfbe3a6687db74440a550b68b2fc19a272Christian Maeder# Disable nmake's probing of runpaths
a3c6d8e0670bf2aa71bc8e2a3b1f45d56dd65e4cChristian MaederCC.RUNPATH=
f2f9df2e17e70674f0bf426ed1763c973ee4cde0Christian MaederCC.LD.RUNPATH=
f2f9df2e17e70674f0bf426ed1763c973ee4cde0Christian MaederCC.LD.ORIGIN=
f2f9df2e17e70674f0bf426ed1763c973ee4cde0Christian MaederCC.DLL.ORIGIN=
f2f9df2e17e70674f0bf426ed1763c973ee4cde0Christian Maeder
f2f9df2e17e70674f0bf426ed1763c973ee4cde0Christian Maeder# Fix up the permissions of the compiler wrapper scripts from the patch
61fa0ac06ede811c7aad54ec4c4202346727368eChristian MaederCOMPONENT_PRE_BUILD_ACTION=($(CHMOD) +x $(@D)/src/cmd/INIT/cc.sol11.*)
afa6ceaf4359ae437aaa6830949583143ace2752Christian Maeder
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder# Prevent nmake from taking over the entire machine
f4505a64a089693012a3f5c3b1f12a82cd7a2a5aKlaus LuettichNPROC=1
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# Set the built to build all targets, install all of ast-base, and test ksh93.
f4505a64a089693012a3f5c3b1f12a82cd7a2a5aKlaus LuettichCOMPONENT_BUILD_TARGETS +=
f4505a64a089693012a3f5c3b1f12a82cd7a2a5aKlaus LuettichCOMPONENT_INSTALL_PACKAGES += ast-base
f4505a64a089693012a3f5c3b1f12a82cd7a2a5aKlaus LuettichCOMPONENT_TEST_TARGETS = ksh93
5d4038657f6a63e131f5804af2f7957b69e15a43Klaus Luettich
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# Unpack the ast-base tarball and copy it into the INIT tree,
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder# mark it as un-patched
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederCOMPONENT_POST_UNPACK_ACTION_1= \
77a65251ee036c6aaf09c2775315a4ee24259fbdJorina Freya Gerken $(RM) $(COMPONENT_SRC)/*patched_1; \
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(CP) -r $(COMPONENT_SRC_1)/* $(COMPONENT_SRC)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
afa6ceaf4359ae437aaa6830949583143ace2752Christian Maeder# Add the two tarball paths to the paths to be cleaned
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederCLEAN_PATHS+= build $(COMPONENT_NAME_1).$(COMPONENT_VERSION_1) \
97812b7ce9860bf514a8822a63503451795dbc65Klaus Luettich $(COMPONENT_NAME).$(COMPONENT_VERSION)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# ksh.kshrc needs to be installed with the ksh package
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederCOMPONENT_POST_INSTALL_ACTION= \
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder @$(MKDIR) -p $(PROTO_DIR)/etc/; \
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder $(CP) ksh.kshrc $(PROTO_DIR)/etc/
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# Packaging information.
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder# Note how the AT&T "version letter symbol date" code is translated
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder# into the IPS version number:
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder#
08e5741dd8b6bf9b7419e89298e384e18bc57f64Christian Maeder# shell/ksh93@93.<letter representation>.<0 or 1>.<yymmdd>
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder#
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# <letter representation> is the numeric place in the alphabet of the
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# major version letter.
9df11f85fd7f8c4745d64464876e84ec4e263692Christian Maeder#
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers# <0 or 1> is the presence or absence of the "+" symbol in the AT&T
9df11f85fd7f8c4745d64464876e84ec4e263692Christian Maeder# version code. The "+" represents a point/bugfix release and would appear as
5b818f10e11fc79def1fdd5c8a080d64a6438d87Christian Maeder# "93<version letter>+" in the human readable form.
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers#
5d4038657f6a63e131f5804af2f7957b69e15a43Klaus Luettich# EXAMPLE:
5d4038657f6a63e131f5804af2f7957b69e15a43Klaus Luettich# AT&T Version string: 93u+ 2011-02-08
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder# IPS Version number: 93.21.1.20110208
c432483b64662e8db604a58758cd18ea7fa65659Christian Maeder#
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian MaederIPS_PKG_NAME= ksh93
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian MaederIPS_COMPONENT_VERSION= 93.21.0.20110208
8659594bb40eb5f3da5439692f0908300947191eSonja GröningIPS_HUMAN_VERSION= "93u 2011-02-08"
8c692d0cc44e7df93f58a3eed0d9774ba5908339Jorina Freya Gerken
eeb419aa20c97b4af973e97ee6ae77a8eed29e15Till Mossakowski# common targets
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckersbuild: $(BUILD_32_and_64)
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder
9e748851c150e1022fb952bab3315e869aaf0214Christian Maederinstall: $(INSTALL_32_and_64)
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maedertest: $(TEST_32_and_64)
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder
61fa0ac06ede811c7aad54ec4c4202346727368eChristian MaederBUILD_PKG_DEPENDENCIES= $(BUILD_TOOLS)
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder
61fa0ac06ede811c7aad54ec4c4202346727368eChristian MaederPKG_PROTO_DIRS += $(COMPONENT_DIR)/files
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maederinclude ../../make-rules/prep.mk
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maederinclude ../../make-rules/attpackagemake.mk
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maederinclude ../../make-rules/ips.mk
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maederinclude ../../make-rules/depend.mk
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder