Build systems fail to scale to large projects when rebuilding a small portion requires stat-ing every project file. Prebake is a build system that uses a long-lived service to hook into the file-system and watch for changes so it can avoid unnecessary I/O for incremental builds. It also solves common problems with Ant and Make: missing dependencies and build cruft from deleted source files. It does away with missing dependencies by doing away with explicit dependencies altogether. Build dependencies are inferred by intersecting globs; if one product takes *.c and produces *.o, and another takes *.o and produces *.lib, then the latter depends on the former. Prebake also gets the benefits of both a declarative build syntax (a la make) and the flexibility of hand coded shell scripts. It uses tightly sandboxed JavaScript and "mobile functions" to get the flexibility of a scripting language with the hard controls on side effects that allow for repeatable builds. In practice, the JS in build files looks declarative, like JSON, but the dynamism is there when you need it.

EBuild is a software project build, dependency management, and reporting technology. The aim is to be able to tackle any build problem in a structured, declarative, and elegant way. It is written in Java, but can be used to build all manner of projects and is extensible via a plugin interface. It is best compared to something like Maven (and in some respects Ivy). It aims to overcome certain design flaws and the resultant unnecessary complexity. The EBuild build model is general, but plugins need to be written in a JVM compatible language. Existing plugins all deal with the Java ecosystem, so EBuild is most suitable for Java and mixed technology software projects.

Lattice is a Java build system with strong multi-module support. Build files are written not in XML, but in the Python language. The benefits are much better readability and powerful imperative build scripting. For multi-module projects, Lattice uses topological sorting to decide the correct order to build each module. Because a custom task is just a regular Python function, they can perform any type of work, including invoking other Java build systems such as Ant, Maven, or Ivy.

crumb is an experimental build-automation program to provide functionality similar to "make" but with a much better approach, where dependencies for all invocations are automatically detected, by using shared-library level hooks. The spawned processes are also paused if a missing dependency needs to be generated. Oddly, with parallelism, this means that the linker might run before the compiler, but it will get paused until the compiler is done generating the input that it needs. Another purpose of crumb is to provide users with absolutely minimal build description files. This means that the build description files need to be smaller than an equivalent shell script containing the commands that would have built the project directly.

SBuild Eclipse Plugin integrates SBuild into the Eclipse IDE. It provides an SBuild classpath container which can resolve project dependencies (build path) via SBuild. Additionally, dependencies can be resolved alternatively from a workspace through an alias configuration.

Meson aims to be the most usable and fast build system. It provides a simple yet powerful mostly declarative language for describing your build. It has native support for modern tools and frameworks, such as Qt5, code coverage, unit tests, precompiled headers, and others. It utilizes a host of optimization techniques to compile your code faster on both full and incremental builds.

fab is a software build utility for Linux/Unix systems featuring integrated dependency discovery. Its goal is to provide reliable builds, optimally organized for parallel and incremental execution, with a minimal set of dependencies provided by the programmer.