====== Suffix-Regeln ====== Suffix-Regeln sind die wohl kürzeste Form, eine Regel zu formulieren. Der Lesbarkeit halber sollten in neuen Makefiles jedoch [[pattern|Patternregeln]] verwendet werden. Um einen ersten und schnellen Einblick zu erhalten und um vorhandene Makefiles zu verstehen, werden sie hier erklärt: Folgende Regel erklärt, wie aus Dateien, die mit .c enden, Dateien entstehen, die mit .o enden. .c.o: gcc -c $< Diese Regel wie man .o Dateien aus gleichnamigen .c Dateien erzeugt. ''$<'' beschreibt den Namen der eingehende Datei. So kann mit dieser Regel die Datei ''hello.c'' mit dem Befehl ''gcc -c hello.c'' die Datei ''hello.o'' erzeugt werden. Nehmen wir an, wir haben ein Ziel, dass von ''hello.o'' abhängt: all: hello.o gcc hello.o Mit der obenstehenden Suffix-Regel wird nun nach einer Datei ''hello.c'' gesucht, um mit Hilfe dieser Regel das Ziel zu konstruieren. Ambassador:suffix xin$ make gcc -c hello.c gcc -o hello hello.o Ambassador:suffix xin$ ls -l total 48 -rw-r--r--@ 1 xin staff 158 15 Nov 16:22 Makefile -rwxr-xr-x 1 xin staff 8704 15 Nov 16:22 hello -rw-r--r-- 1 xin staff 84 15 Nov 16:11 hello.c -rw-r--r-- 1 xin staff 724 15 Nov 16:22 hello.o Ambassador:suffix xin$ ===== Ein Beispiel als Makefile ====== ## ## C Files kompilieren. ############################################ CC=gcc OBJECTS=hello.o EXECUTABLE=hello .c.o: $(CC) -c $< all: $(OBJECTS) $(CC) -o $(EXECUTABLE) $(OBJECTS) rebuild: clean all clean: rm -f *.o rm -f $(EXECUTABLE) ------ Download: {{build:make:rules:suffix.zip|Beispielcode und Makefile}}