Also any system that runs the Gnu info system has a large section on make, which essentially reproduces the content of the book. Make is a complex utility. In these notes I'm going to go over just the basics. The top level of the make language consists of rules and definitions. I'll cover definitions later.
Rules tell the makefile what to do to maintain each desired output file or result.
The central notion on which the make utility is built is that of dependency . Similarly, an executable file depends on all of the object files that compose it, through linking. Otherwise, the file is out of date. Similarly, any result which depends on another result which is not a file is automatically out of date. Targets are the names of the results - either names of files, or names of other results.