Makefile revision 3353
430474e5ec398f769830a548d818d75ff37d5113vboxsync# CDDL HEADER START
459e93059a8be95d20eda3d1dad52187595a688cvboxsync# The contents of this file are subject to the terms of the
430474e5ec398f769830a548d818d75ff37d5113vboxsync# Common Development and Distribution License (the "License").
430474e5ec398f769830a548d818d75ff37d5113vboxsync# You may not use this file except in compliance with the License.
459e93059a8be95d20eda3d1dad52187595a688cvboxsync# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
459e93059a8be95d20eda3d1dad52187595a688cvboxsync# See the License for the specific language governing permissions
459e93059a8be95d20eda3d1dad52187595a688cvboxsync# and limitations under the License.
459e93059a8be95d20eda3d1dad52187595a688cvboxsync# When distributing Covered Code, include this CDDL HEADER in each
459e93059a8be95d20eda3d1dad52187595a688cvboxsync# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
459e93059a8be95d20eda3d1dad52187595a688cvboxsync# If applicable, add the following below this CDDL HEADER, with the
430474e5ec398f769830a548d818d75ff37d5113vboxsync# fields enclosed by brackets "[]" replaced with your own identifying
430474e5ec398f769830a548d818d75ff37d5113vboxsync# information: Portions Copyright [yyyy] [name of copyright owner]
430474e5ec398f769830a548d818d75ff37d5113vboxsync# CDDL HEADER END
459e93059a8be95d20eda3d1dad52187595a688cvboxsync# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
459e93059a8be95d20eda3d1dad52187595a688cvboxsync# we really need to use studio so we don't like that
459e93059a8be95d20eda3d1dad52187595a688cvboxsync# parfait is g++ in disguise
459e93059a8be95d20eda3d1dad52187595a688cvboxsyncCOMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
459e93059a8be95d20eda3d1dad52187595a688cvboxsync sha256:00854223cbd947bf1bd85d9dabd1b2829706d9062e0007d5022082a5e4b7e15e
459e93059a8be95d20eda3d1dad52187595a688cvboxsyncCOMPONENT_ARCHIVE_URL= http://www.apache.org/dist/stdcxx/$(COMPONENT_ARCHIVE)
459e93059a8be95d20eda3d1dad52187595a688cvboxsyncISA_PATCH_DIR_32 = $(WS_TOP)/components/stdcxx/isa_patches/$(MACH)
459e93059a8be95d20eda3d1dad52187595a688cvboxsyncISA_PATCH_DIR_64 = $(WS_TOP)/components/stdcxx/isa_patches/$(MACH64)
459e93059a8be95d20eda3d1dad52187595a688cvboxsync $(ISA_PATCH_DIR)/1034-sunpro.config.$(MACH).patch \
459e93059a8be95d20eda3d1dad52187595a688cvboxsync $(ISA_PATCH_DIR)/1035-GNUmakefile.tst.$(MACH).patch \
459e93059a8be95d20eda3d1dad52187595a688cvboxsync $(ISA_PATCH_DIR)/1036-GNUmakefile.rwt.$(MACH).patch \
430474e5ec398f769830a548d818d75ff37d5113vboxsync $(ISA_PATCH_DIR)/1037-GNUmakefile.lib.$(MACH).patch \
430474e5ec398f769830a548d818d75ff37d5113vboxsync $(ISA_PATCH_DIR)/1038-GNUmakefile.ph.$(MACH).patch \
8c16794f5ce593e63ae3138a574a4bd1d3aed76avboxsync $(ISA_PATCH_DIR)/1039-GNUmakefile.exm.$(MACH).patch \
8c16794f5ce593e63ae3138a574a4bd1d3aed76avboxsync $(ISA_PATCH_DIR)/1040-GNUmakefile.cfg.$(MACH).patch \
8c16794f5ce593e63ae3138a574a4bd1d3aed76avboxsync $(ISA_PATCH_DIR)/1041-GNUmakefile.bin.$(MACH).patch
58fd0712f38839a3228583267d39e0f20d41f36cvboxsync $(ISA_PATCH_DIR)/1034-sunpro.config.$(MACH64).patch \
58fd0712f38839a3228583267d39e0f20d41f36cvboxsync $(ISA_PATCH_DIR)/1035-GNUmakefile.tst.$(MACH64).patch \
58fd0712f38839a3228583267d39e0f20d41f36cvboxsync $(ISA_PATCH_DIR)/1036-GNUmakefile.rwt.$(MACH64).patch \
58fd0712f38839a3228583267d39e0f20d41f36cvboxsync $(ISA_PATCH_DIR)/1037-GNUmakefile.lib.$(MACH64).patch \
58fd0712f38839a3228583267d39e0f20d41f36cvboxsync $(ISA_PATCH_DIR)/1038-GNUmakefile.ph.$(MACH64).patch \
58fd0712f38839a3228583267d39e0f20d41f36cvboxsync $(ISA_PATCH_DIR)/1039-GNUmakefile.exm.$(MACH64).patch \
58fd0712f38839a3228583267d39e0f20d41f36cvboxsync $(ISA_PATCH_DIR)/1040-GNUmakefile.cfg.$(MACH64).patch \
58fd0712f38839a3228583267d39e0f20d41f36cvboxsync $(ISA_PATCH_DIR)/1041-GNUmakefile.bin.$(MACH64).patch
459e93059a8be95d20eda3d1dad52187595a688cvboxsync# Please see the README file in this directory for a detailed explanation
459e93059a8be95d20eda3d1dad52187595a688cvboxsync# about these flags, what they do, and why we need them.
459e93059a8be95d20eda3d1dad52187595a688cvboxsyncCFLAGS_sparc += -Qoption cg -xregs=no%appl -xbuiltin=%none -xO4 $(PICFLAG)
459e93059a8be95d20eda3d1dad52187595a688cvboxsyncCFLAGS_i386 = -Xc -features=extinl -xregs=no%frameptr
459e93059a8be95d20eda3d1dad52187595a688cvboxsyncCXXFLAGS_i386 = -xregs=no%frameptr -xO3 -xbuiltin=%none $(PICFLAG)
459e93059a8be95d20eda3d1dad52187595a688cvboxsyncCFLAGS_GENERIC += -D__EXTENSIONS__ -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
459e93059a8be95d20eda3d1dad52187595a688cvboxsyncCFLAGS_GENERIC += -D_XPG6 -D_XOPEN_SOURCE=600 -D_POSIX_PTHREAD_SEMANTICS
459e93059a8be95d20eda3d1dad52187595a688cvboxsyncCFLAGS_GENERIC += -D_POSIX_C_SOURCE=200112L -D__XOPEN_OR_POSIX
459e93059a8be95d20eda3d1dad52187595a688cvboxsyncCFLAGS_GENERIC += -D_STRICT_STDC -D_STRICT_STDC__ -D_STDC_C99 -D_ISOC99_SOURCE
459e93059a8be95d20eda3d1dad52187595a688cvboxsyncCXXFLAGS_GENERIC = -library=Cstd -library=Crun -norunpath
459e93059a8be95d20eda3d1dad52187595a688cvboxsyncCXXFLAGS_GENERIC += -Qoption ccfe ++boolflag:sunwcch=false
459e93059a8be95d20eda3d1dad52187595a688cvboxsyncCXXFLAGS_GENERIC += -Qoption ccfe +d2,-xgeninl=system
459e93059a8be95d20eda3d1dad52187595a688cvboxsyncCXXFLAGS_GENERIC += -features=except,rtti,export,extensions,nestedaccess,tmplife,tmplrefstatic
459e93059a8be95d20eda3d1dad52187595a688cvboxsyncCXXFLAGS = $(CXXFLAGS_$(BITS)) $(CXXFLAGS_$(MACH)) $(CXXFLAGS_GENERIC)
459e93059a8be95d20eda3d1dad52187595a688cvboxsync# -mt will automatically pass -lthread unless we pass -lpthread
459e93059a8be95d20eda3d1dad52187595a688cvboxsync# on link line. -lthread causes regressions. see man CC(1) and -mt.
459e93059a8be95d20eda3d1dad52187595a688cvboxsync# -lumem must be passed before -lc.
459e93059a8be95d20eda3d1dad52187595a688cvboxsync# We cannot have -B direct
459e93059a8be95d20eda3d1dad52187595a688cvboxsyncLD_OPTIONS = -M /usr/lib/ld/map.noexstk -M /usr/lib/ld/map.noexdata
459e93059a8be95d20eda3d1dad52187595a688cvboxsync# If I name it NLSPATH, gmake insists on getting its value from the
459e93059a8be95d20eda3d1dad52187595a688cvboxsync# running environment. Also, it all has to be on one line. += prepends
459e93059a8be95d20eda3d1dad52187595a688cvboxsync# a whitespace.
459e93059a8be95d20eda3d1dad52187595a688cvboxsyncBUILD_NLSPATH = :%N.cat:/usr/lib/locale/%L/%N.cat:/usr/share/locale/%L/%N.cat:$(BUILD_DIR_$(BITS))/lib/rwstderr.cat
459e93059a8be95d20eda3d1dad52187595a688cvboxsyncPKG_PROTO_DIRS += $(COMPONENT_DIR)/$(COMPONENT_SRC)-32
459e93059a8be95d20eda3d1dad52187595a688cvboxsyncPKG_PROTO_DIRS += $(COMPONENT_DIR)/$(COMPONENT_SRC)-64
459e93059a8be95d20eda3d1dad52187595a688cvboxsync else $(UNPACK) $(UNPACK_ARGS) $(COMPONENT_ARCHIVE) ; \
459e93059a8be95d20eda3d1dad52187595a688cvboxsync else $(UNPACK) $(UNPACK_ARGS) $(COMPONENT_ARCHIVE) ; \
459e93059a8be95d20eda3d1dad52187595a688cvboxsync $(GPATCH) $(GPATCH_FLAGS) <$(COMPONENT_DIR)/$$f ; \
459e93059a8be95d20eda3d1dad52187595a688cvboxsync -exec chmod 0644 {} \; > /dev/null 2>&1 )
459e93059a8be95d20eda3d1dad52187595a688cvboxsync $(CP) -p $(COMPONENT_DIR)/Solaris/fix_nls_symlinks.sh . ; \
459e93059a8be95d20eda3d1dad52187595a688cvboxsync $(GCP) -rpd $(COMPONENT_SRC) $(COMPONENT_SRC)-$(BITS) ; \
459e93059a8be95d20eda3d1dad52187595a688cvboxsync $(CP) -p $(COMPONENT_DIR)/Solaris/prep_build_area.sh \
459e93059a8be95d20eda3d1dad52187595a688cvboxsync $(CHMOD) 0755 $(COMPONENT_DIR)/prep_build_area.sh ; \
459e93059a8be95d20eda3d1dad52187595a688cvboxsync $(SHELL) $(COMPONENT_DIR)/prep_build_area.sh $(CC_BITS) \
459e93059a8be95d20eda3d1dad52187595a688cvboxsyncCOMPONENT_TEST_DIR = $(BUILD_DIR)/$(MACH$(BITS))/build/tests
459e93059a8be95d20eda3d1dad52187595a688cvboxsync $(CP) -p $(COMPONENT_DIR)/Solaris/run_tests.sh . ; \
459e93059a8be95d20eda3d1dad52187595a688cvboxsyncinstall: $(BUILD_DIR_32)/.built $(BUILD_DIR_64)/.built
459e93059a8be95d20eda3d1dad52187595a688cvboxsync $(CP) $(COMPONENT_DIR)/Solaris/install.sh $(COMPONENT_DIR)/
clean::