redo has many uses, and is not just limited to executable programs being built from program source code.
Two uses exemplify this.
redo is heavily used in the nosh toolset's 'external configuration import subsystem'. This takes a lot of disparate Debian and BSD configuration files, and translates them into configuration information in the form that is native to the toolset's own system and service management. redo is used to only re‐import those things where the source Debian or BSD files have changed, or (where they are optional) have been created or deleted.
redo is used to auto‐construct the Debian and BSD binary package repositories for the nosh toolset and djbwares.
(The actual .do programs are available on‐line to GOPHER users.)
redo ensures that adding or updating a package file ripples through all of the repository metadata files that need to be re‐built with fresh file lists, checksums, signatures, and whatnot.