REDO-ALWAYS(1) | General Commands Manual | REDO-ALWAYS(1) |
NAME
redo-always - mark the current redo target as always needing to be rebuilt
SYNOPSIS
redo-always
DESCRIPTION
redo(1) is a tool for building files and for rebuilding them if any of their dependencies have changed. redo-always, when invoked from a dofile, adds a dependency on the current target that is impossible to satisfy. The target will always be rebuilt if given as an argument to redo-ifchange(1).
EXAMPLES
Consider the following three dofiles all.do, b.do and c.do:
- all.do
-
#!/bin/sh
redo-ifchange b - b.do
-
#!/bin/sh
redo-ifchange c
sleep 1
date +%s - c.do
-
#!/bin/sh
redo-always
date +%s
Invoking redo(1) in a directory with these three files will build a file named c containing a timestamp and a file named b containing a timestamp that is at least one second later. Both b and c will always be rebuilt when redo(1) is invoked, as the default target all depends on b which in turn depends on c which has an impossible to satisfy dependency.
HISTORY
redo-always was designed by Avery Pennarun as part of his redo implementation and implemented by Nils Dagsson Moskopp.
AUTHOR
redo-always and this man page were written by Nils Dagsson Moskopp.
COPYRIGHT
Copyright © 2014-2016 Nils Dagsson Moskopp. License AGPLv3+: GNU Affero GPL version 3 or later http://www.gnu.org/licenses/agpl-3.0.html. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
SEE ALSO
redo(1), redo-dot(1), redo-ifchange(1), redo-ifcreate(1), redo-ood(1), redo-sources(1), redo-stamp(1), redo-targets(1)
BUGS
redo-always may break if the target filename contains a tab or a newline.