Print this page
7661 illumos should provide 64bit perl modules (for omni)


  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 2012 OmniTI Computer Consulting, Inc.  All rights reserved.
  25 # Copyright (c) 2012 by Delphix. All rights reserved.
  26 # Copyright 2014 Garrett D'Amore <garrett@damore.org>
  27 # Copyright 2015, OmniTI Computer Consulting, Inc. All rights reserved.
  28 # Copyright 2015 Gary Mills
  29 # Copyright 2015 Igor Kozhukhov <ikozhukhov@gmail.com>
  30 # Copyright 2016 Toomas Soome <tsoome@me.com>

  31 #
  32 
  33 #
  34 # Makefile.master, global definitions for system source
  35 #
  36 ROOT=           /proto
  37 
  38 #
  39 # Adjunct root, containing an additional proto area to be used for headers
  40 # and libraries.
  41 #
  42 ADJUNCT_PROTO=
  43 
  44 #
  45 # Adjunct for building things that run on the build machine.
  46 #
  47 NATIVE_ADJUNCT= /usr
  48 
  49 #
  50 # RELEASE_BUILD should be cleared for final release builds.


  89 # __GNUC and GCC are the default.
  90 #
  91 # __GNUC64 indicates that the 64bit build should use the GNU C compiler.
  92 # There is no Sun C analogue.
  93 #
  94 # The following version-specific options are operative regardless of which
  95 # compiler is primary, and control the versions of the given compilers to be
  96 # used.  They also allow compiler-version specific Makefile fragments.
  97 #
  98 
  99 __SUNC=                 $(POUND_SIGN)
 100 $(__SUNC)__GNUC=        $(POUND_SIGN)
 101 __GNUC64=               $(__GNUC)
 102 
 103 # Allow build-time "configuration" to enable or disable some things.
 104 # The default is POUND_SIGN, meaning "not enabled". If the environment
 105 # passes in an override like ENABLE_SMB_PRINTING= (empty) that will
 106 # uncomment things in the lower Makefiles to enable the feature.
 107 ENABLE_IPP_PRINTING=    $(POUND_SIGN)
 108 ENABLE_SMB_PRINTING=    $(POUND_SIGN)

 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 
 125 GCC_ROOT=       /opt/gcc/4.4.4
 126 GCCLIBDIR=      $(GCC_ROOT)/lib
 127 GCCLIBDIR64=    $(GCC_ROOT)/lib/$(MACH64)
 128 


 159 LEX=            /usr/ccs/bin/lex
 160 FLEX=           /usr/bin/flex
 161 YACC=           /usr/ccs/bin/yacc
 162 CPP=            /usr/lib/cpp
 163 JAVAC=          $(JAVA_ROOT)/bin/javac
 164 JAVAH=          $(JAVA_ROOT)/bin/javah
 165 JAVADOC=        $(JAVA_ROOT)/bin/javadoc
 166 RMIC=           $(JAVA_ROOT)/bin/rmic
 167 JAR=            $(JAVA_ROOT)/bin/jar
 168 CTFCONVERT=     $(ONBLD_TOOLS)/bin/$(MACH)/ctfconvert
 169 CTFMERGE=       $(ONBLD_TOOLS)/bin/$(MACH)/ctfmerge
 170 CTFSTABS=       $(ONBLD_TOOLS)/bin/$(MACH)/ctfstabs
 171 CTFSTRIP=       $(ONBLD_TOOLS)/bin/$(MACH)/ctfstrip
 172 NDRGEN=         $(ONBLD_TOOLS)/bin/$(MACH)/ndrgen
 173 GENOFFSETS=     $(ONBLD_TOOLS)/bin/genoffsets
 174 XREF=           $(ONBLD_TOOLS)/bin/xref
 175 FIND=           /usr/bin/find
 176 PERL=           /usr/bin/perl
 177 PERL_VERSION=   5.16.1
 178 PERL_PKGVERS=   -5161
 179 PERL_ARCH=      i86pc-solaris-thread-multi-64int
 180 PERL_ARCH64=    i86pc-solaris-thread-multi-64
 181 $(SPARC_BLD)PERL_ARCH= sun4-solaris-thread-multi-64int
 182 $(SPARC_BLD)PERL_ARCH64= sun4-solaris-thread-multi-64int
 183 PYTHON_VERSION= 2.7
 184 PYTHON_PKGVERS= -27
 185 PYTHON=         /usr/bin/python$(PYTHON_VERSION)
 186 SORT=           /usr/bin/sort
 187 TOUCH=          /usr/bin/touch
 188 WC=             /usr/bin/wc
 189 XARGS=          /usr/bin/xargs
 190 ELFEDIT=        /usr/bin/elfedit
 191 ELFSIGN=        /usr/bin/elfsign
 192 DTRACE=         /usr/sbin/dtrace -xnolibs
 193 UNIQ=           /usr/bin/uniq
 194 TAR=            /usr/bin/tar
 195 ASTBINDIR=      /usr/ast/bin
 196 MSGCC=          $(ASTBINDIR)/msgcc
 197 MSGFMT=         /usr/bin/msgfmt -s
 198 
 199 FILEMODE=       644
 200 DIRMODE=        755
 201 
 202 # Declare that nothing should be built in parallel.


 695 COMPILE.cc=     $(CCC) $(CCFLAGS) $(CPPFLAGS) -c
 696 COMPILE64.cc=   $(CCC) $(CCFLAGS64) $(CPPFLAGS) -c
 697 COMPILE.s=      $(AS) $(ASFLAGS) $(AS_CPPFLAGS)
 698 COMPILE64.s=    $(AS) $(ASFLAGS) $($(MACH64)_AS_XARCH) $(AS_CPPFLAGS)
 699 COMPILE.d=      $(DTRACE) -G -32
 700 COMPILE64.d=    $(DTRACE) -G -64
 701 COMPILE.b=      $(ELFWRAP) $(ELFWRAP_FLAGS$(CLASS))
 702 COMPILE64.b=    $(ELFWRAP) $(ELFWRAP_FLAGS$(CLASS))
 703 
 704 CLASSPATH=      .
 705 COMPILE.java=   $(JAVAC) $(JAVAFLAGS) -classpath $(CLASSPATH)
 706 
 707 #
 708 # Link time macros
 709 #
 710 CCNEEDED                = -lC
 711 CCEXTNEEDED             = -lCrun -lCstd
 712 $(__GNUC)CCNEEDED       = -L$(GCCLIBDIR) -lstdc++ -lgcc_s
 713 $(__GNUC)CCEXTNEEDED    = $(CCNEEDED)
 714 





 715 LINK.c=         $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)
 716 LINK64.c=       $(CC) $(CFLAGS64) $(CPPFLAGS) $(LDFLAGS)
 717 NORUNPATH=      -norunpath -nolib
 718 LINK.cc=        $(CCC) $(CCFLAGS) $(CPPFLAGS) $(NORUNPATH) \
 719                 $(LDFLAGS) $(CCNEEDED)
 720 LINK64.cc=      $(CCC) $(CCFLAGS64) $(CPPFLAGS) $(NORUNPATH) \
 721                 $(LDFLAGS) $(CCNEEDED)
 722 
 723 #
 724 # lint macros
 725 #
 726 # Note that the undefine of __PRAGMA_REDEFINE_EXTNAME can be removed once
 727 # ON is built with a version of lint that has the fix for 4484186.
 728 #
 729 ALWAYS_LINT_DEFS =      -errtags=yes -s
 730 ALWAYS_LINT_DEFS +=     -erroff=E_PTRDIFF_OVERFLOW
 731 ALWAYS_LINT_DEFS +=     -erroff=E_ASSIGN_NARROW_CONV
 732 ALWAYS_LINT_DEFS +=     -U__PRAGMA_REDEFINE_EXTNAME
 733 ALWAYS_LINT_DEFS +=     $(C99LMODE)
 734 ALWAYS_LINT_DEFS +=     -errsecurity=$(SECLEVEL)
 735 ALWAYS_LINT_DEFS +=     -erroff=E_SEC_CREAT_WITHOUT_EXCL
 736 ALWAYS_LINT_DEFS +=     -erroff=E_SEC_FORBIDDEN_WARN_CREAT
 737 # XX64 -- really only needed for amd64 lint
 738 ALWAYS_LINT_DEFS +=     -erroff=E_ASSIGN_INT_TO_SMALL_INT
 739 ALWAYS_LINT_DEFS +=     -erroff=E_CAST_INT_CONST_TO_SMALL_INT
 740 ALWAYS_LINT_DEFS +=     -erroff=E_CAST_INT_TO_SMALL_INT
 741 ALWAYS_LINT_DEFS +=     -erroff=E_CAST_TO_PTR_FROM_INT


 744 ALWAYS_LINT_DEFS +=     -erroff=E_PASS_INT_TO_SMALL_INT
 745 ALWAYS_LINT_DEFS +=     -erroff=E_PTR_CONV_LOSES_BITS
 746 
 747 # This forces lint to pick up note.h and sys/note.h from Devpro rather than
 748 # from the proto area.  The note.h that ON delivers would disable NOTE().
 749 ONLY_LINT_DEFS =        -I$(SPRO_VROOT)/prod/include/lint
 750 
 751 SECLEVEL=       core
 752 LINT.c=         $(LINT) $(ONLY_LINT_DEFS) $(LINTFLAGS) $(CPPFLAGS) \
 753                 $(ALWAYS_LINT_DEFS)
 754 LINT64.c=       $(LINT) $(ONLY_LINT_DEFS) $(LINTFLAGS64) $(CPPFLAGS) \
 755                 $(ALWAYS_LINT_DEFS)
 756 LINT.s=         $(LINT.c)
 757 
 758 # For some future builds, NATIVE_MACH and MACH might be different.
 759 # Therefore, NATIVE_MACH needs to be redefined in the
 760 # environment as `uname -p` to override this macro.
 761 #
 762 # For now at least, we cross-compile amd64 on i386 machines.
 763 NATIVE_MACH=    $(MACH:amd64=i386)

 764 
 765 # Define native compilation macros
 766 #
 767 
 768 # Base directory where compilers are loaded.
 769 # Defined here so it can be overridden by developer.
 770 #
 771 SPRO_ROOT=              $(BUILD_TOOLS)/SUNWspro
 772 SPRO_VROOT=             $(SPRO_ROOT)/SS12
 773 GNU_ROOT=               /usr
 774 
 775 # Till SS12u1 formally becomes the NV CBE, LINT is hard
 776 # coded to be picked up from the $SPRO_ROOT/sunstudio12.1/
 777 # location. Impacted variables are sparc_LINT, sparcv9_LINT,
 778 # i386_LINT, amd64_LINT.
 779 # Reset them when SS12u1 is rolled out.
 780 #
 781 
 782 # Specify platform compiler versions for languages
 783 # that we use (currently only c and c++).


 809 $(__GNUC)i386_AS=       $(ONBLD_TOOLS)/bin/$(MACH)/aw
 810 i386_LD=                /usr/ccs/bin/ld
 811 i386_LINT=              $(SPRO_ROOT)/sunstudio12.1/bin/lint
 812 
 813 amd64_CC=               $(ONBLD_TOOLS)/bin/$(MACH)/cw -_cc
 814 $(__GNUC64)amd64_CC=    $(ONBLD_TOOLS)/bin/$(MACH)/cw -_gcc
 815 amd64_CCC=              $(ONBLD_TOOLS)/bin/$(MACH)/cw -_CC
 816 $(__GNUC64)amd64_CCC=   $(ONBLD_TOOLS)/bin/$(MACH)/cw -_g++
 817 amd64_CPP=              /usr/ccs/lib/cpp
 818 amd64_AS=               $(ONBLD_TOOLS)/bin/$(MACH)/aw
 819 amd64_LD=               /usr/ccs/bin/ld
 820 amd64_LINT=             $(SPRO_ROOT)/sunstudio12.1/bin/lint
 821 
 822 NATIVECC=               $($(NATIVE_MACH)_CC)
 823 NATIVECCC=              $($(NATIVE_MACH)_CCC)
 824 NATIVECPP=              $($(NATIVE_MACH)_CPP)
 825 NATIVEAS=               $($(NATIVE_MACH)_AS)
 826 NATIVELD=               $($(NATIVE_MACH)_LD)
 827 NATIVELINT=             $($(NATIVE_MACH)_LINT)
 828 







 829 #
 830 # Makefile.master.64 overrides these settings
 831 #
 832 CC=                     $(NATIVECC)
 833 CCC=                    $(NATIVECCC)
 834 CPP=                    $(NATIVECPP)
 835 AS=                     $(NATIVEAS)
 836 LD=                     $(NATIVELD)
 837 LINT=                   $(NATIVELINT)
 838 







 839 # The real compilers used for this build
 840 CW_CC_CMD=              $(CC) -_compiler
 841 CW_CCC_CMD=             $(CCC) -_compiler
 842 REAL_CC=                $(CW_CC_CMD:sh)
 843 REAL_CCC=               $(CW_CCC_CMD:sh)
 844 
 845 # Pass -Y flag to cpp (method of which is release-dependent)
 846 CCYFLAG=                -Y I,
 847 
 848 BDIRECT=        -Bdirect
 849 BDYNAMIC=       -Bdynamic
 850 BLOCAL=         -Blocal
 851 BNODIRECT=      -Bnodirect
 852 BREDUCE=        -Breduce
 853 BSTATIC=        -Bstatic
 854 
 855 ZDEFS=          -zdefs
 856 ZDIRECT=        -zdirect
 857 ZIGNORE=        -zignore
 858 ZINITFIRST=     -zinitfirst




  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 2012 OmniTI Computer Consulting, Inc.  All rights reserved.
  25 # Copyright (c) 2012 by Delphix. All rights reserved.
  26 # Copyright 2014 Garrett D'Amore <garrett@damore.org>
  27 # Copyright 2015, OmniTI Computer Consulting, Inc. All rights reserved.
  28 # Copyright 2015 Gary Mills
  29 # Copyright 2015 Igor Kozhukhov <ikozhukhov@gmail.com>
  30 # Copyright 2016 Toomas Soome <tsoome@me.com>
  31 # Copyright 2016 RackTop Systems.
  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.


  90 # __GNUC and GCC are the default.
  91 #
  92 # __GNUC64 indicates that the 64bit build should use the GNU C compiler.
  93 # There is no Sun C analogue.
  94 #
  95 # The following version-specific options are operative regardless of which
  96 # compiler is primary, and control the versions of the given compilers to be
  97 # used.  They also allow compiler-version specific Makefile fragments.
  98 #
  99 
 100 __SUNC=                 $(POUND_SIGN)
 101 $(__SUNC)__GNUC=        $(POUND_SIGN)
 102 __GNUC64=               $(__GNUC)
 103 
 104 # Allow build-time "configuration" to enable or disable some things.
 105 # The default is POUND_SIGN, meaning "not enabled". If the environment
 106 # passes in an override like ENABLE_SMB_PRINTING= (empty) that will
 107 # uncomment things in the lower Makefiles to enable the feature.
 108 ENABLE_IPP_PRINTING=    $(POUND_SIGN)
 109 ENABLE_SMB_PRINTING=    $(POUND_SIGN)
 110 ENABLE_64BIT_PERL=      $(POUND_SIGN)
 111 
 112 # CLOSED is the root of the tree that contains source which isn't released
 113 # as open source
 114 CLOSED=         $(SRC)/../closed
 115 
 116 # BUILD_TOOLS is the root of all tools including compilers.
 117 # ONBLD_TOOLS is the root of all the tools that are part of SUNWonbld.
 118 
 119 BUILD_TOOLS=            /ws/onnv-tools
 120 ONBLD_TOOLS=            $(BUILD_TOOLS)/onbld
 121 
 122 # define runtime JAVA_HOME, primarily for cmd/pools/poold
 123 JAVA_HOME=      /usr/java
 124 # define buildtime JAVA_ROOT
 125 JAVA_ROOT=      /usr/java
 126 
 127 GCC_ROOT=       /opt/gcc/4.4.4
 128 GCCLIBDIR=      $(GCC_ROOT)/lib
 129 GCCLIBDIR64=    $(GCC_ROOT)/lib/$(MACH64)
 130 


 161 LEX=            /usr/ccs/bin/lex
 162 FLEX=           /usr/bin/flex
 163 YACC=           /usr/ccs/bin/yacc
 164 CPP=            /usr/lib/cpp
 165 JAVAC=          $(JAVA_ROOT)/bin/javac
 166 JAVAH=          $(JAVA_ROOT)/bin/javah
 167 JAVADOC=        $(JAVA_ROOT)/bin/javadoc
 168 RMIC=           $(JAVA_ROOT)/bin/rmic
 169 JAR=            $(JAVA_ROOT)/bin/jar
 170 CTFCONVERT=     $(ONBLD_TOOLS)/bin/$(MACH)/ctfconvert
 171 CTFMERGE=       $(ONBLD_TOOLS)/bin/$(MACH)/ctfmerge
 172 CTFSTABS=       $(ONBLD_TOOLS)/bin/$(MACH)/ctfstabs
 173 CTFSTRIP=       $(ONBLD_TOOLS)/bin/$(MACH)/ctfstrip
 174 NDRGEN=         $(ONBLD_TOOLS)/bin/$(MACH)/ndrgen
 175 GENOFFSETS=     $(ONBLD_TOOLS)/bin/genoffsets
 176 XREF=           $(ONBLD_TOOLS)/bin/xref
 177 FIND=           /usr/bin/find
 178 PERL=           /usr/bin/perl
 179 PERL_VERSION=   5.16.1
 180 PERL_PKGVERS=   -5161
 181 PERL_MACH=      i86pc
 182 $(SPARC_BLD)PERL_MACH=  sun4
 183 PERL_ARCH=      $(PERL_MACH)-solaris$(PERL_VARIANT)-64int
 184 PERL_ARCH64=    $(PERL_MACH)-solaris$(PERL_VARIANT)-64
 185 PYTHON_VERSION= 2.7
 186 PYTHON_PKGVERS= -27
 187 PYTHON=         /usr/bin/python$(PYTHON_VERSION)
 188 SORT=           /usr/bin/sort
 189 TOUCH=          /usr/bin/touch
 190 WC=             /usr/bin/wc
 191 XARGS=          /usr/bin/xargs
 192 ELFEDIT=        /usr/bin/elfedit
 193 ELFSIGN=        /usr/bin/elfsign
 194 DTRACE=         /usr/sbin/dtrace -xnolibs
 195 UNIQ=           /usr/bin/uniq
 196 TAR=            /usr/bin/tar
 197 ASTBINDIR=      /usr/ast/bin
 198 MSGCC=          $(ASTBINDIR)/msgcc
 199 MSGFMT=         /usr/bin/msgfmt -s
 200 
 201 FILEMODE=       644
 202 DIRMODE=        755
 203 
 204 # Declare that nothing should be built in parallel.


 697 COMPILE.cc=     $(CCC) $(CCFLAGS) $(CPPFLAGS) -c
 698 COMPILE64.cc=   $(CCC) $(CCFLAGS64) $(CPPFLAGS) -c
 699 COMPILE.s=      $(AS) $(ASFLAGS) $(AS_CPPFLAGS)
 700 COMPILE64.s=    $(AS) $(ASFLAGS) $($(MACH64)_AS_XARCH) $(AS_CPPFLAGS)
 701 COMPILE.d=      $(DTRACE) -G -32
 702 COMPILE64.d=    $(DTRACE) -G -64
 703 COMPILE.b=      $(ELFWRAP) $(ELFWRAP_FLAGS$(CLASS))
 704 COMPILE64.b=    $(ELFWRAP) $(ELFWRAP_FLAGS$(CLASS))
 705 
 706 CLASSPATH=      .
 707 COMPILE.java=   $(JAVAC) $(JAVAFLAGS) -classpath $(CLASSPATH)
 708 
 709 #
 710 # Link time macros
 711 #
 712 CCNEEDED                = -lC
 713 CCEXTNEEDED             = -lCrun -lCstd
 714 $(__GNUC)CCNEEDED       = -L$(GCCLIBDIR) -lstdc++ -lgcc_s
 715 $(__GNUC)CCEXTNEEDED    = $(CCNEEDED)
 716 
 717 CCNEEDED64              = -lCrun
 718 CCEXTNEEDED64           = -lCrun -lCstd
 719 $(__GNUC64)CCNEEDED64   = -L$(GCCLIBDIR) -lstdc++ -lgcc_s
 720 $(__GNUC64)CCEXTNEEDED  = $(CCNEEDED64)
 721 
 722 LINK.c=         $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)
 723 LINK64.c=       $(CC) $(CFLAGS64) $(CPPFLAGS) $(LDFLAGS)
 724 NORUNPATH=      -norunpath -nolib
 725 LINK.cc=        $(CCC) $(CCFLAGS) $(CPPFLAGS) $(NORUNPATH) \
 726                 $(LDFLAGS) $(CCNEEDED)
 727 LINK64.cc=      $(CCC) $(CCFLAGS64) $(CPPFLAGS) $(NORUNPATH) \
 728                 $(LDFLAGS) $(CCNEEDED64)
 729 
 730 #
 731 # lint macros
 732 #
 733 # Note that the undefine of __PRAGMA_REDEFINE_EXTNAME can be removed once
 734 # ON is built with a version of lint that has the fix for 4484186.
 735 #
 736 ALWAYS_LINT_DEFS =      -errtags=yes -s
 737 ALWAYS_LINT_DEFS +=     -erroff=E_PTRDIFF_OVERFLOW
 738 ALWAYS_LINT_DEFS +=     -erroff=E_ASSIGN_NARROW_CONV
 739 ALWAYS_LINT_DEFS +=     -U__PRAGMA_REDEFINE_EXTNAME
 740 ALWAYS_LINT_DEFS +=     $(C99LMODE)
 741 ALWAYS_LINT_DEFS +=     -errsecurity=$(SECLEVEL)
 742 ALWAYS_LINT_DEFS +=     -erroff=E_SEC_CREAT_WITHOUT_EXCL
 743 ALWAYS_LINT_DEFS +=     -erroff=E_SEC_FORBIDDEN_WARN_CREAT
 744 # XX64 -- really only needed for amd64 lint
 745 ALWAYS_LINT_DEFS +=     -erroff=E_ASSIGN_INT_TO_SMALL_INT
 746 ALWAYS_LINT_DEFS +=     -erroff=E_CAST_INT_CONST_TO_SMALL_INT
 747 ALWAYS_LINT_DEFS +=     -erroff=E_CAST_INT_TO_SMALL_INT
 748 ALWAYS_LINT_DEFS +=     -erroff=E_CAST_TO_PTR_FROM_INT


 751 ALWAYS_LINT_DEFS +=     -erroff=E_PASS_INT_TO_SMALL_INT
 752 ALWAYS_LINT_DEFS +=     -erroff=E_PTR_CONV_LOSES_BITS
 753 
 754 # This forces lint to pick up note.h and sys/note.h from Devpro rather than
 755 # from the proto area.  The note.h that ON delivers would disable NOTE().
 756 ONLY_LINT_DEFS =        -I$(SPRO_VROOT)/prod/include/lint
 757 
 758 SECLEVEL=       core
 759 LINT.c=         $(LINT) $(ONLY_LINT_DEFS) $(LINTFLAGS) $(CPPFLAGS) \
 760                 $(ALWAYS_LINT_DEFS)
 761 LINT64.c=       $(LINT) $(ONLY_LINT_DEFS) $(LINTFLAGS64) $(CPPFLAGS) \
 762                 $(ALWAYS_LINT_DEFS)
 763 LINT.s=         $(LINT.c)
 764 
 765 # For some future builds, NATIVE_MACH and MACH might be different.
 766 # Therefore, NATIVE_MACH needs to be redefined in the
 767 # environment as `uname -p` to override this macro.
 768 #
 769 # For now at least, we cross-compile amd64 on i386 machines.
 770 NATIVE_MACH=    $(MACH:amd64=i386)
 771 NATIVE_MACH64=  $(MACH64)
 772 
 773 # Define native compilation macros
 774 #
 775 
 776 # Base directory where compilers are loaded.
 777 # Defined here so it can be overridden by developer.
 778 #
 779 SPRO_ROOT=              $(BUILD_TOOLS)/SUNWspro
 780 SPRO_VROOT=             $(SPRO_ROOT)/SS12
 781 GNU_ROOT=               /usr
 782 
 783 # Till SS12u1 formally becomes the NV CBE, LINT is hard
 784 # coded to be picked up from the $SPRO_ROOT/sunstudio12.1/
 785 # location. Impacted variables are sparc_LINT, sparcv9_LINT,
 786 # i386_LINT, amd64_LINT.
 787 # Reset them when SS12u1 is rolled out.
 788 #
 789 
 790 # Specify platform compiler versions for languages
 791 # that we use (currently only c and c++).


 817 $(__GNUC)i386_AS=       $(ONBLD_TOOLS)/bin/$(MACH)/aw
 818 i386_LD=                /usr/ccs/bin/ld
 819 i386_LINT=              $(SPRO_ROOT)/sunstudio12.1/bin/lint
 820 
 821 amd64_CC=               $(ONBLD_TOOLS)/bin/$(MACH)/cw -_cc
 822 $(__GNUC64)amd64_CC=    $(ONBLD_TOOLS)/bin/$(MACH)/cw -_gcc
 823 amd64_CCC=              $(ONBLD_TOOLS)/bin/$(MACH)/cw -_CC
 824 $(__GNUC64)amd64_CCC=   $(ONBLD_TOOLS)/bin/$(MACH)/cw -_g++
 825 amd64_CPP=              /usr/ccs/lib/cpp
 826 amd64_AS=               $(ONBLD_TOOLS)/bin/$(MACH)/aw
 827 amd64_LD=               /usr/ccs/bin/ld
 828 amd64_LINT=             $(SPRO_ROOT)/sunstudio12.1/bin/lint
 829 
 830 NATIVECC=               $($(NATIVE_MACH)_CC)
 831 NATIVECCC=              $($(NATIVE_MACH)_CCC)
 832 NATIVECPP=              $($(NATIVE_MACH)_CPP)
 833 NATIVEAS=               $($(NATIVE_MACH)_AS)
 834 NATIVELD=               $($(NATIVE_MACH)_LD)
 835 NATIVELINT=             $($(NATIVE_MACH)_LINT)
 836 
 837 NATIVECC64=             $($(NATIVE_MACH64)_CC)
 838 NATIVECCC64=            $($(NATIVE_MACH64)_CCC)
 839 NATIVECPP64=            $($(NATIVE_MACH64)_CPP)
 840 NATIVEAS64=             $($(NATIVE_MACH64)_AS)
 841 NATIVELD64=             $($(NATIVE_MACH64)_LD)
 842 NATIVELINT64=           $($(NATIVE_MACH64)_LINT)
 843 
 844 #
 845 # Makefile.master.64 overrides these settings
 846 #
 847 CC=                     $(NATIVECC)
 848 CCC=                    $(NATIVECCC)
 849 CPP=                    $(NATIVECPP)
 850 AS=                     $(NATIVEAS)
 851 LD=                     $(NATIVELD)
 852 LINT=                   $(NATIVELINT)
 853 
 854 CC64=                   $(NATIVECC64)
 855 CCC64=                  $(NATIVECCC64)
 856 CPP64=                  $(NATIVECPP64)
 857 AS64=                   $(NATIVEAS64)
 858 LD64=                   $(NATIVELD64)
 859 LINT64=                 $(NATIVELINT64)
 860 
 861 # The real compilers used for this build
 862 CW_CC_CMD=              $(CC) -_compiler
 863 CW_CCC_CMD=             $(CCC) -_compiler
 864 REAL_CC=                $(CW_CC_CMD:sh)
 865 REAL_CCC=               $(CW_CCC_CMD:sh)
 866 
 867 # Pass -Y flag to cpp (method of which is release-dependent)
 868 CCYFLAG=                -Y I,
 869 
 870 BDIRECT=        -Bdirect
 871 BDYNAMIC=       -Bdynamic
 872 BLOCAL=         -Blocal
 873 BNODIRECT=      -Bnodirect
 874 BREDUCE=        -Breduce
 875 BSTATIC=        -Bstatic
 876 
 877 ZDEFS=          -zdefs
 878 ZDIRECT=        -zdirect
 879 ZIGNORE=        -zignore
 880 ZINITFIRST=     -zinitfirst