Print this page
9996 use GCC 7 as default primary compiler


  11 # and limitations under the License.
  12 #
  13 # When distributing Covered Code, include this CDDL HEADER in each
  14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15 # If applicable, add the following below this CDDL HEADER, with the
  16 # fields enclosed by brackets "[]" replaced with your own identifying
  17 # information: Portions Copyright [yyyy] [name of copyright owner]
  18 #
  19 # CDDL HEADER END
  20 #
  21 
  22 #
  23 # Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
  24 # Copyright (c) 2012 by Delphix. All rights reserved.
  25 # Copyright 2014 Garrett D'Amore <garrett@damore.org>
  26 # Copyright 2015, OmniTI Computer Consulting, Inc. All rights reserved.
  27 # Copyright 2015 Gary Mills
  28 # Copyright 2015 Igor Kozhukhov <ikozhukhov@gmail.com>
  29 # Copyright 2016 Toomas Soome <tsoome@me.com>
  30 # Copyright 2018 OmniOS Community Edition (OmniOSce) Association.
  31 # Copyright (c) 2019, Joyent, Inc.
  32 #
  33 
  34 #
  35 # Makefile.master, global definitions for system source
  36 #
  37 ROOT=           /proto
  38 
  39 #
  40 # Adjunct root, containing an additional proto area to be used for headers
  41 # and libraries.
  42 #
  43 ADJUNCT_PROTO=
  44 
  45 #
  46 # Adjunct for building things that run on the build machine.
  47 #
  48 NATIVE_ADJUNCT= /usr
  49 
  50 #
  51 # RELEASE_BUILD should be cleared for final release builds.


 109 
 110 # CLOSED is the root of the tree that contains source which isn't released
 111 # as open source
 112 CLOSED=         $(SRC)/../closed
 113 
 114 # BUILD_TOOLS is the root of all tools including compilers.
 115 # ONBLD_TOOLS is the root of all the tools that are part of SUNWonbld.
 116 
 117 BUILD_TOOLS=            /ws/onnv-tools
 118 ONBLD_TOOLS=            $(BUILD_TOOLS)/onbld
 119 
 120 # define runtime JAVA_HOME, primarily for cmd/pools/poold
 121 JAVA_HOME=      /usr/java
 122 # define buildtime JAVA_ROOT
 123 JAVA_ROOT=      /usr/java
 124 # Build uses java7 by default.  Pass one the variables below set to empty
 125 # string in the environment to override.
 126 BLD_JAVA_6=     $(POUND_SIGN)
 127 BLD_JAVA_8=     $(POUND_SIGN)
 128 
 129 GNUC_ROOT=      /opt/gcc/4.4.4
 130 GCCLIBDIR=      $(GNUC_ROOT)/lib
 131 GCCLIBDIR64=    $(GNUC_ROOT)/lib/$(MACH64)
 132 
 133 DOCBOOK_XSL_ROOT=       /usr/share/sgml/docbook/xsl-stylesheets
 134 
 135 RPCGEN=         /usr/bin/rpcgen
 136 STABS=          $(ONBLD_TOOLS)/bin/$(MACH)/stabs
 137 ELFEXTRACT=     $(ONBLD_TOOLS)/bin/$(MACH)/elfextract
 138 MBH_PATCH=      $(ONBLD_TOOLS)/bin/$(MACH)/mbh_patch
 139 BTXLD=          $(ONBLD_TOOLS)/bin/$(MACH)/btxld
 140 VTFONTCVT=      $(ONBLD_TOOLS)/bin/$(MACH)/vtfontcvt
 141 # echo(1) and true(1) are specified without absolute paths, so that the shell
 142 # spawned by make(1) may use the built-in versions.  This is minimally
 143 # problematic, as the shell spawned by make(1) is known and under control, the
 144 # only risk being if the shell falls back to $PATH.
 145 #
 146 # We specifically want an echo(1) that does interpolation of escape sequences,
 147 # which ksh93, /bin/sh, and bash will all provide.
 148 ECHO=           echo
 149 TRUE=           true


 825                 $(ALWAYS_LINT_DEFS)
 826 LINT.s=         $(LINT.c)
 827 
 828 # For some future builds, NATIVE_MACH and MACH might be different.
 829 # Therefore, NATIVE_MACH needs to be redefined in the
 830 # environment as `uname -p` to override this macro.
 831 #
 832 # For now at least, we cross-compile amd64 on i386 machines.
 833 NATIVE_MACH=    $(MACH:amd64=i386)
 834 
 835 # Define native compilation macros
 836 #
 837 
 838 # Base directory where compilers are loaded.
 839 # Defined here so it can be overridden by developer.
 840 #
 841 SPRO_ROOT=              $(BUILD_TOOLS)/SUNWspro
 842 SPRO_VROOT=             $(SPRO_ROOT)/SS12
 843 GNU_ROOT=               /usr
 844 
 845 $(__GNUC)PRIMARY_CC=    gcc4,$(GNUC_ROOT)/bin/gcc,gnu
 846 $(__SUNC)PRIMARY_CC=    studio12,$(SPRO_VROOT)/bin/cc,sun
 847 $(__GNUC)PRIMARY_CCC=   gcc4,$(GNUC_ROOT)/bin/g++,gnu
 848 $(__SUNC)PRIMARY_CCC=   studio12,$(SPRO_VROOT)/bin/CC,sun
 849 
 850 CW_CC_COMPILERS=        $(PRIMARY_CC:%=--primary %) $(SHADOW_CCS:%=--shadow %)
 851 CW_CCC_COMPILERS=       $(PRIMARY_CCC:%=--primary %) $(SHADOW_CCCS:%=--shadow %)
 852 
 853 
 854 # Till SS12u1 formally becomes the NV CBE, LINT is hard
 855 # coded to be picked up from the $SPRO_ROOT/sunstudio12.1/
 856 # location. Impacted variables are sparc_LINT, sparcv9_LINT,
 857 # i386_LINT, amd64_LINT.
 858 # Reset them when SS12u1 is rolled out.
 859 #
 860 
 861 # Specify platform compiler versions for languages
 862 # that we use (currently only c and c++).
 863 #
 864 CW=                     $(ONBLD_TOOLS)/bin/$(MACH)/cw
 865 
 866 BUILD_CC=               $(CW) $(CW_CC_COMPILERS) --
 867 BUILD_CCC=              $(CW) -C $(CW_CCC_COMPILERS) --




  11 # and limitations under the License.
  12 #
  13 # When distributing Covered Code, include this CDDL HEADER in each
  14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15 # If applicable, add the following below this CDDL HEADER, with the
  16 # fields enclosed by brackets "[]" replaced with your own identifying
  17 # information: Portions Copyright [yyyy] [name of copyright owner]
  18 #
  19 # CDDL HEADER END
  20 #
  21 
  22 #
  23 # Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
  24 # Copyright (c) 2012 by Delphix. All rights reserved.
  25 # Copyright 2014 Garrett D'Amore <garrett@damore.org>
  26 # Copyright 2015, OmniTI Computer Consulting, Inc. All rights reserved.
  27 # Copyright 2015 Gary Mills
  28 # Copyright 2015 Igor Kozhukhov <ikozhukhov@gmail.com>
  29 # Copyright 2016 Toomas Soome <tsoome@me.com>
  30 # Copyright 2018 OmniOS Community Edition (OmniOSce) Association.
  31 # Copyright 2019, Joyent, Inc.
  32 #
  33 
  34 #
  35 # Makefile.master, global definitions for system source
  36 #
  37 ROOT=           /proto
  38 
  39 #
  40 # Adjunct root, containing an additional proto area to be used for headers
  41 # and libraries.
  42 #
  43 ADJUNCT_PROTO=
  44 
  45 #
  46 # Adjunct for building things that run on the build machine.
  47 #
  48 NATIVE_ADJUNCT= /usr
  49 
  50 #
  51 # RELEASE_BUILD should be cleared for final release builds.


 109 
 110 # CLOSED is the root of the tree that contains source which isn't released
 111 # as open source
 112 CLOSED=         $(SRC)/../closed
 113 
 114 # BUILD_TOOLS is the root of all tools including compilers.
 115 # ONBLD_TOOLS is the root of all the tools that are part of SUNWonbld.
 116 
 117 BUILD_TOOLS=            /ws/onnv-tools
 118 ONBLD_TOOLS=            $(BUILD_TOOLS)/onbld
 119 
 120 # define runtime JAVA_HOME, primarily for cmd/pools/poold
 121 JAVA_HOME=      /usr/java
 122 # define buildtime JAVA_ROOT
 123 JAVA_ROOT=      /usr/java
 124 # Build uses java7 by default.  Pass one the variables below set to empty
 125 # string in the environment to override.
 126 BLD_JAVA_6=     $(POUND_SIGN)
 127 BLD_JAVA_8=     $(POUND_SIGN)
 128 
 129 GNUC_ROOT=      /usr/gcc/7
 130 GCCLIBDIR=      $(GNUC_ROOT)/lib
 131 GCCLIBDIR64=    $(GNUC_ROOT)/lib/$(MACH64)
 132 
 133 DOCBOOK_XSL_ROOT=       /usr/share/sgml/docbook/xsl-stylesheets
 134 
 135 RPCGEN=         /usr/bin/rpcgen
 136 STABS=          $(ONBLD_TOOLS)/bin/$(MACH)/stabs
 137 ELFEXTRACT=     $(ONBLD_TOOLS)/bin/$(MACH)/elfextract
 138 MBH_PATCH=      $(ONBLD_TOOLS)/bin/$(MACH)/mbh_patch
 139 BTXLD=          $(ONBLD_TOOLS)/bin/$(MACH)/btxld
 140 VTFONTCVT=      $(ONBLD_TOOLS)/bin/$(MACH)/vtfontcvt
 141 # echo(1) and true(1) are specified without absolute paths, so that the shell
 142 # spawned by make(1) may use the built-in versions.  This is minimally
 143 # problematic, as the shell spawned by make(1) is known and under control, the
 144 # only risk being if the shell falls back to $PATH.
 145 #
 146 # We specifically want an echo(1) that does interpolation of escape sequences,
 147 # which ksh93, /bin/sh, and bash will all provide.
 148 ECHO=           echo
 149 TRUE=           true


 825                 $(ALWAYS_LINT_DEFS)
 826 LINT.s=         $(LINT.c)
 827 
 828 # For some future builds, NATIVE_MACH and MACH might be different.
 829 # Therefore, NATIVE_MACH needs to be redefined in the
 830 # environment as `uname -p` to override this macro.
 831 #
 832 # For now at least, we cross-compile amd64 on i386 machines.
 833 NATIVE_MACH=    $(MACH:amd64=i386)
 834 
 835 # Define native compilation macros
 836 #
 837 
 838 # Base directory where compilers are loaded.
 839 # Defined here so it can be overridden by developer.
 840 #
 841 SPRO_ROOT=              $(BUILD_TOOLS)/SUNWspro
 842 SPRO_VROOT=             $(SPRO_ROOT)/SS12
 843 GNU_ROOT=               /usr
 844 
 845 $(__GNUC)PRIMARY_CC=    gcc7,$(GNUC_ROOT)/bin/gcc,gnu
 846 $(__SUNC)PRIMARY_CC=    studio12,$(SPRO_VROOT)/bin/cc,sun
 847 $(__GNUC)PRIMARY_CCC=   gcc7,$(GNUC_ROOT)/bin/g++,gnu
 848 $(__SUNC)PRIMARY_CCC=   studio12,$(SPRO_VROOT)/bin/CC,sun
 849 
 850 CW_CC_COMPILERS=        $(PRIMARY_CC:%=--primary %) $(SHADOW_CCS:%=--shadow %)
 851 CW_CCC_COMPILERS=       $(PRIMARY_CCC:%=--primary %) $(SHADOW_CCCS:%=--shadow %)
 852 
 853 
 854 # Till SS12u1 formally becomes the NV CBE, LINT is hard
 855 # coded to be picked up from the $SPRO_ROOT/sunstudio12.1/
 856 # location. Impacted variables are sparc_LINT, sparcv9_LINT,
 857 # i386_LINT, amd64_LINT.
 858 # Reset them when SS12u1 is rolled out.
 859 #
 860 
 861 # Specify platform compiler versions for languages
 862 # that we use (currently only c and c++).
 863 #
 864 CW=                     $(ONBLD_TOOLS)/bin/$(MACH)/cw
 865 
 866 BUILD_CC=               $(CW) $(CW_CC_COMPILERS) --
 867 BUILD_CCC=              $(CW) -C $(CW_CCC_COMPILERS) --