Makefile revision 3718
e2f644c80c2428330032af20658279d458938f20Derek Gathright# CDDL HEADER START
e2f644c80c2428330032af20658279d458938f20Derek Gathright# The contents of this file are subject to the terms of the
e2f644c80c2428330032af20658279d458938f20Derek Gathright# Common Development and Distribution License (the "License").
e2f644c80c2428330032af20658279d458938f20Derek Gathright# You may not use this file except in compliance with the License.
e2f644c80c2428330032af20658279d458938f20Derek Gathright# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
e2f644c80c2428330032af20658279d458938f20Derek Gathright# or http://www.opensolaris.org/os/licensing.
e2f644c80c2428330032af20658279d458938f20Derek Gathright# See the License for the specific language governing permissions
e2f644c80c2428330032af20658279d458938f20Derek Gathright# and limitations under the License.
e2f644c80c2428330032af20658279d458938f20Derek Gathright# When distributing Covered Code, include this CDDL HEADER in each
e2f644c80c2428330032af20658279d458938f20Derek Gathright# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
e2f644c80c2428330032af20658279d458938f20Derek Gathright# If applicable, add the following below this CDDL HEADER, with the
e2f644c80c2428330032af20658279d458938f20Derek Gathright# fields enclosed by brackets "[]" replaced with your own identifying
e2f644c80c2428330032af20658279d458938f20Derek Gathright# information: Portions Copyright [yyyy] [name of copyright owner]
e2f644c80c2428330032af20658279d458938f20Derek Gathright# CDDL HEADER END
e2f644c80c2428330032af20658279d458938f20Derek Gathright# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
e2f644c80c2428330032af20658279d458938f20Derek Gathright# we really need to use studio so we don't like that
e2f644c80c2428330032af20658279d458938f20Derek Gathright# parfait is g++ in disguise
e2f644c80c2428330032af20658279d458938f20Derek GathrightCOMPONENT_PROJECT_URL= http://stdcxx.apache.org/
e2f644c80c2428330032af20658279d458938f20Derek GathrightCOMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
e2f644c80c2428330032af20658279d458938f20Derek GathrightCOMPONENT_PROJECT_URL= http://stdcxx.apache.org/
e2f644c80c2428330032af20658279d458938f20Derek Gathright sha256:00854223cbd947bf1bd85d9dabd1b2829706d9062e0007d5022082a5e4b7e15e
e2f644c80c2428330032af20658279d458938f20Derek GathrightCOMPONENT_ARCHIVE_URL= http://www.apache.org/dist/stdcxx/$(COMPONENT_ARCHIVE)
e2f644c80c2428330032af20658279d458938f20Derek GathrightISA_PATCH_DIR_32 = $(WS_TOP)/components/stdcxx/isa_patches/$(MACH)
e2f644c80c2428330032af20658279d458938f20Derek GathrightISA_PATCH_DIR_64 = $(WS_TOP)/components/stdcxx/isa_patches/$(MACH64)
e2f644c80c2428330032af20658279d458938f20Derek Gathright $(ISA_PATCH_DIR)/1034-sunpro.config.$(MACH).patch \
e2f644c80c2428330032af20658279d458938f20Derek Gathright $(ISA_PATCH_DIR)/1035-GNUmakefile.tst.$(MACH).patch \
e2f644c80c2428330032af20658279d458938f20Derek Gathright $(ISA_PATCH_DIR)/1036-GNUmakefile.rwt.$(MACH).patch \
e2f644c80c2428330032af20658279d458938f20Derek Gathright $(ISA_PATCH_DIR)/1037-GNUmakefile.lib.$(MACH).patch \
e2f644c80c2428330032af20658279d458938f20Derek Gathright $(ISA_PATCH_DIR)/1038-GNUmakefile.ph.$(MACH).patch \
e2f644c80c2428330032af20658279d458938f20Derek Gathright $(ISA_PATCH_DIR)/1039-GNUmakefile.exm.$(MACH).patch \
e2f644c80c2428330032af20658279d458938f20Derek Gathright $(ISA_PATCH_DIR)/1040-GNUmakefile.cfg.$(MACH).patch \
e2f644c80c2428330032af20658279d458938f20Derek Gathright $(ISA_PATCH_DIR)/1041-GNUmakefile.bin.$(MACH).patch
e2f644c80c2428330032af20658279d458938f20Derek Gathright $(ISA_PATCH_DIR)/1034-sunpro.config.$(MACH64).patch \
e2f644c80c2428330032af20658279d458938f20Derek Gathright $(ISA_PATCH_DIR)/1035-GNUmakefile.tst.$(MACH64).patch \
e2f644c80c2428330032af20658279d458938f20Derek Gathright $(ISA_PATCH_DIR)/1036-GNUmakefile.rwt.$(MACH64).patch \
e2f644c80c2428330032af20658279d458938f20Derek Gathright $(ISA_PATCH_DIR)/1037-GNUmakefile.lib.$(MACH64).patch \
e2f644c80c2428330032af20658279d458938f20Derek Gathright $(ISA_PATCH_DIR)/1038-GNUmakefile.ph.$(MACH64).patch \
e2f644c80c2428330032af20658279d458938f20Derek Gathright $(ISA_PATCH_DIR)/1039-GNUmakefile.exm.$(MACH64).patch \
e2f644c80c2428330032af20658279d458938f20Derek Gathright $(ISA_PATCH_DIR)/1040-GNUmakefile.cfg.$(MACH64).patch \
e2f644c80c2428330032af20658279d458938f20Derek Gathright $(ISA_PATCH_DIR)/1041-GNUmakefile.bin.$(MACH64).patch
e2f644c80c2428330032af20658279d458938f20Derek Gathright# Please see the README file in this directory for a detailed explanation
e2f644c80c2428330032af20658279d458938f20Derek Gathright# about these flags, what they do, and why we need them.
e2f644c80c2428330032af20658279d458938f20Derek GathrightFLAGS_sparc = -m32 -xarch=sparcvis -xmemalign=8i
e2f644c80c2428330032af20658279d458938f20Derek GathrightFLAGS_sparcv9 = -m64 -xarch=sparcvis -xmemalign=16i
e2f644c80c2428330032af20658279d458938f20Derek GathrightCFLAGS_sparc = -Xc -features=extinl -xvis=yes
e2f644c80c2428330032af20658279d458938f20Derek GathrightCFLAGS_sparc += -Qoption cg -xregs=no%appl -xbuiltin=%none -xO4 $(PICFLAG)
e2f644c80c2428330032af20658279d458938f20Derek GathrightCFLAGS_i386 = -Xc -features=extinl -xregs=no%frameptr
e2f644c80c2428330032af20658279d458938f20Derek GathrightCFLAGS_i386 += -xO3 -xbuiltin=%none $(PICFLAG)
e2f644c80c2428330032af20658279d458938f20Derek GathrightCFLAGS_32 = $(FLAGS_$(MACH)) $(CFLAGS_$(MACH))
e2f644c80c2428330032af20658279d458938f20Derek GathrightCFLAGS_64 = $(FLAGS_$(MACH64)) $(CFLAGS_$(MACH))
e2f644c80c2428330032af20658279d458938f20Derek GathrightCXXFLAGS_sparc = -xvis=yes -xregs=no%appl -xO4
e2f644c80c2428330032af20658279d458938f20Derek GathrightCXXFLAGS_i386 = -xregs=no%frameptr -xO3 -xbuiltin=%none $(PICFLAG)
e2f644c80c2428330032af20658279d458938f20Derek GathrightCFLAGS_GENERIC += -D__EXTENSIONS__ -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
e2f644c80c2428330032af20658279d458938f20Derek GathrightCFLAGS_GENERIC += -D_XPG6 -D_XOPEN_SOURCE=600 -D_POSIX_PTHREAD_SEMANTICS
e2f644c80c2428330032af20658279d458938f20Derek GathrightCFLAGS_GENERIC += -D_POSIX_C_SOURCE=200112L -D__XOPEN_OR_POSIX
e2f644c80c2428330032af20658279d458938f20Derek GathrightCFLAGS_GENERIC += -D_STRICT_STDC -D_STRICT_STDC__ -D_STDC_C99 -D_ISOC99_SOURCE
e2f644c80c2428330032af20658279d458938f20Derek GathrightCXXFLAGS_GENERIC = -library=Cstd -library=Crun -norunpath
e2f644c80c2428330032af20658279d458938f20Derek GathrightCXXFLAGS_GENERIC += -Qoption ccfe ++boolflag:sunwcch=false
e2f644c80c2428330032af20658279d458938f20Derek GathrightCXXFLAGS_GENERIC += -Qoption ccfe +d2,-xgeninl=system
e2f644c80c2428330032af20658279d458938f20Derek GathrightCXXFLAGS_GENERIC += -Qoption ccfe -expand=10000
e2f644c80c2428330032af20658279d458938f20Derek GathrightCXXFLAGS_GENERIC += -features=except,rtti,export,extensions,nestedaccess,tmplife,tmplrefstatic
e2f644c80c2428330032af20658279d458938f20Derek GathrightCXXFLAGS_GENERIC += -xustr=ascii_utf16_ushort
e2f644c80c2428330032af20658279d458938f20Derek GathrightCXXFLAGS_GENERIC += -mt -D_REENTRANT -DNDEBUG
e2f644c80c2428330032af20658279d458938f20Derek GathrightCXXFLAGS_GENERIC += -D_POSIX_PTHREAD_SEMANTICS -s
e2f644c80c2428330032af20658279d458938f20Derek GathrightCXXFLAGS_GENERIC += +w2 -errtags -erroff=hidef
e2f644c80c2428330032af20658279d458938f20Derek GathrightCXXFLAGS = $(CXXFLAGS_$(BITS)) $(CXXFLAGS_$(MACH)) $(CXXFLAGS_GENERIC)
e2f644c80c2428330032af20658279d458938f20Derek Gathright# -mt will automatically pass -lthread unless we pass -lpthread
e2f644c80c2428330032af20658279d458938f20Derek Gathright# on link line. -lthread causes regressions. see man CC(1) and -mt.
e2f644c80c2428330032af20658279d458938f20Derek Gathright# -lumem must be passed before -lc.
e2f644c80c2428330032af20658279d458938f20Derek GathrightLDFLAGS = -lpthread -lumem -lm -lc -s -z ignore
e2f644c80c2428330032af20658279d458938f20Derek Gathright# We cannot have -B direct
e2f644c80c2428330032af20658279d458938f20Derek GathrightLD_OPTIONS = -M /usr/lib/ld/map.noexstk -M /usr/lib/ld/map.noexdata
e2f644c80c2428330032af20658279d458938f20Derek GathrightLD_OPTIONS += -lpthread -lumem -lm -lc -s -z ignore
e2f644c80c2428330032af20658279d458938f20Derek Gathright# If I name it NLSPATH, gmake insists on getting its value from the
e2f644c80c2428330032af20658279d458938f20Derek Gathright# running environment. Also, it all has to be on one line. += prepends
e2f644c80c2428330032af20658279d458938f20Derek Gathright# a whitespace.
e2f644c80c2428330032af20658279d458938f20Derek GathrightBUILD_NLSPATH = :%N.cat:/usr/lib/locale/%L/%N.cat:/usr/share/locale/%L/%N.cat:$(BUILD_DIR_$(BITS))/lib/rwstderr.cat
e2f644c80c2428330032af20658279d458938f20Derek GathrightCONFIGURE_ENV += LD="$(CXX) $(CXXFLAGS) $(LDFLAGS)"
$(COMPONENT_DIR)/ ; \
test: $(TEST_32_and_64)
clean::