Hacer (software)


En el desarrollo de software , Make es una automatización de acumulación herramienta que automáticamente genera los programas ejecutables y bibliotecas de código fuente mediante la lectura de archivos llamados Makefile que especifican cómo derivar el programa de destino. A pesar de los entornos de desarrollo integrados y de lenguaje específico de compilador características también se pueden utilizar para gestionar un proceso de construcción, Hacer sigue siendo ampliamente utilizados, sobre todo en Unix y Unix-como sistemas operativos .

Además de crear programas, Make se puede utilizar para gestionar cualquier proyecto en el que algunos archivos deban actualizarse automáticamente desde otros siempre que los otros cambien.

Ahora hay una serie de utilidades de compilación de seguimiento de dependencias, pero Make es una de las más extendidas, principalmente debido a su inclusión en Unix , comenzando con PWB / UNIX 1.0, que presentaba una variedad de herramientas dirigidas a tareas de desarrollo de software. [1] Fue creado originalmente por Stuart Feldman en abril de 1976 en Bell Labs . [2] [3] [1] Feldman recibió el premio ACM Software System Award 2003 por la creación de esta amplia herramienta. [4]

Feldman se inspiró para escribir Make por la experiencia de un compañero de trabajo al depurar inútilmente un programa suyo donde el ejecutable no se actualizaba accidentalmente con cambios:

Make se originó con una visita de Steve Johnson (autor de yacc, etc.), irrumpiendo en mi oficina, maldiciendo a los Fates que le habían hecho perder una mañana depurando un programa correcto (el error se había solucionado, el archivo no se había compilado, cc *.opor lo tanto, no se vio afectado). Como había pasado parte de la noche anterior lidiando con el mismo desastre en un proyecto en el que estaba trabajando, surgió la idea de una herramienta para resolverlo. Comenzó con una idea elaborada de un analizador de dependencias, se redujo a algo mucho más simple y se convirtió en Make ese fin de semana. El uso de herramientas que todavía estaban húmedas era parte de la cultura. Los Makefiles eran archivos de texto, no binarios codificados mágicamente, porque ese era el espíritu de Unix: material imprimible, depurable y comprensible.

Antes de la introducción de Make, el sistema de compilación Unix consistía más comúnmente en scripts de shell "make" e "install" dependientes del sistema operativo que acompañaban al código fuente del programa. Poder combinar los comandos para los diferentes objetivos en un solo archivo y poder abstraer el seguimiento de dependencias y el manejo de archivos fue un paso importante en la dirección de los entornos de construcción modernos.


Captura de pantalla de GNU Make, una implementación de Make