GNU Make is a development utility that determines which parts of a particular code base need to be recompiled and can issue Linux commands to perform those operations.
This build automation tool can be used with any programming language whose compilation can be done from the shell by issuing commands, making it invaluable for C, C++, and many other compiled languages.