Despois de case tres anos de desenvolvemento, lanzouse GNU Make 4.4. Ademais das correccións de erros, a nova versión inclúe as seguintes modificacións:
- As plataformas OS/2 (EMX), AmigaOS, Xenix e Cray están obsoletas e deixarán de ser compatibles na seguinte versión.
- Os requisitos para o ambiente de compilación foron incrementados; compilar GNU Gnulib agora require un compilador que admita elementos do estándar C99.
- Engadiuse un obxectivo de compilación .WAIT especial que permite pausar a compilación de certos obxectivos ata que se complete a compilación doutros.
- O obxectivo de compilación especial .NOTPARALLEL implementa a capacidade de especificar requisitos previos (ficheiros necesarios para compilar o obxectivo) para executar os obxectivos asociados secuencialmente (como se se definise ".WAIT" entre cada requisito previo).
- Engadiuse un obxectivo de compilación especial .NOTINTERMEDIATE que desactiva o comportamento asociado ao uso de obxectivos intermedios (.INTERMEDIATE) para os ficheiros especificados, os ficheiros que coinciden coa máscara ou o ficheiro makefile completo.
- Implementouse a función $(let …), que permite definir variables locais en funcións definidas polo usuario.
- Implementouse a función $(intcmp …) para comparar números.
- Ao usar a opción "-l" (--load-average), agora téñense en conta os datos de carga do sistema do ficheiro /proc/loadavg ao determinar o número de traballos a executar.
- Engadiuse a opción "--shuffle" para mesturar os requisitos previos, o que permite un comportamento non determinista durante as compilacións paralelas (por exemplo, para probar a corrección das definicións de requisitos previos no ficheiro makefile).
- En sistemas con soporte para mkfifo, admítese un novo método de interacción co servidor de traballos durante a execución paralela de traballos, baseado en canles con nome. Para volver ao método anterior con canles sen nome, está dispoñible a opción "--jobserver-style=pipe".
- Ampliouse o uso de ficheiros temporais durante o funcionamento (poden xurdir problemas cando o sistema de compilación establece un directorio alternativo para ficheiros temporais (TMPDIR) e elimina o contido de TMPDIR durante a compilación).
Fonte: opennet.ru
