Build automation is the process of automating the creation of a software build and the associated processes including: compiling computer source code into binary code, packaging binary code, and running automated tests.
This type of software takes as input the interdependencies of files (typically source code and output executables) and orchestrates building them, quickly.
In the beginning, Make was the only build automation tool available beyond home-grown solutions. Make has been around since 1976. Make remains widely used, especially in Unix and Unix-like operating systems. But there are lots of other high quality build systems
Here’s our recommendations captured in a legendary LinuxLinks chart.
Let’s explore the 13 build systems. For each title we have compiled its own portal page, a full description with an in-depth analysis of its features, together with links to relevant resources.
|gulp||Toolkit to automate & enhance your workflow|
|Apache Maven||Build automation tool used primarily for Java projects|
|Meson||Next-generation build system|
|Gradle||Build tool with a focus on build automation and support for multi-language|
|CMake||Family of tools designed to build, test and package software|
|Apache Ant||Tool for automating software build processes|
|Buck||Encourages the creation of small, reusable modules|
|SCons||Software construction tool|
|Ninja||Small build system with a focus on speed|
|Leiningen||Automating Clojure projects|
|PHing||Build system based on Apache Ant|
|Rake||make-like build utility for Ruby|
|Read our complete collection of recommended free and open source software. Our curated compilation covers all categories of software.
The software collection forms part of our series of informative articles for Linux enthusiasts. There are hundreds of in-depth reviews, open source alternatives to proprietary software from large corporations like Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk.
There are also fun things to try, hardware, free programming books and tutorials, and much more.