next up previous
Next: Vordefinierte und Spezielle Makros Up: Schreiben von Makefiles Previous: Fehlerbehandlung

Makros

make erlaubt die Definition von Makros, die, ähnlich wie Variablen, Namen von Dateien/Befehlen enthalten können.

Makros werden folgendermassen definiert:

MACRO = symbol
Das Makro wird im Makefile mit $(MACRO) verwendet. Es findet dann an dieser Stelle eine textuelle Ersetzung von $(MACRO) durch symbol statt.

Das obige Beispiel mit einem Makro:

OBJECTS = data.o main.o io.o

project1: $(OBJECTS)
        cc $(OBJECTS) -o project1
	
data.o: data.c data.h
        cc -c data.c
	
main.o: data.h io.h main.c
        cc -c main.c
	
io.o: io.h io.c
        cc -c io.c

Makros können auch in der Kommandozeile beim Aufruf von make mit angegeben werden:

> make 'OBJECTS=data.o newio.o main.o' project1
Dieses Makro hat eine höhere Priorität als das gleichnamige Makro, das im Makefile definiert wird. Das andere Makro wird also durch das Makro von der Kommandozeile überschrieben.



 

Mail to: Oliver Schönbrunner
Programmieren unter UNIX