Makefile revision 2238
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington#
7e5b2100ea65658a7ec3795919b4ecd29a6f118aMark Andrews# CDDL HEADER START
7e5b2100ea65658a7ec3795919b4ecd29a6f118aMark Andrews#
72cbea34c935116215846c88a94a3c21ec8c1827Mark Andrews# The contents of this file are subject to the terms of the
4e3c7a22ea3219f680e09540ee12bb326fc2ccedMark Andrews# Common Development and Distribution License (the "License").
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark Andrews# You may not use this file except in compliance with the License.
46e873c835bf7d9ec3e1097e0aceb8db5b1ae93aMark Andrews#
a3b428812703d22a605a9f882e71ed65f0ffdc65Mark Andrews# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews# or http://www.opensolaris.org/os/licensing.
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# See the License for the specific language governing permissions
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# and limitations under the License.
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews#
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# When distributing Covered Code, include this CDDL HEADER in each
01bf5871f8861eb805dd8ca79bdb9b0b9e4e6a5eMark Andrews# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
c718d15a9a95054ee3c71540c02335426071fc6dMark Andrews# If applicable, add the following below this CDDL HEADER, with the
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews# fields enclosed by brackets "[]" replaced with your own identifying
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# information: Portions Copyright [yyyy] [name of copyright owner]
c718d15a9a95054ee3c71540c02335426071fc6dMark Andrews#
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# CDDL HEADER END
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews#
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
c718d15a9a95054ee3c71540c02335426071fc6dMark Andrews#
c718d15a9a95054ee3c71540c02335426071fc6dMark Andrews
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# we really need to use studio so we don't like that
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark Andrews# parfait is g++ in disguise
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafssonexport PARFAIT_BUILD=no
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark Andrews
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark Andrewsinclude ../../make-rules/shared-macros.mk
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark AndrewsPATH=$(dir $(CC)):/usr/gnu/bin:/usr/bin
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
a3b428812703d22a605a9f882e71ed65f0ffdc65Mark AndrewsCOMPONENT_NAME= stdcxx
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsCOMPONENT_VERSION= 4.2.1
c718d15a9a95054ee3c71540c02335426071fc6dMark AndrewsCOMPONENT_PROJECT_URL= http://stdcxx.apache.org/
c6d4f781529d2f28693546b25b2967d44ec89e60Mark AndrewsCOMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsCOMPONENT_PROJECT_URL= http://stdcxx.apache.org/
c718d15a9a95054ee3c71540c02335426071fc6dMark AndrewsCOMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsCOMPONENT_ARCHIVE_HASH= \
4038ab55037184d76153afd3c469aa8c85adf85dMark Andrews sha256:00854223cbd947bf1bd85d9dabd1b2829706d9062e0007d5022082a5e4b7e15e
ed178efa9ab8f813538fce4ff603b81ded9f1799Mark AndrewsCOMPONENT_ARCHIVE_URL= http://www.apache.org/dist/stdcxx/$(COMPONENT_ARCHIVE)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsCOMPONENT_BUGDB= library/libstdcxx
605bd686e437162b5ab65ac4e7c1be0bba1886ddMark Andrews
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsCLOBBER_PATHS += install.sh
ede29aeb412c5448ab9a2028763ae08e7887ca74Mark Andrews
1eb1e1e838d2ea00b166c918bf50764a95826be8Mark Andrewsinclude ../../make-rules/prep.mk
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewsinclude ../../make-rules/configure.mk
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark Andrewsinclude ../../make-rules/ips.mk
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark AndrewsISA_PATCH_DIR_32 = $(WS_TOP)/components/stdcxx/isa_patches/$(MACH)
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark AndrewsISA_PATCH_DIR_64 = $(WS_TOP)/components/stdcxx/isa_patches/$(MACH64)
91216cff91b34c9ff6e846dc23f248219cafe660Andreas GustafssonISA_PATCH_DIR = $(ISA_PATCH_DIR_$(BITS))
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark Andrews
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark AndrewsISA_PATCHES_$(MACH) = \
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson $(ISA_PATCH_DIR)/1034-sunpro.config.$(MACH).patch \
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark Andrews $(ISA_PATCH_DIR)/1035-GNUmakefile.tst.$(MACH).patch \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(ISA_PATCH_DIR)/1036-GNUmakefile.rwt.$(MACH).patch \
26a77b80bb7ee886c6fa704348d5e80a011d8811Mark Andrews $(ISA_PATCH_DIR)/1037-GNUmakefile.lib.$(MACH).patch \
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews $(ISA_PATCH_DIR)/1038-GNUmakefile.ph.$(MACH).patch \
7e5b2100ea65658a7ec3795919b4ecd29a6f118aMark Andrews $(ISA_PATCH_DIR)/1039-GNUmakefile.exm.$(MACH).patch \
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews $(ISA_PATCH_DIR)/1040-GNUmakefile.cfg.$(MACH).patch \
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews $(ISA_PATCH_DIR)/1041-GNUmakefile.bin.$(MACH).patch
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
eaccf5e805405de257b5a4840256c580fefe00e3Mark AndrewsISA_PATCHES_$(MACH64) = \
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews $(ISA_PATCH_DIR)/1034-sunpro.config.$(MACH64).patch \
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews $(ISA_PATCH_DIR)/1035-GNUmakefile.tst.$(MACH64).patch \
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews $(ISA_PATCH_DIR)/1036-GNUmakefile.rwt.$(MACH64).patch \
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews $(ISA_PATCH_DIR)/1037-GNUmakefile.lib.$(MACH64).patch \
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark Andrews $(ISA_PATCH_DIR)/1038-GNUmakefile.ph.$(MACH64).patch \
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson $(ISA_PATCH_DIR)/1039-GNUmakefile.exm.$(MACH64).patch \
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark Andrews $(ISA_PATCH_DIR)/1040-GNUmakefile.cfg.$(MACH64).patch \
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark Andrews $(ISA_PATCH_DIR)/1041-GNUmakefile.bin.$(MACH64).patch
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark AndrewsISA_PATCHES_32 = $(ISA_PATCHES_$(MACH))
91216cff91b34c9ff6e846dc23f248219cafe660Andreas GustafssonISA_PATCHES_64 = $(ISA_PATCHES_$(MACH64))
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark AndrewsISA_PATCHES = $(ISA_PATCHES_$(BITS))
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
c25080dc50542213058c240226c9f342186e6285Mark AndrewsPATCH_LEVEL = 1
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews
46e873c835bf7d9ec3e1097e0aceb8db5b1ae93aMark AndrewsTOPDIR = $(COMPONENT_DIR)/$(COMPONENT_SRC)
46e873c835bf7d9ec3e1097e0aceb8db5b1ae93aMark AndrewsLOCAL_BUILDDIR = $(TOPDIR)/build
642e0716c8b4ab82ebc8e60f94c9e897ee89f19aMark AndrewsMARG = -m$(BITS)
605bd686e437162b5ab65ac4e7c1be0bba1886ddMark AndrewsPICFLAG = -KPIC -DPIC
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews
413988c8166976498250c0ebb2e3a645d0366bd3Mark Andrews# Please see the README file in this directory for a detailed explanation
605bd686e437162b5ab65ac4e7c1be0bba1886ddMark Andrews# about these flags, what they do, and why we need them.
c25080dc50542213058c240226c9f342186e6285Mark AndrewsFLAGS_sparc = -m32 -xarch=sparcvis -xmemalign=8i
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark AndrewsFLAGS_sparcv9 = -m64 -xarch=sparcvis -xmemalign=16i
413988c8166976498250c0ebb2e3a645d0366bd3Mark AndrewsFLAGS_i386 = -m32 -xarch=386
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark AndrewsFLAGS_amd64 = -m64 -xarch=generic
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark AndrewsCFLAGS_sparc = -Xc -features=extinl -xvis=yes
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark AndrewsCFLAGS_sparc += -Qoption cg -xregs=no%appl -xbuiltin=%none -xO4 $(PICFLAG)
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark AndrewsCFLAGS_i386 = -Xc -features=extinl -xregs=no%frameptr
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark AndrewsCFLAGS_i386 += -xO3 -xbuiltin=%none $(PICFLAG)
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark AndrewsCFLAGS_32 = $(FLAGS_$(MACH)) $(CFLAGS_$(MACH))
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark AndrewsCFLAGS_64 = $(FLAGS_$(MACH64)) $(CFLAGS_$(MACH))
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews
642e0716c8b4ab82ebc8e60f94c9e897ee89f19aMark AndrewsCXXFLAGS_sparc = -xvis=yes -xregs=no%appl -xO4
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark AndrewsCXXFLAGS_sparc += -xbuiltin=%none $(PICFLAG)
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark AndrewsCXXFLAGS_i386 = -xregs=no%frameptr -xO3 -xbuiltin=%none $(PICFLAG)
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark AndrewsCFLAGS_GENERIC += -xc99=%all
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark AndrewsCFLAGS_GENERIC += -mt -D_REENTRANT -DNDEBUG
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark AndrewsCFLAGS_GENERIC += -D__EXTENSIONS__ -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark AndrewsCFLAGS_GENERIC += -D_XPG6 -D_XOPEN_SOURCE=600 -D_POSIX_PTHREAD_SEMANTICS
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark AndrewsCFLAGS_GENERIC += -D_POSIX_C_SOURCE=200112L -D__XOPEN_OR_POSIX
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark AndrewsCFLAGS_GENERIC += -D_STRICT_STDC -D_STRICT_STDC__ -D_STDC_C99 -D_ISOC99_SOURCE
c25080dc50542213058c240226c9f342186e6285Mark AndrewsCFLAGS_GENERIC += -D_IN_BUILD_STDCXX
413988c8166976498250c0ebb2e3a645d0366bd3Mark AndrewsCFLAGS_GENERIC += $(CFLAGS_$(BITS))
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark AndrewsCFLAGS = $(CFLAGS_GENERIC)
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark AndrewsCXXFLAGS_GENERIC = -library=Cstd -library=Crun -norunpath
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark AndrewsCXXFLAGS_GENERIC += -Qoption ccfe ++boolflag:sunwcch=false
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark AndrewsCXXFLAGS_GENERIC += -Qoption ccfe +d2,-xgeninl=system
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark AndrewsCXXFLAGS_GENERIC += -Qoption ccfe -expand=10000
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark AndrewsCXXFLAGS_GENERIC += -features=except,rtti,export,extensions,nestedaccess,tmplife,tmplrefstatic
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark AndrewsCXXFLAGS_GENERIC += -instances=global
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark AndrewsCXXFLAGS_GENERIC += -template=geninlinefuncs
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark AndrewsCXXFLAGS_GENERIC += -verbose=template
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsCXXFLAGS_GENERIC += $(CXXFLAGS_$(MACH))
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark AndrewsCXXFLAGS_GENERIC += -xlang=c99
ed178efa9ab8f813538fce4ff603b81ded9f1799Mark AndrewsCXXFLAGS_GENERIC += -xbuiltin=%none
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsCXXFLAGS_GENERIC += -xinline=
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark AndrewsCXXFLAGS_GENERIC += -xlibmieee
46e873c835bf7d9ec3e1097e0aceb8db5b1ae93aMark AndrewsCXXFLAGS_GENERIC += -xustr=ascii_utf16_ushort
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsCXXFLAGS_GENERIC += -z ignore $(PICFLAG)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsCXXFLAGS_GENERIC += -mt -D_REENTRANT -DNDEBUG
46e873c835bf7d9ec3e1097e0aceb8db5b1ae93aMark AndrewsCXXFLAGS_GENERIC += -D_IN_BUILD_STDCXX
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsCXXFLAGS_GENERIC += -D__EXTENSIONS__
ed178efa9ab8f813538fce4ff603b81ded9f1799Mark AndrewsCXXFLAGS_GENERIC += -D_LARGEFILE_SOURCE
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsCXXFLAGS_GENERIC += -D_FILE_OFFSET_BITS=64
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark AndrewsCXXFLAGS_GENERIC += -D_XOPEN_SOURCE=500
46e873c835bf7d9ec3e1097e0aceb8db5b1ae93aMark AndrewsCXXFLAGS_GENERIC += -D_XPG5
46e873c835bf7d9ec3e1097e0aceb8db5b1ae93aMark AndrewsCXXFLAGS_GENERIC += -D_POSIX_PTHREAD_SEMANTICS -s
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark AndrewsCXXFLAGS_GENERIC += +w2 -errtags -erroff=hidef
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews
605bd686e437162b5ab65ac4e7c1be0bba1886ddMark AndrewsCXXFLAGS_32 = $(FLAGS_$(MACH))
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonCXXFLAGS_64 = $(FLAGS_$(MACH64))
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark AndrewsCXXFLAGS = $(CXXFLAGS_$(BITS)) $(CXXFLAGS_$(MACH)) $(CXXFLAGS_GENERIC)
642e0716c8b4ab82ebc8e60f94c9e897ee89f19aMark Andrews
1eb1e1e838d2ea00b166c918bf50764a95826be8Mark AndrewsCPPFLAGS = -I$(TOPDIR)/include/ansi
068a66979695c77359e7a9181bb3f831c965b21cMark AndrewsCPPFLAGS += -I$(TOPDIR)/include/tr1
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark AndrewsCPPFLAGS += -I$(TOPDIR)/include
ea206aebcafe1ed5d470dd99daab9a1cedc81c7cMark Andrews
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson# -mt will automatically pass -lthread unless we pass -lpthread
ea206aebcafe1ed5d470dd99daab9a1cedc81c7cMark Andrews# on link line. -lthread causes regressions. see man CC(1) and -mt.
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews# -lumem must be passed before -lc.
ca12f7f4cf72e2368ee946f3eb4915ab73576cdcMark AndrewsLDFLAGS = -lpthread -lumem -lm -lc -s -z ignore
7c40ffd67bd1e73907f83a79a6ff8c635f4a4a74Mark Andrews
1eb1e1e838d2ea00b166c918bf50764a95826be8Mark Andrews# We cannot have -B direct
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonLD_OPTIONS = -M /usr/lib/ld/map.noexstk -M /usr/lib/ld/map.noexdata
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark AndrewsLD_OPTIONS += -M /usr/lib/ld/map.pagealign
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsLD_OPTIONS += -lpthread -lumem -lm -lc -s -z ignore
c718d15a9a95054ee3c71540c02335426071fc6dMark Andrews
605bd686e437162b5ab65ac4e7c1be0bba1886ddMark Andrews# If I name it NLSPATH, gmake insists on getting its value from the
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# running environment. Also, it all has to be on one line. += prepends
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark Andrews# a whitespace.
91216cff91b34c9ff6e846dc23f248219cafe660Andreas GustafssonBUILD_NLSPATH = :%N.cat:/usr/lib/locale/%L/%N.cat:/usr/share/locale/%L/%N.cat:$(BUILD_DIR_$(BITS))/lib/rwstderr.cat
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark Andrews
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonCONFIGURE_ENV = CC="$(CC)"
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark AndrewsCONFIGURE_ENV += CXX="$(CXX)"
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark AndrewsCONFIGURE_ENV += CFLAGS="$(CFLAGS)"
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsCONFIGURE_ENV += CPPFLAGS="$(CPPFLAGS)"
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark AndrewsCONFIGURE_ENV += CXXFLAGS="$(CXXFLAGS)"
ed178efa9ab8f813538fce4ff603b81ded9f1799Mark AndrewsCONFIGURE_ENV += LDFLAGS="$(LDFLAGS)"
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsCONFIGURE_ENV += LD_OPTIONS="$(LD_OPTIONS)"
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsCONFIGURE_ENV += LD="$(CXX) $(CXXFLAGS) $(LDFLAGS)"
5752b9e296f14034f103149f18188770c2cc5239Mark AndrewsCONFIGURE_ENV += MAKE="$(MAKE)"
068a66979695c77359e7a9181bb3f831c965b21cMark AndrewsCONFIGURE_ENV += TOPDIR="$(TOPDIR)"
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsCONFIGURE_ENV += MAKEFLAGS=""
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsCONFIGURE_OPTIONS = $(MARG)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsCONFIGURE_OPTIONS += -topdir=$(TOPDIR)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsCONFIGURE_OPTIONS += -builddir=$(LOCAL_BUILDDIR)
e076d0c88be69de7c190ab924d095e69d2e11f7aAndreas Gustafsson
068a66979695c77359e7a9181bb3f831c965b21cMark AndrewsGCP = /usr/gnu/bin/cp
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark AndrewsCOMPONENT_BUILD_ENV = MAKEFLAGS=""
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark AndrewsCOMPONENT_BUILD_ENV += MAKELEVEL=""
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark AndrewsCOMPONENT_BUILD_ENV += SHELL="/bin/bash"
91216cff91b34c9ff6e846dc23f248219cafe660Andreas GustafssonCOMPONENT_BUILD_ENV += NLSPATH="$(BUILD_NLSPATH)"
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark Andrews
068a66979695c77359e7a9181bb3f831c965b21cMark AndrewsPKG_PROTO_DIRS += $(COMPONENT_DIR)/$(COMPONENT_SRC)-32
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark AndrewsPKG_PROTO_DIRS += $(COMPONENT_DIR)/$(COMPONENT_SRC)-64
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson
821d2613356f81e5bb5c107288d6d5cf35c2a1e8Mark AndrewsCOMPONENT_PREP_ACTION = \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington ( if test -f $(TOPDIR)/.unpacked ; then \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington cd $(TOPDIR) ; \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington else $(UNPACK) $(UNPACK_ARGS) $(COMPONENT_ARCHIVE) ; \
eaccf5e805405de257b5a4840256c580fefe00e3Mark Andrews $(TOUCH) $(TOPDIR)/.unpacked ; \
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews cd $(TOPDIR) ; \
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews fi ; \
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews list='$(ISA_PATCHES)' ; for f in $$list ; do \
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews $(GPATCH) $(GPATCH_FLAGS) <$$f ; \
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews done )
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark AndrewsCOMPONENT_PRE_CONFIGURE_ACTION = \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington ( if test -f $(TOPDIR)/.unpacked ; then \
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark Andrews cd $(TOPDIR) ; \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington else $(UNPACK) $(UNPACK_ARGS) $(COMPONENT_ARCHIVE) ; \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(TOUCH) $(TOPDIR)/.unpacked ; \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington cd $(TOPDIR) ; \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington list1='$(ISA_PATCHES)' ; for f in $$list1 ; do \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(GPATCH) $(GPATCH_FLAGS) <$$f ; \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington done ; \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington list2='$(PATCHES)' ; for f in $$list2 ; do \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(GPATCH) $(GPATCH_FLAGS) <$(COMPONENT_DIR)/$$f ; \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington done ; \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(TOUCH) $(TOPDIR)/.patched ; \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington fi ; \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(CP) -Rp $(COMPONENT_DIR)/Solaris . ; \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(CP) -p ./Solaris/configure . ; \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(TOUCH) -acm ./configure ; \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(CHMOD) 0755 ./configure )
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonCOMPONENT_POST_CONFIGURE_ACTION = \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington ( $(CLONEY) $(TOPDIR) $(@D) ; \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington find ./$(COMPONENT_SRC) -type f -name "*.~1~" \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington -exec chmod 0644 {} \; > /dev/null 2>&1 )
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonCOMPONENT_POST_BUILD_ACTION = \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington ( cd $(BUILD_DIR_$(BITS))/build ; \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(GMAKE) locales ; \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington cd $(TOPDIR) ; \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(CP) -p $(COMPONENT_DIR)/Solaris/fix_nls_symlinks.sh . ; \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(CHMOD) 0755 fix_nls_symlinks.sh ; \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(SHELL) ./fix_nls_symlinks.sh ; \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington cd $(COMPONENT_DIR) ; \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(GCP) -rpd $(COMPONENT_SRC) $(COMPONENT_SRC)-$(BITS) ; \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) -rf $(COMPONENT_SRC) )
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonbuild: $(BUILD_32) $(BUILD_64)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtoninstall: $(BUILD_DIR_32)/.built $(BUILD_DIR_64)/.built
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(CP) $(COMPONENT_DIR)/Solaris/install.sh $(COMPONENT_DIR)/
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(CHMOD) 0755 $(COMPONENT_DIR)/install.sh
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(MKDIR) $(PROTO_DIR)/usr
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington ( $(SHELL) $(COMPONENT_DIR)/install.sh \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington -prefix=$(PROTO_DIR)/usr \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington -builddir=$(BUILD_DIR_32) \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington -componentdir=$(COMPONENT_DIR) \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington -componentsrc=$(COMPONENT_SRC) \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington -srcdir=$(TOPDIR)-32 )
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington ( $(SHELL) $(COMPONENT_DIR)/install.sh \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington -prefix=$(PROTO_DIR)/usr \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington -builddir=$(BUILD_DIR_64) \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington -componentdir=$(COMPONENT_DIR) \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington -componentsrc=$(COMPONENT_SRC) \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington -srcdir=$(TOPDIR)-64 \
bf54ac86eeddce16b67c525d38d1096cc956f478Mark Andrews -mach64=$(MACH64) )
eaccf5e805405de257b5a4840256c580fefe00e3Mark Andrews test -d $(TOPDIR) || $(MKDIR) $(TOPDIR)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellingtontest:
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington test -d $(BUILD_DIR_32) || echo "$(BUILD_DIR_32) does not exist!"
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington test -d $(BUILD_DIR_64) || echo "$(BUILD_DIR_64) does not exist!"
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington $(CP) -p $(COMPONENT_DIR)/Solaris/prep_build_area.sh \
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington $(COMPONENT_DIR)/
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(CHMOD) 0755 $(COMPONENT_DIR)/prep_build_area.sh
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(SHELL) $(COMPONENT_DIR)/prep_build_area.sh -m32 \
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington -builddir=$(BUILD_DIR_32) \
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington -srcdir=$(TOPDIR)-32
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington $(SHELL) $(COMPONENT_DIR)/prep_build_area.sh -m64 \
75216e007570b8ea36b3ac9cca096bf70c0ca6f6Mark Andrews -builddir=$(BUILD_DIR_64) \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington -srcdir=$(TOPDIR)-64
bf54ac86eeddce16b67c525d38d1096cc956f478Mark Andrews ( cd $(BUILD_DIR_32)/build/tests ; \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(CP) -p $(COMPONENT_DIR)/Solaris/run_tests.sh . ; \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(CHMOD) 0755 run_tests.sh ; \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(SHELL) ./run_tests.sh > \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(COMPONENT_DIR)/runtests-$(MACH).out 2>&1 )
bf54ac86eeddce16b67c525d38d1096cc956f478Mark Andrews ( cd $(BUILD_DIR_64)/build/tests ; \
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews $(CP) -p $(COMPONENT_DIR)/Solaris/run_tests.sh . ; \
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews $(CHMOD) 0755 run_tests.sh ; \
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews $(SHELL) ./run_tests.sh > \
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews $(COMPONENT_DIR)/runtests-$(MACH64).out 2>&1 )
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrewsclean::
eaccf5e805405de257b5a4840256c580fefe00e3Mark Andrews $(RM) -r $(COMPONENT_SRC) $(COMPONENT_SRC)-32 $(COMPONENT_SRC)-64
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews $(RM) -f *.sed *.out
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews
eaccf5e805405de257b5a4840256c580fefe00e3Mark AndrewsBUILD_PKG_DEPENDENCIES = $(BUILD_TOOLS)
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrewsinclude ../../make-rules/depend.mk
a9789e288ee11ae4315e27235c33bae5405bd7c4Mark Andrews
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews