Skip to content
zrajm edited this page Feb 6, 2014 · 9 revisions

Wiki Pages

What Is the Purpose of Fix?

My main reasons for writing fix is that I want a build system that is:

  • Reliable and simple – There is no special Makefile syntax to learn or remember, and dependency changes are detected by actually looking at the contents of the produced files (timestamps are not considered at all).

  • Self-contained – Everything (including basic documentation) is contained in a single program file, easy to copy wherever you need it. There are no dependencies, except for Perl (which comes installed by default on all GNU/Linux systems).

  • Fast – When you rebuild something, fix performs the minimum amount of changes it can get away with, which still produce a correct result. (E.g. if a dependency has been deleted, but after rebuild turns out not to have changed, then this will not cause a rebuild of everything that depends on it.)

  • Git-like in behavior – Fix will automatically find it's configuration, whether its in the current directory, or any of the parent directories, just like git. (So you don't have to change dir to where your Makefile is before building.)

Clone this wiki locally