Build-Tool: GNU Make 4.3 verbessert die Performance

Das Werkzeug zum Build-Management bringt in Version 4.3 neben Optimierungen ein paar neue Optionen.

In Pocket speichern vorlesen Druckansicht 37 Kommentare lesen
Build-Tool: GNU Make 4.3 verbessert die Performance
Lesezeit: 2 Min.

Gut dreieinhalb Jahre nach GNU Make 4.2 ist nun Version 4.3 des Build-Management-Tools erschienen. Das neue Release bringt ein paar neue Features und Optionen mit und soll die Performance verbessern. Außerdem will es mehr Übersicht für das Error Handling bringen, indem es unter anderem Fehlermeldungen zum Aufruf nicht vorhandener Befehle konsistenter und aufgeräumter darstellt.

Zu den nennenswerten Neuerungen gehört, dass Makefiles nun in der Variable MAKEFLAGS die Option -j enthalten dürfen, um GNU Make ebenso im parallelen Modus auszuführen wie beim Start des Tools von der Kommandozeile mit dem -j-Parameter.

Über &: lassen sich nun aus einem Aufruf mehrere, gruppierte Targets erstellen. Damit weiß Make beim Erstellen eines der gruppierten Targets, dass die anderen in der Gruppe ebenfalls durch den Aufruf erstellt werden. Beim Ausführen eines Recipe (Regelsatzes) für ein gruppiertes Target enthält die Variable $@ den Namen des Targets, das die Regel ausgelöst hat.

Neu ist zudem die Variable .EXTRA_PREREQS, mit der sich Vorbedingungen für Ziele festlegen lassen, die das Tool jedoch beim Expandieren des Regelsatzes nicht an andere automatische Variablen weitergibt. Die neue Option -E ist schlicht ein Kürzel für -eval, und die Option --no-silent überschreibt den Effekt des Flags s/--silent/--quiet.

GNU Make bringt neben den erweiterten Optionen einige Änderungen unter der Haube mit. Unter anderem nutzt es zum Erstellen von Kindprozessen die Funktion posix_spawn, wenn sie auf dem System verfügbar ist. Auf Windows sind nun beim Verwenden des -jN-Flags maximal 4095 statt wie bisher 63 Jobs erlaubt, also 212 - 1 statt 26 - 1 Jobs.

Außerdem arbeitet das Build-Management-Tool nun mit den aktuellen Varianten von GNUs Laufzeitbibliotheken libc und musl.

Weitere Details lassen sich der Ankündigung von GNU Make 4.3 entnehmen. Die vollständige Liste der Bugfixes findet sich auf der Entwicklerresource Savannah. (rme)