Seitenleiste

Pattern-Regeln

Pattern-Regeln sind gewissermaßen die Langform von Suffix-Regeln. Die Schreibweise entspricht jedoch mehr den impliziten Regeln.

Die folgende Suffix-Regeln

.c.o:
	gcc -c $<

lautet als Pattern-Regeln:

%.o: %.c
	gcc -c $<

Das %-Zeichen dient als Platzhalter für einen beliebigen Dateinamen. Hier ergibt sich der Vorteil, dass ein Objekt in der Regel auch neu gebaut werden muss, wenn man im zugehörigen Headerfile Änderungen getätigt werden müssen. Es lassen sich also weitere Abhängigkeiten formulieren, zum Beispiel:

%.o: %.c %.h globals.h
	gcc -c $<

Ein Beispiel als Makefile

Das nachfolgende Makefile entspricht dem Beispiel aus den Suffix-Regeln:

##
## C Files kompilieren.
############################################
 
CC=gcc
OBJECTS=hello.o
EXECUTABLE=hello
 
%.o: %.c
	$(CC) -c $<
 
all: $(OBJECTS)
	$(CC) -o $(EXECUTABLE) $(OBJECTS)
 
rebuild: clean all	
 
clean:
	rm -f *.o
	rm -f $(EXECUTABLE)

Download: Beispielcode und Makefile