Skip to content
This repository has been archived by the owner on Jun 6, 2021. It is now read-only.

Introduction

Alex Rønne Petersen edited this page Feb 27, 2014 · 3 revisions

ExMake is a modern, scriptable, dependency-based build tool loosely based on the principles behind the POSIX Make utility. It is an attempt to replace Make with a 21st-century version of the tool that makes scripting trivial.

ExMake is not a 'be all; end all' build tool. It only provides the fundamental components such as dependency tracking and job scheduling. Just like Make, it's a tool that will most likely be used to construct a build system rather than being the build system itself. In other words, it's not a direct competitor to Autotools and similar suites, per se.

The main selling points of ExMake are:

  • It features the general-purpose programming language Elixir for scripting.
  • There is built-in support for libraries that can provide macros and functions.
  • Recursion is a first-class citizen, so recursive invocations and a job server are not necessary.
  • Compiled scripts, the dependency graph, and the environment table are all cached.
  • Recipes are just regular Elixir expressions, so they can do much more than simple shell invocations.

ExMake improves on Make in many other ways. For more information, see the FAQ.

Clone this wiki locally