GNU Make is a tool which controls the generation of executables and other non-source files of a program from the program's source files. Make gets its knowledge of how to build program from a file called the makefile, which lists each of the non-source files and how to compute it from other files.