Makros werden folgendermassen definiert:
MACRO = symbolDas 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.