next up previous contents index
Next: Laden und Weiterverarbeiten von Up: Ein typisierter, attributierter Graph Previous: Erzeugen eines Graphen

Übersetzen und Binden

Zum Übersetzen und Binden wird das Makefile aus Abschnitt erweitert.

In den nächsten Zeilen wird festgelegt, daß sich das Programm citymap aus den beiden Teilen citymap.o und citytype.o zusammensetzt und wie es zu binden ist.
\begin{program}
{demo/makefile}

citymap: citymap.o citytype.o
 $(GRALAB_LINK_o)...
 ...

citymap.o: citymap.c citytype.h
citytype.o: citytype.c citytype.h\end{program}
Die letzten beiden Zeilen führen Abhängigkeiten ein. Z.B. wird festgelegt, daß die Datei citymap.o von den Dateien citymap.c und citytype.h abhängig ist. Wenn sich eine dieser beiden Dateien ändert, wird die Zieldatei neu erzeugt.

Um dieses Programm zu übersetzen und zu binden, muß beim Aufruf von make angegeben werden, welche Zieldatei erzeugt werden soll. Für dieses Beispielprogramm muß man also make citymap aufrufen, was beispielsweise folgende Ausgabe ergibt:

  docs/demo> make citymap
  g++ -Wall -fno-inline -g  -I/home/ems/GraLab4/src/include \
    -I/home/ems/GraLab4/lib/sparc-sun-solaris2.5/GNUgcc \
    -DG_DEBUG -c citymap.c
  g++ -Wall -fno-inline -g  -I/home/ems/GraLab4/src/include \
    -I/home/ems/GraLab4/lib/sparc-sun-solaris2.5/GNUgcc \
    -DG_DEBUG -c citytype.c
  g++ -L/home/ems/GraLab4/lib/sparc-sun-solaris2.5/GNUgcc \
    -o citymap citymap.o citytype.o -lgraphcdtu

Das Programm kann danach mit ./citymap[*] aufgerufen werden. Dabei wird keine Ausgabe am Bildschirm erzeugt, sondern nur die beiden Dateien cityts.t für das Typsystem und citymap.g für den Graphen angelegt.



Friedbert Widmann
7/20/2003