Print this page
native tools must reliably use a native adjunct, even if that's inconvenient
While it is perhaps convenient for native tools to use updated versions
of certain things like libxml it is imperative that those versions are
_also_ build for the build machine.  Thus they need to be in the native
adjunct (even if that native adjunct is thus not /).
Fix the native adjunct to be rooted similarly to the adjunct proto (that
is, at /), and fix SMF to use it correctly


  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 #
  30 
  31 #
  32 # Makefile.master, global definitions for system source
  33 #
  34 ROOT=           /proto
  35 
  36 #
  37 # Adjunct root, containing an additional proto area to be used for headers
  38 # and libraries.
  39 #
  40 ADJUNCT_PROTO=
  41 
  42 #
  43 # Adjunct for building things that run on the build machine.
  44 #
  45 NATIVE_ADJUNCT= /usr
  46 
  47 #
  48 # RELEASE_BUILD should be cleared for final release builds.
  49 # NOT_RELEASE_BUILD is exactly what the name implies.
  50 #
  51 # __GNUC toggles the building of ON components using gcc and related tools.
  52 # Normally set to `#', set it to `' to do gcc build.
  53 #
  54 # The declaration POUND_SIGN is always '#'. This is needed to get around the
  55 # make feature that '#' is always a comment delimiter, even when escaped or
  56 # quoted. We use this macro expansion method to get POUND_SIGN rather than
  57 # always breaking out a shell because the general case can cause a noticable
  58 # slowdown in build times when so many Makefiles include Makefile.master.
  59 #
  60 # While the majority of users are expected to override the setting below
  61 # with an env file (via nightly or bldenv), if you aren't building that way
  62 # (ie, you're using "ws" or some other bootstrapping method) then you need
  63 # this definition in order to avoid the subshell invocation mentioned above.
  64 #
  65 


 542 CFLAGS64=       $(COPTFLAG64) $($(MACH64)_CFLAGS) $(SPACEFLAG64) $(CCMODE64) \
 543                 $(ILDOFF) $(CERRWARN) $(C99MODE) $(CCUNBOUND) $(IROPTFLAG64) \
 544                 $(CGLOBALSTATIC) $(CCNOAUTOINLINE) $(CSOURCEDEBUGFLAGS) \
 545                 $(CUSERFLAGS64)
 546 #
 547 # Flags that are used to build parts of the code that are subsequently
 548 # run on the build machine (also known as the NATIVE_BUILD).
 549 #
 550 NATIVE_CFLAGS=  $(COPTFLAG) $($(NATIVE_MACH)_CFLAGS) $(CCMODE) \
 551                 $(ILDOFF) $(CERRWARN) $(C99MODE) $($(NATIVE_MACH)_CCUNBOUND) \
 552                 $(IROPTFLAG) $(CGLOBALSTATIC) $(CCNOAUTOINLINE) \
 553                 $(CSOURCEDEBUGFLAGS) $(CUSERFLAGS)
 554 
 555 DTEXTDOM=-DTEXT_DOMAIN=\"$(TEXT_DOMAIN)\"       # For messaging.
 556 DTS_ERRNO=-D_TS_ERRNO
 557 CPPFLAGS.first= # Please keep empty.  Only lower makefiles should set this.
 558 CPPFLAGS.master=$(DTEXTDOM) $(DTS_ERRNO) \
 559         $(ENVCPPFLAGS1) $(ENVCPPFLAGS2) $(ENVCPPFLAGS3) $(ENVCPPFLAGS4) \
 560         $(ADJUNCT_PROTO:%=-I%/usr/include)
 561 CPPFLAGS.native=$(ENVCPPFLAGS1) $(ENVCPPFLAGS2) $(ENVCPPFLAGS3) \
 562                 $(ENVCPPFLAGS4) -I$(NATIVE_ADJUNCT)/include
 563 CPPFLAGS=       $(CPPFLAGS.first) $(CPPFLAGS.master)
 564 AS_CPPFLAGS=    $(CPPFLAGS.first) $(CPPFLAGS.master)
 565 JAVAFLAGS=      -source 1.6 -target 1.6 -Xlint:deprecation,-options
 566 
 567 #
 568 # For source message catalogue
 569 #
 570 .SUFFIXES: $(SUFFIXES) .i .po
 571 MSGROOT= $(ROOT)/catalog
 572 MSGDOMAIN= $(MSGROOT)/$(TEXT_DOMAIN)
 573 MSGDOMAINPOFILE = $(MSGDOMAIN)/$(POFILE)
 574 DCMSGDOMAIN= $(MSGROOT)/LC_TIME/$(TEXT_DOMAIN)
 575 DCMSGDOMAINPOFILE = $(DCMSGDOMAIN)/$(DCFILE:.dc=.po)
 576 
 577 CLOBBERFILES += $(POFILE) $(POFILES)
 578 COMPILE.cpp= $(CC) -E -C $(CFLAGS) $(CPPFLAGS)
 579 XGETTEXT= /usr/bin/xgettext
 580 XGETFLAGS= -c TRANSLATION_NOTE
 581 GNUXGETTEXT= /usr/gnu/bin/xgettext
 582 GNUXGETFLAGS= --add-comments=TRANSLATION_NOTE --keyword=_ \




  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 #
  30 
  31 #
  32 # Makefile.master, global definitions for system source
  33 #
  34 ROOT=           /proto
  35 
  36 #
  37 # Adjunct root, containing an additional proto area to be used for headers
  38 # and libraries.
  39 #
  40 ADJUNCT_PROTO=
  41 
  42 #
  43 # Adjunct for building things that run on the build machine.
  44 #
  45 NATIVE_ADJUNCT= /
  46 
  47 #
  48 # RELEASE_BUILD should be cleared for final release builds.
  49 # NOT_RELEASE_BUILD is exactly what the name implies.
  50 #
  51 # __GNUC toggles the building of ON components using gcc and related tools.
  52 # Normally set to `#', set it to `' to do gcc build.
  53 #
  54 # The declaration POUND_SIGN is always '#'. This is needed to get around the
  55 # make feature that '#' is always a comment delimiter, even when escaped or
  56 # quoted. We use this macro expansion method to get POUND_SIGN rather than
  57 # always breaking out a shell because the general case can cause a noticable
  58 # slowdown in build times when so many Makefiles include Makefile.master.
  59 #
  60 # While the majority of users are expected to override the setting below
  61 # with an env file (via nightly or bldenv), if you aren't building that way
  62 # (ie, you're using "ws" or some other bootstrapping method) then you need
  63 # this definition in order to avoid the subshell invocation mentioned above.
  64 #
  65 


 542 CFLAGS64=       $(COPTFLAG64) $($(MACH64)_CFLAGS) $(SPACEFLAG64) $(CCMODE64) \
 543                 $(ILDOFF) $(CERRWARN) $(C99MODE) $(CCUNBOUND) $(IROPTFLAG64) \
 544                 $(CGLOBALSTATIC) $(CCNOAUTOINLINE) $(CSOURCEDEBUGFLAGS) \
 545                 $(CUSERFLAGS64)
 546 #
 547 # Flags that are used to build parts of the code that are subsequently
 548 # run on the build machine (also known as the NATIVE_BUILD).
 549 #
 550 NATIVE_CFLAGS=  $(COPTFLAG) $($(NATIVE_MACH)_CFLAGS) $(CCMODE) \
 551                 $(ILDOFF) $(CERRWARN) $(C99MODE) $($(NATIVE_MACH)_CCUNBOUND) \
 552                 $(IROPTFLAG) $(CGLOBALSTATIC) $(CCNOAUTOINLINE) \
 553                 $(CSOURCEDEBUGFLAGS) $(CUSERFLAGS)
 554 
 555 DTEXTDOM=-DTEXT_DOMAIN=\"$(TEXT_DOMAIN)\"       # For messaging.
 556 DTS_ERRNO=-D_TS_ERRNO
 557 CPPFLAGS.first= # Please keep empty.  Only lower makefiles should set this.
 558 CPPFLAGS.master=$(DTEXTDOM) $(DTS_ERRNO) \
 559         $(ENVCPPFLAGS1) $(ENVCPPFLAGS2) $(ENVCPPFLAGS3) $(ENVCPPFLAGS4) \
 560         $(ADJUNCT_PROTO:%=-I%/usr/include)
 561 CPPFLAGS.native=$(ENVCPPFLAGS1) $(ENVCPPFLAGS2) $(ENVCPPFLAGS3) \
 562                 $(ENVCPPFLAGS4) -I$(NATIVE_ADJUNCT)/usr/include
 563 CPPFLAGS=       $(CPPFLAGS.first) $(CPPFLAGS.master)
 564 AS_CPPFLAGS=    $(CPPFLAGS.first) $(CPPFLAGS.master)
 565 JAVAFLAGS=      -source 1.6 -target 1.6 -Xlint:deprecation,-options
 566 
 567 #
 568 # For source message catalogue
 569 #
 570 .SUFFIXES: $(SUFFIXES) .i .po
 571 MSGROOT= $(ROOT)/catalog
 572 MSGDOMAIN= $(MSGROOT)/$(TEXT_DOMAIN)
 573 MSGDOMAINPOFILE = $(MSGDOMAIN)/$(POFILE)
 574 DCMSGDOMAIN= $(MSGROOT)/LC_TIME/$(TEXT_DOMAIN)
 575 DCMSGDOMAINPOFILE = $(DCMSGDOMAIN)/$(DCFILE:.dc=.po)
 576 
 577 CLOBBERFILES += $(POFILE) $(POFILES)
 578 COMPILE.cpp= $(CC) -E -C $(CFLAGS) $(CPPFLAGS)
 579 XGETTEXT= /usr/bin/xgettext
 580 XGETFLAGS= -c TRANSLATION_NOTE
 581 GNUXGETTEXT= /usr/gnu/bin/xgettext
 582 GNUXGETFLAGS= --add-comments=TRANSLATION_NOTE --keyword=_ \