Similar tools¶
There is a plethora of build tools.
See for example
Tools based on declared dependency rules¶
Most of them implement the functionality of Make in a more readable descriptive language and improve the modularity and the ability to split large projects into smaller ones.
Examples are:
- Make
- Apache Ant (XML, Java-centric)
- SCons (Python, based on the Perl-script Cons)
- https://pypi.org/project/doit/ (Python)
- https://mesonbuild.com/ (Python)
- https://pypi.org/project/faff/ (Python, “An input file similar to a Makefile defines rules”)
- https://pypi.org/project/Aap/ (Python)
- https://pypi.org/project/pyb/ (Python, “Modelled after Ant”)
- https://pypi.org/project/csbuild/ (Python, for fast incremental building of C(++) projects)
- https://pypi.org/project/mkcode/ (Python)
- https://pypi.org/project/bold/ (Python, C-centric)
- https://pypi.org/project/buildit/ (Python, .ini-file syntax to describe rules)
- Bruce Eckel’s builder.py (Python)
Of these, SCons and doit are closest to the goals of this project.
Tools based on directory structure¶
Some build tools are specialized in organizing large projects, fetching files from different sources, packaging and publishing the build products. They usually do so by imposing a certain directory structure and assign files a given meaning based on this structure.
Examples are:
- Apache Maven (XML, Java-centric)
- https://www.pantsbuild.org/
- http://www.buildout.org/