Add a bunch of manpages.
This commit is contained in:
parent
f16f0147b1
commit
4b48448233
13 changed files with 535 additions and 4 deletions
78
Documentation/redo-ifchange.md
Normal file
78
Documentation/redo-ifchange.md
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
% redo-ifchange(1) Redo 0.00
|
||||
% Avery Pennarun <apenwarr@gmail.com>
|
||||
% 2010-12-12
|
||||
|
||||
# NAME
|
||||
|
||||
redo-ifchange - rebuild target files when source files have changed
|
||||
|
||||
# SYNOPSIS
|
||||
|
||||
redo-ifchange [targets...]
|
||||
|
||||
|
||||
# DESCRIPTION
|
||||
|
||||
Normally redo-ifchange is run from a .do file that has been
|
||||
executed by `redo`(1). See `redo`(1) for more details.
|
||||
|
||||
redo-ifchange doesn't take any command line options other
|
||||
than a list of *targets*. To provide command line options,
|
||||
you need to run `redo` instead.
|
||||
|
||||
redo-ifchange performs the following steps:
|
||||
|
||||
- it creates a dependency on the given *targets*. If any
|
||||
of those targets change in the future, the current target
|
||||
(the one calling redo-ifchange) will marked as needing to
|
||||
be rebuilt.
|
||||
|
||||
- for any *target* that is out of date, it calls the
|
||||
equivalent of `redo target`.
|
||||
|
||||
- for any *target* that is locked (because some other
|
||||
instance of `redo` or `redo-ifchange` is already building
|
||||
it), it waits until the lock is released.
|
||||
|
||||
redo-ifchange returns only after all the given
|
||||
*targets* are known to be up to date.
|
||||
|
||||
|
||||
# TIP
|
||||
|
||||
You don't have to run redo-ifchange *before* generating
|
||||
your target; you can generate your target first, then
|
||||
declare its dependencies. For example, as part of
|
||||
compiling a .c file, gcc learns the list
|
||||
of .h files it depends on. You can pass this information
|
||||
along to redo-ifchange, so if any of those headers are
|
||||
changed or deleted, your .c file will be rebuilt:
|
||||
|
||||
redo-ifchange $1$2
|
||||
gcc -o $3 -c $1$2 \
|
||||
-MMD -MF $1.deps -MT DELETE_ME
|
||||
redo-ifchange $(sed -e 's,^DELETE_ME:,,' \
|
||||
-e 's,\\,,' $1.deps)
|
||||
|
||||
This is much less confusing than the equivalent
|
||||
autodependency mechanism in `make`(1), because make
|
||||
requires that you declare all your dependencies before
|
||||
running the target build commands.
|
||||
|
||||
|
||||
# REDO
|
||||
|
||||
Part of the `redo`(1) suite.
|
||||
|
||||
# CREDITS
|
||||
|
||||
The original concept for `redo` was created by D. J.
|
||||
Bernstein and documented on his web site
|
||||
(http://cr.yp.to/redo.html). This independent implementation
|
||||
was created by Avery Pennarun and you can find its source
|
||||
code at http://github.com/apenwarr/redo.
|
||||
|
||||
|
||||
# SEE ALSO
|
||||
|
||||
`redo`(1), `redo-ifcreate`(1), `redo-always`(1), `redo-stamp`(1)
|
||||
Loading…
Add table
Add a link
Reference in a new issue