Index: man5/src.conf.5 =================================================================== --- man5/src.conf.5 (revision 289411) +++ man5/src.conf.5 (working copy) @@ -2,7 +2,7 @@ .\" from FreeBSD: head/tools/build/options/makeman 287942 2015-09-17 22:04:46Z bdrewery .\" $FreeBSD$ .Dd September 18, 2015 -.Dt SRC.CONF 5 +.Dt src.conf 5 .Os .Sh NAME .Nm src.conf @@ -10,15 +10,15 @@ .Sh DESCRIPTION The .Nm -file contains settings that will apply to every build involving the +file contains variables that control what components will be generated during the build process +of the .Fx -source tree; see +source tree (/usr/src); see .Xr build 7 . .Pp The .Nm -file uses the standard makefile syntax. -However, +file uses the standard makefile syntax. However, .Nm should not specify any dependencies to .Xr make 1 . @@ -39,8 +39,7 @@ Overriding the location of .Nm may be necessary if the system-wide settings are not suitable -for a particular build. -For instance, setting +for a particular build. For instance, setting .Va SRCCONF to .Pa /dev/null @@ -82,8 +81,7 @@ .Dq Li FALSE or .Dq Li NO . -Just the existence of an option will cause -it to be honoured by +Just the existence of an option will cause it to be honoured by .Xr make 1 . .Pp The following list provides a name and short description for variables Index: man7/build.7 =================================================================== --- man7/build.7 (revision 289411) +++ man7/build.7 (working copy) @@ -25,11 +25,11 @@ .\" $FreeBSD$ .\" .Dd December 31, 2014 -.Dt BUILD 7 +.Dt Build 7 .Os .Sh NAME .Nm build -.Nd information on how to build the system +.Nd General instructions on how to build the system .Sh DESCRIPTION The sources for the .Fx @@ -66,32 +66,30 @@ things in that directory. Issuing the .Xr make 1 -command in any directory or -subdirectory of those directories has the same effect as issuing the -same command in all subdirectories of that directory. -With no target specified, the things in that directory are just built. +command in any directory issues the +.Xr make 1 +command recursively in all subdirectories. +With no target specified, the items in the directories are built +and no further action is taken. .Pp -A source tree is allowed to be read-only. -As described in -.Xr make 1 , -objects are usually built in a separate object directory hierarchy -specified by the environment variable -.Va MAKEOBJDIRPREFIX , -or under +A source tree is allowed to be read-only as all build artifcats generated by +.Xr make 1 +are generated in .Pa /usr/obj -if variable +by default. The destination directory can be changed by specifying +a new location using .Va MAKEOBJDIRPREFIX -is not set. -For a given source directory, its canonical object directory -would be -.Pa ${MAKEOBJDIRPREFIX}${.CURDIR} -if -.Xr make 1 -variable +as described in +.Xr make 1 . + +Therefore, for a given source directory, its build artifacts +would be generated in +.Pa /usr/obj/${.CURDIR} +or to +.Pa ${MAKEOBJDIRPREFIX}/${.CURDIR} +according to the .Va MAKEOBJDIRPREFIX -is set, or -.Pa /usr/obj${.CURDIR} -if this variable is not set. +variable. Cross-builds set the object directory as described in the documentation for the .Cm buildworld @@ -102,8 +100,14 @@ variables described in the .Sx ENVIRONMENT section below, and by the variables documented in -.Xr make.conf 5 . +.Xr make.conf 5 . .Pp +The default components included in the build are specified in the file +/etc/src.conf in the source tree. To override the default file, include +the SRCCONF option in the make steps, pointing to a custom src.conf +file. For more information see +.Xr src.conf 5 . +.Pp The following list provides the names and actions for the targets supported by the build system: .Bl -tag -width ".Cm cleandepend" @@ -445,6 +449,9 @@ .Bd -literal -offset indent make PORTS_MODULES=emulators/kqemu-kmod kernel .Ed +.It Va SRCCONF +Specify a file to override the default /etc/src.conf. The src.conf file controls the components to build. See +.Xr SRC.CONF 5 .It Va STRIPBIN Command to use at install time when stripping binaries. Be sure to add any additional tools required to run