Make

Make is a utility that automates the process of building executable programs and libraries from source code by reading files called Makefiles. These files specify dependencies between files and how to regenerate target files, ensuring that only necessary components are recompiled. It is a…

Key facts

First appeared
1976
Category
devops_tool
Problem solved
Before Make, managing the compilation of large software projects involved manually executing sequences of commands, re-compiling everything even if only a small part changed, or using fragile, ad-hoc shell scripts lacking robust dependency tracking. Make was created to automate this by identifying dependencies between source and object files, and only rebuilding components whose source or dependencies had been modified, thereby speeding up development cycles and ensuring consistent builds.
Platforms
Unix-like systems (Linux, macOS, BSD), Windows (via MinGW, Cygwin, WSL, or NMake)

Related technologies

Notable users

  • Most open-source projects written in C, C++, Fortran, etc.
  • Apache HTTP Server
  • GNU Compiler Collection (GCC)
  • Embedded systems development
  • Many internal proprietary systems and infrastructure automation scripts
  • Linux Kernel