GNU make is a software for managing the creation of program executables and non-source files.
One of the most significant advantages of Make is that it automatically determines which files to update based on the changed source files. It figures out the correct order to update files if one non-source file depends on another non-source file. As a result, if you alter a few source files and run Make, it updates only the non-source files that depend directly or indirectly on the changed source files rather than recompiling the entire program. Make is not restricted to any particular language, and the makefile specifies the shell commands required to compute each non-source file in the program.
Make allows the end-user to build and install a package without knowing the building details since the makefile contains such information. Additionally, Make is not limited to building a package. You can use it to control installing or deinstalling a package, generate tags tables for it, or anything else you want to do frequently enough to document how to do it.
A rule in the makefile tells Make how to execute a series of commands in order to build a target file from source files while specifying dependencies of the target file. Any files used as inputs to the commands in the rule, whether source files or other targets, must be in the list of dependencies. Running Make updates the first target listed in the makefile if no specific target is specified.
GNU Make offers many powerful features for use in makefiles, including the ability to regenerate, use and then delete intermediate files that need not be saved. It also has simple features such as the -o file option that pretends that a source file has not changed, which is convenient when adding a new macro to a header file since it avoids recompilation of all source files that use the header file.
The most significant difference between GNU Make and most versions of Make is that GNU Make is free software. The latest release features major bug fixes.
Version 3.81: N/A