Print this page
4027 remove CLOSED_BUILD
4028 remove CLOSED_IS_PRESENT
4029 remove tonic build bits
Reviewed by: Andy Stormont <andyjstormont@gmail.com>


  31 
  32 #
  33 # Adjunct root, containing an additional proto area to be used for headers
  34 # and libraries.
  35 #
  36 ADJUNCT_PROTO=
  37 
  38 #
  39 # Adjunct for building things that run on the build machine.
  40 #
  41 NATIVE_ADJUNCT= /usr
  42 
  43 #
  44 # RELEASE_BUILD should be cleared for final release builds.
  45 # NOT_RELEASE_BUILD is exactly what the name implies.
  46 #
  47 # INTERNAL_RELEASE_BUILD is a subset of RELEASE_BUILD. It mostly controls
  48 # identification strings. Enabling RELEASE_BUILD automatically enables
  49 # INTERNAL_RELEASE_BUILD.
  50 #
  51 # CLOSED_BUILD controls whether we try to build files under
  52 # usr/closed.  ("" means to build closed code, "#" means don't try to
  53 # build it.)  Skipping the closed code implies doing an export release
  54 # build.
  55 #
  56 # STRIP_COMMENTS toggles comment section striping. Generally the same setting
  57 # as INTERNAL_RELEASE_BUILD.
  58 #
  59 # __GNUC toggles the building of ON components using gcc and related tools.
  60 # Normally set to `#', set it to `' to do gcc build.
  61 #
  62 # The declaration POUND_SIGN is always '#'. This is needed to get around the
  63 # make feature that '#' is always a comment delimiter, even when escaped or
  64 # quoted. We use this macro expansion method to get POUND_SIGN rather than
  65 # always breaking out a shell because the general case can cause a noticable
  66 # slowdown in build times when so many Makefiles include Makefile.master.
  67 #
  68 # While the majority of users are expected to override the setting below
  69 # with an env file (via nightly or bldenv), if you aren't building that way
  70 # (ie, you're using "ws" or some other bootstrapping method) then you need
  71 # this definition in order to avoid the subshell invocation mentioned above.
  72 #
  73 
  74 PRE_POUND=                              pre\#
  75 POUND_SIGN=                             $(PRE_POUND:pre\%=%)
  76 
  77 NOT_RELEASE_BUILD=
  78 INTERNAL_RELEASE_BUILD=                 $(POUND_SIGN)
  79 RELEASE_BUILD=                          $(POUND_SIGN)
  80 $(RELEASE_BUILD)NOT_RELEASE_BUILD=      $(POUND_SIGN)
  81 $(RELEASE_BUILD)INTERNAL_RELEASE_BUILD=
  82 PATCH_BUILD=                            $(POUND_SIGN)
  83 
  84 # If CLOSED_IS_PRESENT is not set, assume the closed tree is present.
  85 CLOSED_BUILD_1= $(CLOSED_IS_PRESENT:yes=)
  86 CLOSED_BUILD=   $(CLOSED_BUILD_1:no=$(POUND_SIGN))
  87 
  88 # SPARC_BLD is '#' for an Intel build.
  89 # INTEL_BLD is '#' for a Sparc build.
  90 SPARC_BLD_1=    $(MACH:i386=$(POUND_SIGN))
  91 SPARC_BLD=      $(SPARC_BLD_1:sparc=)
  92 INTEL_BLD_1=    $(MACH:sparc=$(POUND_SIGN))
  93 INTEL_BLD=      $(INTEL_BLD_1:i386=)
  94 
  95 STRIP_COMMENTS= $(INTERNAL_RELEASE_BUILD)
  96 
  97 # Are we building tonic closedbins? Unless you have used the
  98 # -O flag to nightly or bldenv, leave the definition of TONICBUILD
  99 # as $(POUND_SIGN).
 100 #
 101 # IF YOU CHANGE CLOSEDROOT, you MUST change install.bin
 102 # to match the new definition.
 103 TONICBUILD=     $(POUND_SIGN)
 104 $(TONICBUILD)CLOSEDROOT= $(ROOT)-closed
 105 
 106 
 107 # The variables below control the compilers used during the build.
 108 # There are a number of permutations.
 109 #
 110 # __GNUC and __SUNC control (and indicate) the primary compiler.  Whichever
 111 # one is not POUND_SIGN is the primary, with the other as the shadow.  They
 112 # may also be used to control entirely compiler-specific Makefile assignments.
 113 # __SUNC and Sun Studio are the default.
 114 #
 115 # __GNUC64 indicates that the 64bit build should use the GNU C compiler.
 116 # There is no Sun C analogue.
 117 #
 118 # The following version-specific options are operative regardless of which
 119 # compiler is primary, and control the versions of the given compilers to be
 120 # used.  They also allow compiler-version specific Makefile fragments.
 121 #
 122 
 123 __GNUC=                 $(POUND_SIGN)
 124 $(__GNUC)__SUNC=        $(POUND_SIGN)
 125 __GNUC64=               $(__GNUC)
 126 


 230 JSTYLE=         $(ONBLD_TOOLS)/bin/jstyle
 231 
 232 DOT_H_CHECK=    \
 233         @$(ECHO) "checking $<"; $(CSTYLE) $< $(CSTYLE_TAIL); \
 234         $(HDRCHK) $< $(HDRCHK_TAIL)
 235 
 236 DOT_X_CHECK=    \
 237         @$(ECHO) "checking $<"; $(RPCGEN) -C -h $< | $(CSTYLE) $(CSTYLE_TAIL); \
 238         $(RPCGEN) -C -h $< | $(HDRCHK) $< $(HDRCHK_TAIL)
 239 
 240 DOT_C_CHECK=    \
 241         @$(ECHO) "checking $<"; $(CSTYLE) $< $(CSTYLE_TAIL)
 242 
 243 MANIFEST_CHECK= \
 244         @$(ECHO) "checking $<"; \
 245         SVCCFG_DTD=$(SRC)/cmd/svc/dtd/service_bundle.dtd.1 \
 246         SVCCFG_REPOSITORY=$(SRC)/cmd/svc/seed/global.db \
 247         SVCCFG_CONFIGD_PATH=$(SRC)/cmd/svc/configd/svc.configd-native \
 248         $(SRC)/cmd/svc/svccfg/svccfg-native validate $<
 249 
 250 #
 251 # IMPORTANT:: If you change any of INS.file, INS.dir, INS.rename,
 252 # INS.link or INS.symlink here, then you must also change the
 253 # corresponding override definitions in $CLOSED/Makefile.tonic.
 254 # If you do not do this, then the closedbins build for the OpenSolaris
 255 # community will break. PS, the gatekeepers will be upset too.
 256 INS.file=       $(RM) $@; $(INS) -s -m $(FILEMODE) -f $(@D) $<
 257 INS.dir=        $(INS) -s -d -m $(DIRMODE) $@
 258 # installs and renames at once
 259 #
 260 INS.rename=     $(INS.file); $(MV) $(@D)/$(<F) $@
 261 
 262 # install a link
 263 INSLINKTARGET=  $<
 264 INS.link=       $(RM) $@; $(LN) $(INSLINKTARGET) $@
 265 INS.symlink=    $(RM) $@; $(SYMLINK) $(INSLINKTARGET) $@
 266 
 267 #
 268 # Python bakes the mtime of the .py file into the compiled .pyc and
 269 # rebuilds if the baked-in mtime != the mtime of the source file
 270 # (rather than only if it's less than), thus when installing python
 271 # files we must make certain to not adjust the mtime of the source
 272 # (.py) file.
 273 #
 274 INS.pyfile=     $(INS.file); $(TOUCH) -r $< $@
 275 




  31 
  32 #
  33 # Adjunct root, containing an additional proto area to be used for headers
  34 # and libraries.
  35 #
  36 ADJUNCT_PROTO=
  37 
  38 #
  39 # Adjunct for building things that run on the build machine.
  40 #
  41 NATIVE_ADJUNCT= /usr
  42 
  43 #
  44 # RELEASE_BUILD should be cleared for final release builds.
  45 # NOT_RELEASE_BUILD is exactly what the name implies.
  46 #
  47 # INTERNAL_RELEASE_BUILD is a subset of RELEASE_BUILD. It mostly controls
  48 # identification strings. Enabling RELEASE_BUILD automatically enables
  49 # INTERNAL_RELEASE_BUILD.
  50 #





  51 # STRIP_COMMENTS toggles comment section striping. Generally the same setting
  52 # as INTERNAL_RELEASE_BUILD.
  53 #
  54 # __GNUC toggles the building of ON components using gcc and related tools.
  55 # Normally set to `#', set it to `' to do gcc build.
  56 #
  57 # The declaration POUND_SIGN is always '#'. This is needed to get around the
  58 # make feature that '#' is always a comment delimiter, even when escaped or
  59 # quoted. We use this macro expansion method to get POUND_SIGN rather than
  60 # always breaking out a shell because the general case can cause a noticable
  61 # slowdown in build times when so many Makefiles include Makefile.master.
  62 #
  63 # While the majority of users are expected to override the setting below
  64 # with an env file (via nightly or bldenv), if you aren't building that way
  65 # (ie, you're using "ws" or some other bootstrapping method) then you need
  66 # this definition in order to avoid the subshell invocation mentioned above.
  67 #
  68 
  69 PRE_POUND=                              pre\#
  70 POUND_SIGN=                             $(PRE_POUND:pre\%=%)
  71 
  72 NOT_RELEASE_BUILD=
  73 INTERNAL_RELEASE_BUILD=                 $(POUND_SIGN)
  74 RELEASE_BUILD=                          $(POUND_SIGN)
  75 $(RELEASE_BUILD)NOT_RELEASE_BUILD=      $(POUND_SIGN)
  76 $(RELEASE_BUILD)INTERNAL_RELEASE_BUILD=
  77 PATCH_BUILD=                            $(POUND_SIGN)
  78 




  79 # SPARC_BLD is '#' for an Intel build.
  80 # INTEL_BLD is '#' for a Sparc build.
  81 SPARC_BLD_1=    $(MACH:i386=$(POUND_SIGN))
  82 SPARC_BLD=      $(SPARC_BLD_1:sparc=)
  83 INTEL_BLD_1=    $(MACH:sparc=$(POUND_SIGN))
  84 INTEL_BLD=      $(INTEL_BLD_1:i386=)
  85 
  86 STRIP_COMMENTS= $(INTERNAL_RELEASE_BUILD)
  87 










  88 # The variables below control the compilers used during the build.
  89 # There are a number of permutations.
  90 #
  91 # __GNUC and __SUNC control (and indicate) the primary compiler.  Whichever
  92 # one is not POUND_SIGN is the primary, with the other as the shadow.  They
  93 # may also be used to control entirely compiler-specific Makefile assignments.
  94 # __SUNC and Sun Studio are the default.
  95 #
  96 # __GNUC64 indicates that the 64bit build should use the GNU C compiler.
  97 # There is no Sun C analogue.
  98 #
  99 # The following version-specific options are operative regardless of which
 100 # compiler is primary, and control the versions of the given compilers to be
 101 # used.  They also allow compiler-version specific Makefile fragments.
 102 #
 103 
 104 __GNUC=                 $(POUND_SIGN)
 105 $(__GNUC)__SUNC=        $(POUND_SIGN)
 106 __GNUC64=               $(__GNUC)
 107 


 211 JSTYLE=         $(ONBLD_TOOLS)/bin/jstyle
 212 
 213 DOT_H_CHECK=    \
 214         @$(ECHO) "checking $<"; $(CSTYLE) $< $(CSTYLE_TAIL); \
 215         $(HDRCHK) $< $(HDRCHK_TAIL)
 216 
 217 DOT_X_CHECK=    \
 218         @$(ECHO) "checking $<"; $(RPCGEN) -C -h $< | $(CSTYLE) $(CSTYLE_TAIL); \
 219         $(RPCGEN) -C -h $< | $(HDRCHK) $< $(HDRCHK_TAIL)
 220 
 221 DOT_C_CHECK=    \
 222         @$(ECHO) "checking $<"; $(CSTYLE) $< $(CSTYLE_TAIL)
 223 
 224 MANIFEST_CHECK= \
 225         @$(ECHO) "checking $<"; \
 226         SVCCFG_DTD=$(SRC)/cmd/svc/dtd/service_bundle.dtd.1 \
 227         SVCCFG_REPOSITORY=$(SRC)/cmd/svc/seed/global.db \
 228         SVCCFG_CONFIGD_PATH=$(SRC)/cmd/svc/configd/svc.configd-native \
 229         $(SRC)/cmd/svc/svccfg/svccfg-native validate $<
 230 






 231 INS.file=       $(RM) $@; $(INS) -s -m $(FILEMODE) -f $(@D) $<
 232 INS.dir=        $(INS) -s -d -m $(DIRMODE) $@
 233 # installs and renames at once
 234 #
 235 INS.rename=     $(INS.file); $(MV) $(@D)/$(<F) $@
 236 
 237 # install a link
 238 INSLINKTARGET=  $<
 239 INS.link=       $(RM) $@; $(LN) $(INSLINKTARGET) $@
 240 INS.symlink=    $(RM) $@; $(SYMLINK) $(INSLINKTARGET) $@
 241 
 242 #
 243 # Python bakes the mtime of the .py file into the compiled .pyc and
 244 # rebuilds if the baked-in mtime != the mtime of the source file
 245 # (rather than only if it's less than), thus when installing python
 246 # files we must make certain to not adjust the mtime of the source
 247 # (.py) file.
 248 #
 249 INS.pyfile=     $(INS.file); $(TOUCH) -r $< $@
 250