Experimental build system.
Overlord is a build system in Common Lisp. It is a real build system, with all the modern features: rules with multiple outputs, parallel builds, immunity to clock issues, and dynamic dependencies.
But Overlord is more than another build system. Overlord is a uniform approach to dependencies inside or outside of a Lisp image. Overlord is to Make what Lisp macros are to C macros.
Overlord is designed to be used from the Lisp REPL. A command line interface is available in a separate repository.
Advice for users
Note that, to run the test suite, you will need to
download Core Lisp, and, if not on Windows, you must have the
touch program in your search path. (On Windows, Powershell is
Overlord stores its persistent data structures in a cache directory.
On Linux, this is
$XDG_CACHE_HOME/overlord. The data structures
stored there are versioned. It might worth checking the cache
directory from time to time to delete obsolete files.
Overlord is developed and tested on Clozure and SBCL. In the future it may officially support other Lisp implementations, but that is not a priority.
Here are some projects that make direct use of Overlord:
Proctor. Proctor treats tests as build targets, allowing you to precisely specify their dependencies and re-run tests only when necessary.
Vernacular. Provides a module system for embedding languages, with arbitrary syntaxes, into Common Lisp systems.