redobc 0.0.1

redo: recursive build system in BetterC

To use this package, run the following command in your project's root directory:

Manual usage
Put the following dependency into your project's dependences section:


redo-bc is an implementation of the redo build system (designed by Daniel J. Bernstein) in betterC (variant without GC of D Programming Language). This work based on work redo-c by by Christian Neukirchen (from and uses the original documentation from this project, almost unchanged.


Please refer to the documentation for redo in Python, or the tutorial by Jonathan de Boyne Pollard for usage instructions.

Notes about the redo-bc implementation of redo

  • Without arguments, redo behaves like redo all.

  • .do files always are executed in their directory, arguments are relative paths.

  • Standard output of .do files is only captured as build product if redo -s is used, or the environment variable REDO_STDOUT is set to 1. Else, standard output is simply displayed.

  • Non-executable .do files are run with /bin/sh -e. redo -x can be utilized to use /bin/sh -e -x instead, for debugging .do files or verbose builds.

  • Executable .do files are simply executed, and should have a shebang line.

  • When a target makes no output, no target file is created. The target is considered always out of date.

  • files are checked in all parent directories up to /.

  • Parallel builds can be started with redo -j N (or JOBS=N redo), this uses a job broker similar to but not compatible with GNU make.

  • To detect whether a file has changed, we first compare ctime and in case it differs, a SHA2 hash of the contents.

  • Dependencies are tracked in .dep.BASENAME files all over the tree. This is an implementation detail.

  • Builds can be started from every directory and should yield same results.

  • redo -f will consider all targets outdated and force a rebuild.

  • redo -k will keep going if a target failed to build.

  • Currently, is very experimental software and needed to be revised by you.


To the extent possible under law, Leah Neukirchen has waived all copyright and related or neighboring rights to this work.

I, aquaratixc, continuing the work of this kind person, also waive copyright and related rights.

  • Oleg Bakharev
  • Christian Neukirchen
0.0.1 2023-Feb-18
~main 2023-Feb-18
Show all 2 versions
Download Stats:
  • 0 downloads today

  • 0 downloads this week

  • 0 downloads this month

  • 8 downloads total

Short URL: