Das Programm make erzeugt Programme (und andere Artefakte)
anhand von Regeln, die in einem Makefile definiert sind.
Es beginnt mit einer Liste von Direktiven, um zum Beispiel andere Dateien
einzubinden und Variablen zu definieren. Darauf folgen die Regeln
bestehend aus dem Ziel (entweder ein Dateiname oder ein sogenanntes
phony target), einer Liste der Abhängigkeiten
(benötigten Objekte), und den Kommandos, um das Ziel zu bauen.
Eine Regel besteht aus Ziel, Abhängigkeiten und Kommandos.
Das Ziel ist der Name des zu erzeugenden Artefakts,
meistens ein Dateiname.
Die Abhängigkeiten sind eine Liste von Dateien,
die benötigt werden, um das Ziel zu erzeugen.
Das Kommando ist ein Skript, welches aufgerufen wird.
Dort stehen folgende Spezialvariablen zur Verfügung:
$@
Ziel (linke Seite)
$<
Erste Abhängigkeit
$+
Alle Abhängigkeiten
$^
Alle Abhängigkeiten ohne Dubletten
$?
Neuere Abhängigkeiten
$%
@todo Mitglied
$|
@todo
$*
Stamm einer impliziten Regel, zum Beispiel foo bei foo.c für %.c