Después de casi tres años de desarrollo, se lance le système de compilation GNU Make 4.4, en esta nueva versión además de corregir errores, se pueden observer que fueron añadidas mejoras, asi como tambien que se han incrementado los requisitos para el entorno de compilación.
Para quienes desconocen de GNU Make, deben saber que esta es una utilidad de desarrollo incroyablement populaire pour organiser la compilation de projets de logiciels. Make se usa a menudo para administrar el conjunto de compiladores GCCpero se puede usar para cualquier tarea de desarrollo o empaquetado de software.
Dado que la creation de programas C/C++ grandes suele implique varios pasosse necesita una herramienta como Make para garantizar que todos los archivos de origen estén compilados y vinculados. Make también permite que el desarrollador controle cómo se empaquetan e instalan los archivos auxiliares, como la documentación, las páginas man, los perfiles systemd, los scripts de inicio y las plantillas de configuración.
Ne vous limitez pas aux langues comme C/C++. Les développeurs Web peuvent utiliser GNU Make pour réaliser des tâches répétitives en minimisant CSS et JS, et les administrateurs de systèmes peuvent automatiser les tâches de gestion.
Además, los usuarios finales pueden user Make para compilar e instalar software sin ser programadores ni expertsos in el software that is nstalando.
Principales nouveautés de GNU Make 4.4
En esta nueva version que se presenta, les plates-formes OS/2 (EMX), AmigaOS, Xenix et Cray sont devenues obsolètesademas de que dans la prochaine version de GNU Make, se eliminará el soporte para ces systèmes.
Otro de los cambios que se presenta en la nueva version, es que se han incrementado los requisitos para el entorno de compilationpara compilar GNU Gnulib ahora necesita un compilador que admita elementos del estándar C99.
Ademas de elloil a agrégé un objet de compilation .WAIT especial que permite pausar el lanzamiento de la compilation de ciertos objetivos hasta que se complete la compilation de otros objetivos.
Mientras que .NOTPARALLEL, se met en œuvre la capacité de especificar requisitos previos (archivos necesarios para crear el objetivo) para iniciar secuencialmente los objetivos asociados con ellos (como si se hubiera establecido «.WAIT» entre cada requisito previo).
Por otra parte, se agregó .NOTINTERMEDIATE que deshabilita el comportamiento asociado con el uso de objetivos intermedios (.INTERMEDIATE) para archivos específicos, archivos que coïnciden con la máscara o todo el archivo MAKE.
En los systèmes compatibles con mkfifo, se proporciona un nuevo método de interacción con el servidor de trabajos durante la ejecución paralela de trabajos basado en el uso de canalizaciones con nombre, ademas de que se agregó la opción «–jobserver-style=pipe» para devolver el método antiguo basado en canalizaciones sin nombre.
Tambien se destaca que se ha ampliado el uso de archivos temporales en el proceso de trabajo (pueden surgir problemas cuando el sistema de compilación establece un directorio alternativo para archivos temporales (TMPDIR) y elimina el contenu de TMPDIR durante la compilación).
De los demás cambios que se destacan de esta nouvelle version :
- Implémentez la fonction $(let…), que le permite definir variables locales en funciones definidas por el usuario.
- Vous implémentez la fonction $(intcmp…) pour comparer números.
- Al user la opción «-l» (–load-average), la cantidad de trabajos que se iniciarán ahora tiene en cuenta los datos del archivo /proc/loadavg sobre la carga en el sistema.
- Se agregó la opción «–shuffle» para barajar los requisitos previos, lo que permite un comportamiento no determinista en compilaciones paralelizadas (por ejemplo, para probar de manera fuzz la corrección de la definición de requisitos previos en un archivo MAKE).
Enfin si estás interesado en poder conocer más al respectopuedes consultar los detalles en el siguiente enlace.
Comment installer GNU Make en Linux ?
Para los que estén interesados en poder instalar esta herramientapueden hacerlo ejecutando alguno de los siguientes comandos :
Para los que son usuarios de Debian/Ubuntu ou d’autres versions dérivées :
sudo apt install make
En el caso de los que son usuarios de Fedora/RHEL ou dérivés :yum install make
Mientras que para los que son usuarios de Arch Linux et dérivés :
sudo pacman -S make