homeUnix & Internet Unix & Shell-Programmierung: make Prof. Dr. Uwe Schmidt FH Wedel

make

weiter

weiter

Build Tool

make
Werkzeug zum Erzeugen von Systemen
weiter
Regeln
Abhängigkeiten zwischen Quellen und zu erzeugenden Dateien (Zielen)
weiter
Syntax
Ziel1 : Quelle11 Quelle12 ...
        Kommando11
        Kommando12
        ...
 
Ziel2 : Quelle21 Quelle22 ...
        Kommando21
        ...
weiter
merke
vor den Kommandos muss ein Tabulatorzeichen stehen !!!
weiter
Zeitstempel
des letzten Schreibens steuern die Anwendung der Regeln.
weiter
Aufruf
make Ziel
weiter
.1
rekursiv für alle Quellen
 
make Quelle

weiter
2.
mindestens eine Quelle neuer als das Ziel:
==>
Kommando(s) ausführen
weiter
neuer
.a
Ziel und Quelle existieren
==>
Zeitstempel des letzten Schreibens vergleichen
.b
Ziel(datei) existiert nicht:
==>
Quelle neuer als das Ziel
.c
Ziel existiert und keine Regel für das Ziel:
==>
Ziel aktuell
.d
Ziel existiert nicht und keine Regel für das Ziel:
==>
Fehler
weiter
Makros
Text-Variablen zur Vermeidung von Codeverdopplung, für Abkürzungen.
weiter
Syntax
weiter
Definition
NAME = wert
weiter
Anwendung
$(NAME)
weiter
Umgebungs-
Variablen
stehen als Makros zur Verfügung.
weiter
Kommandozeilen-
Parameter
zum Setzen von Makros
 
make NAME=neuerWert Ziel
weiter
vordefinierte Makros
$@aktuelles Ziel
$*aktuelles Ziel ohne Extension
$$$-Zeichen
$<erste Quelle
$^alle Quellen
$(CC)C-Compiler
$(CFLAGS)C-Compiler Optionen
$(MAKE)make Programm
weiter
default-
Regeln
Regeln für eine Klasse von Dateien
weiter
.-Regeln
alte make-Variante: Etwas unflexibel
 
# default Regel zum Übersetzen einer C-Datei
 
.c.o:
        $(CC) $(CFLAGS) -c $<
 
# default Regel zum Konvertieren einer
# .ppm Datei in ein Gif
 
.ppm.gif:
        ppmtogif $< $@
 
# Reihenfolge für die defaut-Regeln
 
.SUFFIXES       : .o .c .ppm .gif
weiter
%-Regeln
GNU make: flexibler
 
# default Regel zum Übersetzen einer C-Datei
 
%.o     : %.c
        $(CC) $(CFLAGS) -c $<
 
# default Regel zum Konvertieren einer
# .ppm Datei in ein Gif
 
%.gif   : %.ppm
        ppmtogif $< $@
weiter
Bilder konvertieren und erzeugen von Varianten mit convert
weiter
Optionen
für make
 
-nTrockenkurs
-palle Makros und Regeln
-rohne default-Regeln
-fexplizite Makefile-Angabe

weiter
GNU make

Letzte Änderung: 19.11.2015
© Prof. Dr. Uwe Schmidt
Prof. Dr. Uwe Schmidt FH Wedel