Makefile revision 402
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User# CDDL HEADER START
75c0816e8295e180f4bc7f10db3d0d880383bc1cMark Andrews#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# The contents of this file are subject to the terms of the
4a14ce5ba00ab7bc55c99ffdcf59c7a4ab902721Automatic Updater# Common Development and Distribution License (the "License").
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# You may not use this file except in compliance with the License.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# or http://www.opensolaris.org/os/licensing.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# See the License for the specific language governing permissions
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# and limitations under the License.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# When distributing Covered Code, include this CDDL HEADER in each
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# If applicable, add the following below this CDDL HEADER, with the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# fields enclosed by brackets "[]" replaced with your own identifying
ea94d370123a5892f6c47a97f21d1b28d44bb168Tinderbox User# information: Portions Copyright [yyyy] [name of copyright owner]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# CDDL HEADER END
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
e21a2904f02a03fa06b6db04d348f65fe9c67b2bMark Andrews#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeininclude ../../make-rules/shared-macros.mk
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinPATH=$(dir $(CC)):/usr/gnu/bin:/usr/bin
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCOMPONENT_NAME= stdcxx
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCOMPONENT_VERSION= 4.2.1
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCOMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCOMPONENT_PROJECT_URL= http://stdcxx.apache.org/
71c66a876ecca77923638d3f94cc0783152b2f03Mark AndrewsCOMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCOMPONENT_ARCHIVE_HASH= sha1:38efa30958222b2733f22098b3db09161d2e6c8c
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCOMPONENT_ARCHIVE_URL= http://www.apache.org/dist/stdcxx/$(COMPONENT_ARCHIVE)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeininclude ../../make-rules/prep.mk
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeininclude ../../make-rules/configure.mk
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeininclude ../../make-rules/ips.mk
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinISA_PATCH_DIR_32 = $(WS_TOP)/components/stdcxx/isa_patches/$(MACH)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinISA_PATCH_DIR_64 = $(WS_TOP)/components/stdcxx/isa_patches/$(MACH64)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinISA_PATCH_DIR = $(ISA_PATCH_DIR_$(BITS))
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinISA_PATCHES_$(MACH) = \
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews $(ISA_PATCH_DIR)/1034-sunpro.config.$(MACH).patch \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(ISA_PATCH_DIR)/1035-GNUmakefile.tst.$(MACH).patch \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(ISA_PATCH_DIR)/1036-GNUmakefile.rwt.$(MACH).patch \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(ISA_PATCH_DIR)/1037-GNUmakefile.lib.$(MACH).patch \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(ISA_PATCH_DIR)/1038-GNUmakefile.ph.$(MACH).patch \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(ISA_PATCH_DIR)/1039-GNUmakefile.exm.$(MACH).patch \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(ISA_PATCH_DIR)/1040-GNUmakefile.cfg.$(MACH).patch \
fc74b733bf679e1b3fb1599e32d445dffe325208Tinderbox User $(ISA_PATCH_DIR)/1041-GNUmakefile.bin.$(MACH).patch
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinISA_PATCHES_$(MACH64) = \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(ISA_PATCH_DIR)/1034-sunpro.config.$(MACH64).patch \
fc74b733bf679e1b3fb1599e32d445dffe325208Tinderbox User $(ISA_PATCH_DIR)/1035-GNUmakefile.tst.$(MACH64).patch \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(ISA_PATCH_DIR)/1036-GNUmakefile.rwt.$(MACH64).patch \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(ISA_PATCH_DIR)/1037-GNUmakefile.lib.$(MACH64).patch \
fc74b733bf679e1b3fb1599e32d445dffe325208Tinderbox User $(ISA_PATCH_DIR)/1038-GNUmakefile.ph.$(MACH64).patch \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(ISA_PATCH_DIR)/1039-GNUmakefile.exm.$(MACH64).patch \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(ISA_PATCH_DIR)/1040-GNUmakefile.cfg.$(MACH64).patch \
fc74b733bf679e1b3fb1599e32d445dffe325208Tinderbox User $(ISA_PATCH_DIR)/1041-GNUmakefile.bin.$(MACH64).patch
fc74b733bf679e1b3fb1599e32d445dffe325208Tinderbox User
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinISA_PATCHES_32 = $(ISA_PATCHES_$(MACH))
fc74b733bf679e1b3fb1599e32d445dffe325208Tinderbox UserISA_PATCHES_64 = $(ISA_PATCHES_$(MACH64))
fc74b733bf679e1b3fb1599e32d445dffe325208Tinderbox UserISA_PATCHES = $(ISA_PATCHES_$(BITS))
fc74b733bf679e1b3fb1599e32d445dffe325208Tinderbox User
fc74b733bf679e1b3fb1599e32d445dffe325208Tinderbox UserPATCH_LEVEL = 1
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
fc74b733bf679e1b3fb1599e32d445dffe325208Tinderbox UserTOPDIR = $(COMPONENT_DIR)/$(COMPONENT_SRC)
fc74b733bf679e1b3fb1599e32d445dffe325208Tinderbox UserLOCAL_BUILDDIR = $(TOPDIR)/build
fc74b733bf679e1b3fb1599e32d445dffe325208Tinderbox UserMARG = -m$(BITS)
fc74b733bf679e1b3fb1599e32d445dffe325208Tinderbox UserPICFLAG = -KPIC -DPIC
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
fc74b733bf679e1b3fb1599e32d445dffe325208Tinderbox User# Please see the README file in this directory for a detailed explanation
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# about these flags, what they do, and why we need them.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinFLAGS_sparc = -m32 -xarch=sparcvis -xmemalign=8i
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinFLAGS_sparcv9 = -m64 -xarch=sparcvis -xmemalign=16i
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinFLAGS_i386 = -m32 -xarch=386
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinFLAGS_amd64 = -m64 -xarch=generic
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic UpdaterCFLAGS_sparc = -Xc -features=extinl -xvis=yes
3e80f25d33be14eaa4aca8b487d68808fa42a797Tinderbox UserCFLAGS_sparc += -xregs=no%appl -xbuiltin=%none -xO4 $(PICFLAG)
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic UpdaterCFLAGS_i386 = -Xc -features=extinl -xregs=no%frameptr
44d0f0256fbdce130a18655023c3b06bacacbd61Automatic UpdaterCFLAGS_i386 += -xO3 -xbuiltin=%none $(PICFLAG)
3e80f25d33be14eaa4aca8b487d68808fa42a797Tinderbox User
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic UpdaterCFLAGS_32 = $(FLAGS_$(MACH)) $(CFLAGS_$(MACH))
3e80f25d33be14eaa4aca8b487d68808fa42a797Tinderbox UserCFLAGS_64 = $(FLAGS_$(MACH64)) $(CFLAGS_$(MACH))
44d0f0256fbdce130a18655023c3b06bacacbd61Automatic Updater
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCXXFLAGS_sparc = -xvis=yes -xregs=no%appl -xO4
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCXXFLAGS_sparc += -xbuiltin=%none $(PICFLAG)
3e80f25d33be14eaa4aca8b487d68808fa42a797Tinderbox UserCXXFLAGS_i386 = -xregs=no%frameptr -xO3 -xbuiltin=%none $(PICFLAG)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCFLAGS_GENERIC += -xc99=%all
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCFLAGS_GENERIC += -mt -D_REENTRANT -DNDEBUG
3e80f25d33be14eaa4aca8b487d68808fa42a797Tinderbox UserCFLAGS_GENERIC += -D__EXTENSIONS__ -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCFLAGS_GENERIC += -D_XPG6 -D_XOPEN_SOURCE=600 -D_POSIX_PTHREAD_SEMANTICS
3e80f25d33be14eaa4aca8b487d68808fa42a797Tinderbox UserCFLAGS_GENERIC += -D_POSIX_C_SOURCE=200112L -D__XOPEN_OR_POSIX
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCFLAGS_GENERIC += -D_STRICT_STDC -D_STRICT_STDC__ -D_STDC_C99 -D_ISOC99_SOURCE
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCFLAGS_GENERIC += -D_IN_BUILD_STDCXX
3e80f25d33be14eaa4aca8b487d68808fa42a797Tinderbox UserCFLAGS_GENERIC += $(CFLAGS_$(BITS))
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCFLAGS = $(CFLAGS_GENERIC)
3e80f25d33be14eaa4aca8b487d68808fa42a797Tinderbox User
3e80f25d33be14eaa4aca8b487d68808fa42a797Tinderbox UserCXXFLAGS_GENERIC = -library=Cstd -library=Crun -norunpath
3e80f25d33be14eaa4aca8b487d68808fa42a797Tinderbox UserCXXFLAGS_GENERIC += -Qoption ccfe ++boolflag:sunwcch=false
7208386cd37a2092c70eddf80cf29519b16c4c80Mark AndrewsCXXFLAGS_GENERIC += -Qoption ccfe +d2,-xgeninl=system
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCXXFLAGS_GENERIC += -Qoption ccfe -expand=10000
507151045be68c671ffd4e2f37e17cdfa0376fc4Automatic UpdaterCXXFLAGS_GENERIC += -features=except,rtti,export,extensions,nestedaccess,tmplife,tmplrefstatic
507151045be68c671ffd4e2f37e17cdfa0376fc4Automatic UpdaterCXXFLAGS_GENERIC += -instances=global
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCXXFLAGS_GENERIC += -template=geninlinefuncs
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCXXFLAGS_GENERIC += -verbose=template
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCXXFLAGS_GENERIC += $(CXXFLAGS_$(MACH))
71c66a876ecca77923638d3f94cc0783152b2f03Mark AndrewsCXXFLAGS_GENERIC += -xlang=c99
71c66a876ecca77923638d3f94cc0783152b2f03Mark AndrewsCXXFLAGS_GENERIC += -xbuiltin=%none
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCXXFLAGS_GENERIC += -xinline=
71c66a876ecca77923638d3f94cc0783152b2f03Mark AndrewsCXXFLAGS_GENERIC += -xlibmieee
71c66a876ecca77923638d3f94cc0783152b2f03Mark AndrewsCXXFLAGS_GENERIC += -xustr=ascii_utf16_ushort
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCXXFLAGS_GENERIC += -z ignore $(PICFLAG)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCXXFLAGS_GENERIC += -mt -D_REENTRANT -DNDEBUG
71c66a876ecca77923638d3f94cc0783152b2f03Mark AndrewsCXXFLAGS_GENERIC += -D_IN_BUILD_STDCXX
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCXXFLAGS_GENERIC += -D__EXTENSIONS__
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCXXFLAGS_GENERIC += -D_LARGEFILE_SOURCE
71c66a876ecca77923638d3f94cc0783152b2f03Mark AndrewsCXXFLAGS_GENERIC += -D_FILE_OFFSET_BITS=64
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCXXFLAGS_GENERIC += -D_XOPEN_SOURCE=500
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCXXFLAGS_GENERIC += -D_XPG5
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCXXFLAGS_GENERIC += -D_POSIX_PTHREAD_SEMANTICS -s
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCXXFLAGS_GENERIC += +w2 -errtags -erroff=hidef
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCXXFLAGS_32 = $(FLAGS_$(MACH))
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCXXFLAGS_64 = $(FLAGS_$(MACH64))
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
71c66a876ecca77923638d3f94cc0783152b2f03Mark AndrewsCXXFLAGS = $(CXXFLAGS_$(BITS)) $(CXXFLAGS_$(MACH)) $(CXXFLAGS_GENERIC)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCPPFLAGS = -I$(TOPDIR)/include/ansi
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCPPFLAGS += -I$(TOPDIR)/include/tr1
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCPPFLAGS += -I$(TOPDIR)/include
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# -mt will automatically pass -lthread unless we pass -lpthread
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# on link line. -lthread causes regressions. see man CC(1) and -mt.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# -lumem must be passed before -lc.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinLDFLAGS = -lpthread -lumem -lm -lc -s -z ignore
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# We cannot have -B direct
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinLD_OPTIONS = -M /usr/lib/ld/map.noexstk -M /usr/lib/ld/map.noexdata
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinLD_OPTIONS += -M /usr/lib/ld/map.pagealign
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinLD_OPTIONS += -lpthread -lumem -lm -lc -s -z ignore
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# If I name it NLSPATH, gmake insists on getting its value from the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# running environment. Also, it all has to be on one line. += prepends
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# a whitespace.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinBUILD_NLSPATH = :%N.cat:/usr/lib/locale/%L/%N.cat:/usr/share/locale/%L/%N.cat:$(BUILD_DIR_$(BITS))/lib/rwstderr.cat
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCONFIGURE_ENV = CC="$(CC)"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCONFIGURE_ENV += CXX="$(CXX)"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCONFIGURE_ENV += CFLAGS="$(CFLAGS)"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCONFIGURE_ENV += CPPFLAGS="$(CPPFLAGS)"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCONFIGURE_ENV += CXXFLAGS="$(CXXFLAGS)"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCONFIGURE_ENV += LDFLAGS="$(LDFLAGS)"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCONFIGURE_ENV += LD_OPTIONS="$(LD_OPTIONS)"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCONFIGURE_ENV += LD="$(CXX) $(CXXFLAGS) $(LDFLAGS)"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCONFIGURE_ENV += MAKE="$(MAKE)"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCONFIGURE_ENV += TOPDIR="$(TOPDIR)"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCONFIGURE_ENV += MAKEFLAGS=""
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCONFIGURE_OPTIONS = $(MARG)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCONFIGURE_OPTIONS += -topdir=$(TOPDIR)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCONFIGURE_OPTIONS += -builddir=$(LOCAL_BUILDDIR)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinGCP = /usr/gnu/bin/cp
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark AndrewsCOMPONENT_BUILD_ENV = MAKEFLAGS=""
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark AndrewsCOMPONENT_BUILD_ENV += MAKELEVEL=""
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark AndrewsCOMPONENT_BUILD_ENV += SHELL="/bin/bash"
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark AndrewsCOMPONENT_BUILD_ENV += NLSPATH="$(BUILD_NLSPATH)"
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark AndrewsPKG_PROTO_DIRS += $(COMPONENT_DIR)/$(COMPONENT_SRC)-32
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark AndrewsPKG_PROTO_DIRS += $(COMPONENT_DIR)/$(COMPONENT_SRC)-64
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
b05bdb520d83f7ecaad708fe305268c3420be01dMark AndrewsCOMPONENT_PREP_ACTION = \
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews ( if test -f $(TOPDIR)/.unpacked ; then \
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews cd $(TOPDIR) ; \
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews else $(UNPACK) $(UNPACK_ARGS) $(COMPONENT_ARCHIVE) ; \
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews $(TOUCH) $(TOPDIR)/.unpacked ; \
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews cd $(TOPDIR) ; \
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews fi ; \
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews list='$(ISA_PATCHES)' ; for f in $$list ; do \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(GPATCH) $(GPATCH_FLAGS) <$$f ; \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein done )
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCOMPONENT_PRE_CONFIGURE_ACTION = \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein ( if test -f $(TOPDIR)/.unpacked ; then \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein cd $(TOPDIR) ; \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein else $(UNPACK) $(UNPACK_ARGS) $(COMPONENT_ARCHIVE) ; \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(TOUCH) $(TOPDIR)/.unpacked ; \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein cd $(TOPDIR) ; \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein list1='$(ISA_PATCHES)' ; for f in $$list1 ; do \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(GPATCH) $(GPATCH_FLAGS) <$$f ; \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein done ; \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein list2='$(PATCHES)' ; for f in $$list2 ; do \
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater $(GPATCH) $(GPATCH_FLAGS) <$(COMPONENT_DIR)/$$f ; \
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater done ; \
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater $(TOUCH) $(TOPDIR)/.patched ; \
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater fi ; \
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater $(CP) -Rp $(COMPONENT_DIR)/Solaris . ; \
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater $(CP) -p ./Solaris/configure . ; \
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater $(TOUCH) -acm ./configure ; \
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater $(CHMOD) 0755 ./configure )
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic UpdaterCOMPONENT_POST_CONFIGURE_ACTION = \
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater ( $(CLONEY) $(TOPDIR) $(@D) ; \
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater find ./$(COMPONENT_SRC) -type f -name "*.~1~" \
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater -exec chmod 0644 {} \; > /dev/null 2>&1 )
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCOMPONENT_POST_BUILD_ACTION = \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein ( cd $(BUILD_DIR_$(BITS))/build ; \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(GMAKE) locales ; \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein cd $(TOPDIR) ; \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(CP) -p $(COMPONENT_DIR)/Solaris/fix_nls_symlinks.sh . ; \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(CHMOD) 0755 fix_nls_symlinks.sh ; \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(SHELL) ./fix_nls_symlinks.sh ; \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein cd $(COMPONENT_DIR) ; \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(GCP) -rpd $(COMPONENT_SRC) $(COMPONENT_SRC)-$(BITS) ; \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(RM) -rf $(COMPONENT_SRC) )
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinbuild: $(BUILD_32) $(BUILD_64)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeininstall: $(BUILD_DIR_32)/.built $(BUILD_DIR_64)/.built
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(CP) $(COMPONENT_DIR)/Solaris/install.sh $(COMPONENT_DIR)/
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(CHMOD) 0755 $(COMPONENT_DIR)/install.sh
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(MKDIR) $(PROTO_DIR)/usr
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein ( $(SHELL) $(COMPONENT_DIR)/install.sh \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein -prefix=$(PROTO_DIR)/usr \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein -builddir=$(BUILD_DIR_32) \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein -componentdir=$(COMPONENT_DIR) \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein -componentsrc=$(COMPONENT_SRC) \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein -srcdir=$(TOPDIR)-32 )
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein ( $(SHELL) $(COMPONENT_DIR)/install.sh \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein -prefix=$(PROTO_DIR)/usr \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein -builddir=$(BUILD_DIR_64) \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein -componentdir=$(COMPONENT_DIR) \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein -componentsrc=$(COMPONENT_SRC) \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein -srcdir=$(TOPDIR)-64 \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein -mach64=$(MACH64) )
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein test -d $(TOPDIR) || $(MKDIR) $(TOPDIR)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeintest:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein test -d $(BUILD_DIR_32) || echo "$(BUILD_DIR_32) does not exist!"
ceeb18e6907a10547859faa340ecad83bedae90cMark Andrews test -d $(BUILD_DIR_64) || echo "$(BUILD_DIR_64) does not exist!"
ceeb18e6907a10547859faa340ecad83bedae90cMark Andrews $(CP) -p $(COMPONENT_DIR)/Solaris/prep_build_area.sh \
ceeb18e6907a10547859faa340ecad83bedae90cMark Andrews $(COMPONENT_DIR)/
ceeb18e6907a10547859faa340ecad83bedae90cMark Andrews $(CHMOD) 0755 $(COMPONENT_DIR)/prep_build_area.sh
ceeb18e6907a10547859faa340ecad83bedae90cMark Andrews $(SHELL) $(COMPONENT_DIR)/prep_build_area.sh -m32 \
ceeb18e6907a10547859faa340ecad83bedae90cMark Andrews -builddir=$(BUILD_DIR_32) \
ceeb18e6907a10547859faa340ecad83bedae90cMark Andrews -srcdir=$(TOPDIR)-32
ceeb18e6907a10547859faa340ecad83bedae90cMark Andrews $(SHELL) $(COMPONENT_DIR)/prep_build_area.sh -m64 \
ceeb18e6907a10547859faa340ecad83bedae90cMark Andrews -builddir=$(BUILD_DIR_64) \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein -srcdir=$(TOPDIR)-64
ceeb18e6907a10547859faa340ecad83bedae90cMark Andrews ( cd $(BUILD_DIR_32)/build/tests ; \
ceeb18e6907a10547859faa340ecad83bedae90cMark Andrews $(CP) -p $(COMPONENT_DIR)/Solaris/run_tests.sh . ; \
ceeb18e6907a10547859faa340ecad83bedae90cMark Andrews $(CHMOD) 0755 run_tests.sh ; \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(SHELL) ./run_tests.sh > \
ceeb18e6907a10547859faa340ecad83bedae90cMark Andrews $(COMPONENT_DIR)/runtests-$(MACH).out 2>&1 )
ceeb18e6907a10547859faa340ecad83bedae90cMark Andrews ( cd $(BUILD_DIR_64)/build/tests ; \
ceeb18e6907a10547859faa340ecad83bedae90cMark Andrews $(CP) -p $(COMPONENT_DIR)/Solaris/run_tests.sh . ; \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(CHMOD) 0755 run_tests.sh ; \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(SHELL) ./run_tests.sh > \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(COMPONENT_DIR)/runtests-$(MACH64).out 2>&1 )
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinclean::
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(RM) -r $(COMPONENT_SRC) $(COMPONENT_SRC)-32 $(COMPONENT_SRC)-64
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(RM) -f *.sed *.out
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinBUILD_PKG_DEPENDENCIES = $(BUILD_TOOLS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeininclude ../../make-rules/depend.mk
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein