Add more content for WITH_META_MODE/WITH_DIRDEPS_BUILD.
Sponsored by: EMC / Isilon Storage Division
This commit is contained in:
parent
473fda75dd
commit
f43bc6d18d
@ -1,9 +1,9 @@
|
||||
.\" $FreeBSD$
|
||||
Enable building in meta mode.
|
||||
This is an experimental build feature.
|
||||
This is an experimental build system.
|
||||
For details see
|
||||
http://www.crufty.net/sjg/docs/freebsd-meta-mode.htm.
|
||||
.Pp
|
||||
Build commands can be seen from the top-level with:
|
||||
.Dl make show-valid-targets
|
||||
The build is driven by dirdeps.mk using
|
||||
.Va DIRDEPS
|
||||
stored in
|
||||
@ -23,17 +23,13 @@ and child directories.
|
||||
.Va NO_DIRDEPS_BELOW
|
||||
will skip building any dirdeps and only build the current directory.
|
||||
.Pp
|
||||
As each target is made
|
||||
.Xr make 1
|
||||
produces a meta file which is used to capture (and compare)
|
||||
the command line,
|
||||
as well as any command output.
|
||||
If
|
||||
.Xr filemon 4
|
||||
is available the meta file will also capture a record of files
|
||||
used to produce the target by tracking syscalls.
|
||||
This also utilizes the
|
||||
.Va WITH_META_MODE
|
||||
logic for incremental builds.
|
||||
.Pp
|
||||
The build will hide commands ran unless
|
||||
.Va NO_SILENT
|
||||
is defined.
|
||||
.Pp
|
||||
Note that there is currently no mass install feature for this.
|
||||
.Pp
|
||||
|
@ -1,12 +1,41 @@
|
||||
.\" $FreeBSD$
|
||||
Create meta files when not doing DIRDEPS_BUILD.
|
||||
Creates
|
||||
.Xr make 1
|
||||
meta files when building, which can provide a reliable incremental build when
|
||||
using
|
||||
.Xr filemon 4 .
|
||||
The meta file is created in the OBJDIR as
|
||||
.Pa target.meta .
|
||||
These meta files track the command ran, its output, and the current directory.
|
||||
When the
|
||||
.Xr filemon 4
|
||||
module is loaded, dependencies will be tracked for all commands.
|
||||
If any command, its dependencies, or files it generates are missing then
|
||||
the target will be considered out-of-date and rebuilt.
|
||||
module is loaded, any files used by the commands executed will be tracked as
|
||||
dependencies for the target in its meta file.
|
||||
The target will be considered out-of-date and rebuilt if any of the following
|
||||
are true compared to the last build:
|
||||
.Bl -bullet -compact
|
||||
.It
|
||||
The command to execute changes.
|
||||
.It
|
||||
The current working directory changes.
|
||||
.It
|
||||
The target's meta file is missing.
|
||||
.It
|
||||
[requires
|
||||
.Xr filemon 4 ]
|
||||
Files read, executed or linked to are newer than the target.
|
||||
.It
|
||||
[requires
|
||||
.Xr filemon 4 ]
|
||||
Files read, written, executed or linked are missing.
|
||||
.El
|
||||
The meta files can also be useful for debugging.
|
||||
.Pp
|
||||
The build will hide commands ran unless
|
||||
.Va NO_SILENT
|
||||
is defined.
|
||||
.Pp
|
||||
The build operates as it normally would otherwise.
|
||||
This option originally invoked a different build system but that was renamed
|
||||
to
|
||||
.Va WITH_DIRDEPS_BUILD .
|
||||
|
Loading…
Reference in New Issue
Block a user