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 (C) 2014-2016 Nils Dagsson Moskopp. License AGPLv3+: GNU Affero GPL version 3 or later . 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. REDO-ALWAYS(1)