User:Gamacodre/temp


 * How 'bout this?
 * In computing, make is a utility that automates the process of generating ("making") a file (or files). Make is usually used by programmers for processes such as application development, where one or more existing files (the dependencies) must be transformed or combined to generate a new output file (the target). The names and locations of the target and dependency files, along with the commands used to transform the latter into the former, are contained in another file usually named "makefile" (later "Makefile") and referred to as "the makefile".  When it is determined that a particular target file should be rebuilt, the commands associated with that target in the makefile are executed via a command line interpreter.


 * Make is usually invoked from within a command line interface with the name of one or more targets to build (e.g. "make TheProgram.exe"). When asked to build a target, make checks first to see if the target already exists, and if so whether any of that target's dependencies have been modified since the target was last built. If the target does not exist, or any of the target's dependencies are newer than the target itself, the commands that are associated with that target in the makefile are executed, usually resulting in the target being recreated from its dependencies.


 * It is possible to specify many different targets in a single makefile, and some of those targets may also be dependencies of other targets. A typical case is one in which an executable application file is created by combining a number of intermediate object files, which are in turn generated individually from different source files. One very useful aspect of make can be seen by considering the case where it takes a significant amount of time to turn a source file into an object file and just one of those source files has been changed since the last time the application was built; in this case, make will:
 * issue the commands to generate one object file (the one corresponding to the changed source file),
 * assume that all the remaining object files from the previous build are fine as they are, since the corresponding source files have not changed - thus saving a great deal of time, and
 * issue the commands to build the final application from the object files.