Key facts
- Paradigm
- macro , declarative
- Designed by
- Stuart Feldman
- First appeared
- April 1976 ; 50 years ago ( 1976-04 )
- Implementation language
- C
- Os
- Unix-like , Inferno
- File formats
- Makefile
via Wikipedia infobox
Described at
The make utility shall update files that are derived from other files. A typical case is one where object files are derived from the corresponding source files. The make utility examines time relationships and shall update those derived files (called targets) that have modified times earlier than the modified times of the files (called prerequisites) from which they are derived. A description file (makefile) contains a description of the relationships between files, and the commands that need to be executed to update the targets to reflect changes in their prerequisites. Each specification, or rule, shall consist of a target, optional prerequisites, and optional commands to be executed when a prerequisite is newer than the target. There are two types of rule: In addition, make shall have a collection of built-in macros and inference rules that infer prerequisite relationships to simplify maintenance of programs. The make utility shall conform to XBD Utility Syntax Guidelines , except for Guideline 9. Cause environment variables, including those with null values, to override macro assignments within makefiles. Ignore error codes returned by invoked commands. This mode is the same as if the special target .IGNORE were specified without prerequisites. Write to standard output the complete set of macro definitions and target descriptions. The output format is unspecified. Do not write makefile command lines or touch messages (see -t ) to standard output before executing. This mode shall be the same as if the special target .SILENT were specified without prerequisites. Update the modification time of each target as though a touch target had been executed. Targets that have prerequisites but no commands (see Target Rules ), or that are already up-to-date, shall not be touched in this manner. Write messages to standard output for each target file indicating the name of the file and that it was touched. Normally, the makefile command lines associated with each target are not executed. However, a command line with a ( '+' ) prefix shall be executed. Any options specified in the MAKEFLAGS environment variable shall be evaluated before any options specified on the make utility command line. If the -k and -S options are both specified on the make utility command line or by the MAKEFLAGS environment variable, the last option specified shall take precedence. If the -f or -p options appear in the MAKEFLAGS environment variable, the result is undefined. If the target name and macro = value operands are intermixed on the make utility command line, the results are unspecified. The standard input shall be used only if the makefile option-argument is '-'. See the INPUT FILES section. The input file, otherwise known as the makefile, is a text file containing rules, macro definitions, include lines, and comments. See the EXTENDED DESCRIPTION section. Provide a default value for the internationalization variables that are unset or null. (See XBD Internationalization Variables for the precedence of internationalization variables used to determine the values of locale categories.) If set to a non-empty string value, override the values of all the other internationalization variables. Determine the locale for the interpretation of sequences of bytes of text data as characters (for example, single-byte as opposed to multi-byte characters in arguments and input files). Determine the locale that should be used to affect the format and contents of diagnostic messages written to standard error. This variable shall be interpreted as a character string representing a series of option characters to be used as the default options. The implementation shall accept both of the following formats (but need not accept them when intermixed): The characters are option letters without the leading characters or separation used on a make utility command line. The characters are formatted in a manner similar to a portion of the make utility command line:
Excerpt from a page describing this subject · 40,000 chars · not written by Vinony
Article · Español
En el contexto del desarrollo de software, Make es una herramienta de gestión de dependencias, típicamente, las que existen entre los archivos que componen el código fuente de un programa, para dirigir su recompilación o "generación" automáticamente. Si bien es cierto que su función básica consiste en determinar automáticamente qué partes de un programa requieren ser recompiladas y ejecutar los comandos necesarios para hacerlo, también lo es que Make puede usarse en cualquier escenario en el que se requiera, de alguna forma, actualizar automáticamente un conjunto de archivos a partir de otro, cada vez que este cambie. Make es muy usada en los sistemas operativos tipo Unix/Linux. Por defecto lee las instrucciones para generar el programa u otra acción del fichero makefile. Las instrucciones escritas en este fichero se llaman dependencias. La herramienta make se usa para las labores de creación de fichero ejecutable o programa, para su instalación, la limpieza de los archivos temporales en la creación del fichero, todo ello especificando unos parámetros iniciales (que deben estar en el makefile) al ejecutarlo. Además de ser este su objetivo principal, es utilizado para automatización de otras tareas como la creación de documentos del formato docbook, mantenimiento del sistema, simplemente usando o creando makefiles que hagan estas tareas.
Abstract from DBpedia / Wikipedia · CC BY-SA