GNU make - Robert Mecklenburg

GNU make

Buch | Softcover
328 Seiten
2005
O'Reilly (Verlag)
978-3-89721-408-8 (ISBN)
32,00 inkl. MwSt
  • Titel ist leider vergriffen;
    keine Neuauflage
  • Artikel merken
Das Programm mit dem schlichten Namen "make" ist eines der traditionsreichsten Tools zur Software-Entwicklung. Es wird genutzt, um in einem Projekt, in das viele verschiedene Quelldateien einfließen, alle Arbeitsschritte bis hin zum fertigen ausführbaren Programm automatisiert zu steuern. make ist bis heute das Build-Tool der Wahl in vielen Programmierprojekten; sogar der Linux-Kernel wird mithilfe von make gebaut.

Die Idee hinter make ist sehr einfach: make prüft die Zeitstempel der beteiligten Quelldateien und entscheidet darüber, welche Dateien neu kompiliert oder anderweitig erstellt werden müssen. Darüber hinaus stellt make eine Vielzahl von Optionen zur Verfügung, die es ermöglichen, ganze Verzeichnishierarchien zu bearbeiten und verschiedene Programmversionen für unterschiedliche Betriebssysteme zu erzeugen. Dabei legt make Wert auf maximale Konfigurierbarkeit und Anpassungsmöglichkeiten an eigene Bedürfnisse.

Dieses Buch konzentriert sich auf GNU make, eine besondere Version von make, die sich zu Recht als Industriestandard durchgesetzt hat. Als freie Software ist GNU make besonders populär und hat sich auf praktisch allen Betriebssystemen verbreitet; auch für Windows gibt es gleich mehrere Versionen, unter anderem als Teil des freien CygWin-Projekts.

Das Buch behandelt neben den Grundlagen wie der Erstellung einfacher Makefiles und dem Umgang mit Befehlen auch die mächtigen Erweiterungen von GNU make und die verschiedenen Versionen, die das Programm für fast jedes Betriebssystem zur Verfügung stellt. Daneben geht der Autor auch ausführlich auf fortgeschrittene Themen ein, wie etwa das Managen großer Projekte, Portabilität und Debugging von Makefiles, Leistungssteigerung von make und die Anwendung von make in Java-Projekten.

Robert Mecklenburg benutzt Unix seit 1977, damals noch als Student. 1981 hat er das Programmieren zu seinem Beruf gemacht. Erste Erfahrungen mit make 1982 bei der NASA mit Unix Version 7. 1991 Promotion in Informatik an der University of Utah. Seitdem tätig auf den Gebieten CAD bis Bioinformatik mit umfassende Kenntnisse und Erfahrungen in C++, Java und Lisp. Bestens vertraut mit den Problemen des Projektmanagements make.

Inhaltsverzeichnis
Vorwort von Andy Oram XI
Vorwort XIII
Teil I: Grundlagen
1 Ein einfaches Makefile 3
Ziele und Voraussetzungen 4
Überprüfung der Abhängigkeiten 6
Erneutes Bauen vermeiden 7
make aufrufen 8
Grundlegende Makefile-Syntax 9
2 Regeln 11
Explizite Regeln 12
Variablen 18
Dateien finden mit VPATH und vpath 19
Musterregeln 23
Die Datenbank der impliziten Regeln 27
Spezielle Ziele 33
Automatische Erzeugung von Abhängigkeitsinformationen 34
Bibliotheken verwalten 38
3 Variablen und Makros 45
Wofür Variablen verwendet werden 47
Variablentypen 48
Makros 50 Expandieren von Variablen 52
Ziel- und musterspezifische Variablen 55
Die Herkunft der Variablen 56
Verarbeitung von include- und bedingten Anweisungen 59
Standardvariablen in make 63
4 Funktionen 67
Benutzerdefinierte Funktionen 67
Eingebaute Funktionen 70
Fortgeschrittene benutzerdefinierte Funktionen 88
5 Kommandos 97
Parsen von Kommandos 97
Die richtige Shell 106
Leere Kommandos 107
Die Umgebung von Kommandos 108
Kommandos auswerten 109
Einschränkungen der Kommandozeile 110
Teil II: Fortgeschrittene und Spezialthemen
6 Verwaltung großer Projekte 117
Rekursives make 118
Nicht-rekursives make 128
Komponenten großer Systeme 136
Verzeichnislayout 139
Automatisierung von Aufbau und Tests 141
7 Portable Makefiles 143
Portabilitätsprobleme 144
Cygwin 145
Verwaltung von Programmen und Dateien 149
Einsatz nichtportabler Tools 152
Automake 154
8 C und C++ 155
Trennung von Quelltexten und Binärdaten 155
Quelltextbäume im Read-Only-Modus 163
Generierung von Abhängigkeitsdateien 164
Unterstützung mehrerer Binärbäume 169
Partielle Quelltextbäume 171
Referenzbinärbäume, Bibliotheken und Installationsprogramme 172
9 Java 175
Alternativen zu make 176
Ein generisches Makefile für Java 180
Aufruf des Java-Compilers 184
Verwaltung von jar-Dateien 193
Referenzbäume und jar-Archive von Drittanbietern 195
Enterprise JavaBeans 196
10 Beschleunigung von make 201
Benchmarking 202
Identifikation und Elimination von Flaschenhälsen 206
Paralleles make 210
Verteiltes make 214
11 Beispiele von Makefiles 217
Das Makefile dieses Buchs 217
Das Makefile des Linux-Kernel 240
12 Debugging mit make 253
In make integrierte Debugging-Möglichkeiten 253
Debugging-fähigen Code schreiben 260
Häufige Fehlermeldungen 266
Teil III: Anhänge
A Aufruf von make 275
B Grenzbereiche 279
C GNU Free Documentation License - GNU Project - Free Software Foundation (FSF) 291
Index 299

Sprache deutsch
Gewicht 570 g
Einbandart Paperback
Themenwelt Informatik Betriebssysteme / Server Unix / Linux
Schlagworte GNU • make (Software) • make, Software Entwicklung, GNU
ISBN-10 3-89721-408-3 / 3897214083
ISBN-13 978-3-89721-408-8 / 9783897214088
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich