freebsd-dev/share/man/man7
Bryan Drewery 7f1636b75e Let SUBDIR_OVERRIDE with 'make buildworld' be more useful.
Now it can be used to effectively "build in a subdir".  It will use the
'cross-tools', 'libraries', and 'includes' phases of 'buildworld' to properly
setup a WORLDTMP to use.  Then it will build 'everything' only in the
listed SUBDIR_OVERRIDE directories.  It is still required to list custom
library directories in LOCAL_LIB_DIRS if SUBDIR_OVERRIDE is something
that contains libraries outside of the normal area (such as
SUBDIR_OVERRIDE=contrib/ofed needing LOCAL_LIB_DIRS=contrib/ofed/usr.lib)

Without these changes, SUBDIR_OVERRIDE with buildworld was broken or hit
obscure failures due to missing libraries, includes, or cross compiler.

SUBDIR_OVERRIDE with 'make <target that is not buildworld>' will continue to
work as it did before although its usefulness is questionable.

With a fully populated WORLDTMP, building with a SUBDIR_OVERRIDE with
-DNO_CLEAN only takes a few minutes to start building the target
directories.  This is still much better than building unneeded things via
'everything' when testing small subset changes.  A BUILDFAST or
SKIPWORLDTMP might make sense for this as well.

- Add in '_worldtmp' as we still need to create WORLDTMP as later targets,
  such as '_libraries' and '_includes' use it.  This probably was avoiding
  calling '_worldtmp' to not remove WORLDTMP for debugging purposes, but
  -DNO_CLEAN can be used for that.

- '_legacy' must be included since '_build-tools' uses -legacy.
  The SUBDIR_OVERRIDE change came in r95509, while -legacy being part
  of build-tools came in r113136.

- 'bootstrap-tools' is still skipped as this feature is not for
   upgrades.

- Fix buildworld combined with SUBDIR_OVERRIDE not installing all includes.

  The original change for SUBDIR_OVERRIDE in r95509 kept '_includes'
  and '_libraries' as building everything possible as the SUBDIR_OVERRIDE
  could need anything from them.  However in r96462 the real 'includes'
  target was changed from manual sub-makes to just recursing 'includes'
  on SUBDIR, thus not all includes have been installed into WORLDTMP since then
  when combined with 'buildworld'.

  This is not done unless calling 'make buildworld' as it would be
  unexpected to have it go into all directories when doing 'make
  SUBDIR_OVERRIDE=mydir includes'.

- Also need to build the cross-compiler so it is used with --sysroot.
  If this is burdensome then telling the build to use the local compiler
  as an external compiler (thus using a proper --sysroot to WORLDTMP) is
  possible by setting CC=/usr/bin/cc, CXX=/usr/bin/c++, etc.

- Don't build the lib32 distribution with SUBDIR_OVERRIDE in buildworld
  since it won't contain anything related to SUBDIR_OVERRIDE.  Testing
  of the lib32 build can be done with 'make build32'.

- Document these changes in build.7

Sponsored by:	EMC / Isilon Storage Division
MFC after:	2 weeks
2015-10-22 00:07:48 +00:00
..
adding_user.7 multiple: Remove 3rd clause from BSD license where approved by the 2014-03-14 03:07:51 +00:00
ascii.7 multiple: Remove 3rd clause from BSD license where approved by the 2014-03-14 03:07:51 +00:00
bsd.snmpmod.mk.7
build.7 Let SUBDIR_OVERRIDE with 'make buildworld' be more useful. 2015-10-22 00:07:48 +00:00
c99.7 sort SEE ALSO 2014-12-26 22:43:54 +00:00
clocks.7
crypto.7 fix IV size of XTS to be correct at 8 bytes.. That is what both the 2015-01-12 23:33:40 +00:00
development.7 use .Mt to mark up email addresses consistently (part6) 2014-06-23 08:27:27 +00:00
environ.7 sort SEE ALSO 2014-12-26 22:43:54 +00:00
ffs.7
firewall.7
growfs.7 add an rc.d script to automatically grow the specified FS... It has 2014-11-02 00:11:25 +00:00
hier.7 /usr/src/games was removed in r288485. 2015-10-02 17:51:47 +00:00
hostname.7 multiple: Remove 3rd clause from BSD license where approved by the 2014-03-14 03:07:51 +00:00
intro.7 multiple: Remove 3rd clause from BSD license where approved by the 2014-03-14 03:07:51 +00:00
maclabel.7
mailaddr.7 multiple: Remove 3rd clause from BSD license where approved by the 2014-03-14 03:07:51 +00:00
Makefile Add some new modes to OpenCrypto. These modes are AES-ICM (can be used 2014-12-12 19:56:36 +00:00
Makefile.depend Add META_MODE support. 2015-06-13 19:20:56 +00:00
operator.7 multiple: Remove 3rd clause from BSD license where approved by the 2014-03-14 03:07:51 +00:00
ports.7 Dereference portaudit(1), as it is now deprecated and its 2014-06-06 13:36:52 +00:00
release.7 Fix mandoc warnings/errors. 2015-08-12 11:56:19 +00:00
sdoc.7 use .Mt to mark up email addresses consistently (part6) 2014-06-23 08:27:27 +00:00
security.7 Kill custom in_matroute() radix mathing function removing one rte mutex lock. 2014-11-11 02:52:40 +00:00
sprog.7 use .Mt to mark up email addresses consistently (part6) 2014-06-23 08:27:27 +00:00
stdint.7
sticky.7 multiple: Remove 3rd clause from BSD license where approved by the 2014-03-14 03:07:51 +00:00
tests.7 Stop telling people to use send-pr; instead point them towards Bugzilla. 2014-06-14 18:43:48 +00:00
tuning.7 It's 2015, and some people are still trying to use fdisk and then 2015-09-02 14:08:43 +00:00