redo is a competitor to the long-lived, but sadly imperfect, make program. Unlike other such competitors, redo captures the essential simplicity and flexibility of make, while avoiding its flaws. It manages to do this while being simultaneously simpler than make, more flexible than make, and more powerful than make, and without sacrificing performance -- a rare combination of features. The original design for redo comes from Daniel J. Bernstein. This from-scratch implementation of redo is based on that design.