Make apenwarr/redo installable on windows and work with uv tool install
Find a file
Avery Pennarun 9b6d1eeb6e env and env_init: Eliminate weird auto-initialization of globals.
Merge the two files into env, and make each command explicitly call the
function that sets it up in the way that's needed for that command.

This means we can finally just import all the modules at the top of
each file, without worrying about import order.  Phew.

While we're here, remove the weird auto-appending-'all'-to-targets
feature in env.init().  Instead, do it explicitly, and only from redo and
redo-ifchange, only if is_toplevel and no other targets are given.
2018-12-05 02:27:04 -05:00
bin Rename redo/python -> redo/py. 2018-12-05 02:27:04 -05:00
contrib/bash_completion.d MacOS: "-e filename/." returns true even for non-directories. 2011-03-05 19:03:30 -08:00
docs Rename redo/python -> redo/py. 2018-12-05 02:27:04 -05:00
minimal minimal/do: use "#!/usr/bin/env sh" instead of "#!/bin/sh" 2018-12-04 02:52:23 -05:00
redo env and env_init: Eliminate weird auto-initialization of globals. 2018-12-05 02:27:04 -05:00
t Rename redo/python -> redo/py. 2018-12-05 02:27:04 -05:00
.gitignore Directory reorg: move code into redo/, generate binaries in bin/. 2018-12-04 02:53:40 -05:00
.pylintrc Rename vars{,_init}.py -> env{,_init}.py. 2018-12-05 02:26:49 -05:00
_all.do Directory reorg: move code into redo/, generate binaries in bin/. 2018-12-04 02:53:40 -05:00
all.do Directory reorg: move code into redo/, generate binaries in bin/. 2018-12-04 02:53:40 -05:00
clean.do Directory reorg: move code into redo/, generate binaries in bin/. 2018-12-04 02:53:40 -05:00
do Directory reorg: move code into redo/, generate binaries in bin/. 2018-12-04 02:53:40 -05:00
install.do Directory reorg: move code into redo/, generate binaries in bin/. 2018-12-04 02:53:40 -05:00
LICENSE Change license to Apache 2.0. 2018-11-26 17:04:31 -05:00
Makefile Directory reorg: move code into redo/, generate binaries in bin/. 2018-12-04 02:53:40 -05:00
mkdocs.yml Directory reorg: move code into redo/, generate binaries in bin/. 2018-12-04 02:53:40 -05:00
README.md Directory reorg: move code into redo/, generate binaries in bin/. 2018-12-04 02:53:40 -05:00
test.do test.do: allow docs to build in parallel with tests. 2018-12-05 02:27:04 -05:00

redo - a recursive build system

Smaller, easier, more powerful, and more reliable than make.

This is an implementation of Daniel J. Bernstein's redo build system. He never released his version, so other people have implemented different variants based on his published specification.

This version, sometimes called apenwarr/redo, is probably the most advanced one, including support for parallel builds, improved logging, and helpful debugging features.

To build and test redo, run ./do -j10 test. To install it, run DESTDIR=/tmp/testinstall PREFIX=/usr/local ./do -j10 install.


  • View the documentation via readthedocs.org
  • Visit the source code on github
  • Discussions and support via the mailing list. You can subscribe by sending any email message to redo-list+subscribe@googlegroups.com (note the plus sign).