Login
Newsletter
Werbung

Mi, 9. Oktober 2013, 17:50

Software::Entwicklung

GNU gibt Make 4.0 frei

GNU Make, neben dem Compiler wohl das wichtigste Werkzeug für Software-Projekte unter Linux und anderen Systemen, ist in Version 4.0 erschienen. Die wesentliche neue Funktion ist die Integration der Scheme-Implementation GNU Guile als Erweiterungssprache.

Kaum ein Programm in der freien Software-Welt hat eine solche Kontinuität aufzuweisen wie GNU Make: Vor 22 Jahren, als die Entwicklung von Linux begann, lag das Programm in Version 3.60 vor. Die bislang letzte Version 3.82 erschien vor gut drei Jahren. Es dürfte auch an dieser Kontinuität liegen, dass keine der zahlreichen Alternativen eine ähnliche Verbreitung wie GNU Make erreichte. So ist das Werkzeug auch heute noch für zahllose Projekte unverzichtbar.

GNU Make ist wie sein traditionelles Unix-Vorbild ein Programm, das aus Quellcode-Dateien Zieldateien erzeugt. Dies geschieht mit Hilfe von Regeln, die in einer relativ einfachen Syntax geschrieben werden. Die Funktionalität von Make ist so allgemein gehalten, dass sein Einsatz keineswegs auf die Softwareentwicklung beschränkt ist. Es lassen sich beliebig viele sogenannte Ziele definieren, die mit völlig frei definierbaren Aktionen aus Quelldateien erzeugt werden. Dabei müssen Ziele und Quelldateien nicht unbedingt realen Dateien entsprechen, sie können genausogut »virtuell« sein. Die Regeln können beliebig umfangreich werden, wie man an den komplexen Makefile-Systemen beispielsweise des Linux-Kernels, von Busybox oder der BSD-Ports sehen kann.

Auch mit der jetzt veröffentlichten Version 4.0 bleibt GNU Make, was es schon immer war. Die neue Version bietet allerdings einige neue Optionen und Funktionen, von denen eine unter Umständen Änderungen in vorhandenen Makefiles erforderlich macht. Die größte neue Funktion in Make 4.0 ist die Integration von GNU Guile als Erweiterungssprache. GNU Guile, das in Version 1.8 und 2.0 genutzt werden kann, ist die offizielle Erweiterungssprache aller GNU-Projekte und ist ein Interpreter und Compiler für Scheme, eine LISP-ähnliche Sprache. Näheres hierzu kann man dem Make-Handbuch entnehmen, das noch nicht online, aber im Paket enthalten ist.

Die neue Kommandozeilenoption --output-sync gruppiert die Ausgaben, die bisher recht unübersichtlich sein konnten, wenn Make rekursiv oder mit vielen parallelen Prozessen ausgeführt wurde. Die neue Kommandozeilenoption --trace ermöglicht es zu sehen, welche Regeln ausgeführt werden und welche Abhängigkeiten dazu führten. Sie ergänzt die bereits vorhandenen Debugging-Optionen. Die Option --debug kann nun mit einem Flag »n« deaktiviert werden.

Die Funktionalität des »Job-Servers« sowie .ONESHELL sind jetzt auch unter MS Windows verfügbar. Ein neuer Zuweisungsoperator != wurde eingeführt. Er stellt eine Alternative zur Funktion $(shell ...) dar, kann jedoch mit bestehenden Makefiles inkompatibel sein, wenn Variablen verwendet werden, deren Name mit einem »!« endet. Daneben wurde ein weiterer Zuweisungsoperator ::= hinzugefügt, der 2012 von POSIX definiert wurde. Außerdem steht eine neue Funktion $(file ...) zur Verfügung, die etwas in eine Datei schreibt.

Werbung
Kommentare (Insgesamt: 18 || Alle anzeigen )
Re[4]: Damn (CRBIstEinSp, Do, 10. Oktober 2013)
Re[3]: Damn (aaa, Do, 10. Oktober 2013)
Re[2]: Ein gutes Werkzeug (Anonymous Coward, Do, 10. Oktober 2013)
Re[2]: Damn (Doppeldamn, Do, 10. Oktober 2013)
Re: Ein gutes Werkzeug (aviator, Do, 10. Oktober 2013)
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung