A class of tools for building (compiling, testing and installing) software. make(1) is the cannonical build tool, but Ant is becoming widespread in Java-centric projects and many projects still use handcrafted bash(1) scripts. Another interesting make-alternative is Jam. Monolithic IDEs are also build tools, but some IDEs interface to specialist build tools (VisualStudio with nmake, Emacs with make(1) or Ant). The BuildTools for some high level ProgrammingLanguages are written in the language itself (such as the distutils package for Python programs and the somewhat new Module::Build module for Perl programs).