Hallo! Ich moechte Euch noch ein paar Hinweise zur Erstellung des Kodes geben. Leider wurde das in der letzten Praktikumsbesprechung vergessen: Der gesamte Source-Baum befindet sich unter ~Praktik1/System/code. Hier sind folgende Verzeichnisse angelegt: drwxrwsr-x 2 Praktik1 Praktik 512 Jan 4 11:26 bin/ drwxrwsr-x 2 Praktik1 Praktik 1024 Apr 15 15:03 include/ drwxrwsr-x 2 Praktik1 Praktik 512 Apr 13 10:38 lib/ drwxrwsr-x 18 Praktik1 Praktik 512 Apr 15 14:47 src/ bin/ ... ist z.Zt. noch leer. Vielleicht wird da irgendwann mal ein ausfuehrbares Programm zur Klimasteuerung liegen :) include/ ... in dieses Verzeichnis sind die Header-Dateien aller Klassen abzulegen. lib/ ... Dieses Verzeichnis ist die Sammelstelle fuer alle erzeugten Objektfiles. Die bisher verfuegbaren Makefiles kopieren die erzeugten *.o-Files in dieses Verzeichnis. Ihr werdet mit diesem Verzeichnis sehr wahrscheinlich nichts zu tun haben. src/ ... Quellkode fuer alle Klassen Im dem src/-Verzeichnis befinden sich der Quellkode des WASTE-Systems, u.a. folgendes: drwxrwxr-x 2 Praktik1 Praktik 512 Apr 15 14:52 Section/ drwxrwxr-x 2 Praktik1 Praktik 512 Jun 14 16:00 Temperatureregulator/ -rwxrwxr-x 1 Praktik1 Praktik 1031 Apr 9 13:13 alltest.inc* -rwxrwxr-x 1 Praktik1 Praktik 561 Apr 15 14:47 makefile* Der Kode jeder Klasse wird in einem eigenen Verzeichnis abgelegt. Sollte fuer Euere Klasse noch kein Verzeichnis existieren, legt es an. Weiterhin befinden sich im src/-Verzeichnis die Dateien makefile und alltest.inc. Die Funktion dieser Dateien versteht man erst, wenn man sich den Inhalt eines Klassen-Quellkode-Verzeichnisses angeschaut hat: Inhalt von Section/ : drwxrwsr-x 2 Praktik1 Praktik 512 Jun 17 09:47 RCS/ -rwxrwxr-x 1 Praktik1 Praktik 2703 Apr 15 14:31 Section.cc* -rwxrwxr-x 1 Praktik1 Praktik 3100 Apr 15 14:34 Section.o* -rwxrwxr-x 1 Praktik1 Praktik 2081 Apr 9 13:46 makefile* Hier befindet sich die Implementierung der Klasse Section. Das Makefile steuert die Kompilierung der Klasse. Dabei stehen folgende Targets zur Verfuegung: compile ... erzeugt ein Objektfile und kopiert dieses nach lib/ clean ... loescht alte Objektfiles depend ... erzeugt die Liste der Abhaengigkeiten Das Makefile greift dabei auf '../alltest.inc' zurueck. Hier werden Variablen und Targets definiert, die fuer die Makefiles aller Klassen gueltig sind. Das Makefile aus dem src/-Verzeichnis ist nun ein "Generalmakefile". Es durchlaeuft alle Verzeichnisse und fuehrt dort die lokalen Makefiles aus. Wie muesst Ihr nun den Kode fuer eine neue Klasse anlegen? 1. Erzeugt fuer die Klasse ein neues Verzeichnis, falls dieses noch nicht existiert. 2. Legt ein RCS-Unterverzeichnis zur Versionsverwaltung an. 3. Erstellt den Kode. (Header-File muss aber nach include/ !!!) 4. Kopiert ein makefile einer anderen Klasse und passt dieses an. Wie Ihr sicherlich schon aus Punkt 2. der Liste erkennen koennt, soll der Kode RCS-verwaltet werden. Der bisherige Kode ist noch nicht RCS-verwaltet! Legt deshalb, wenn noetig, ein RCS-Verzeichnis fuer abzuaendernde Klassen an. Eine Anleitung zur Versionsverwaltung habt Ihr ja von Stefan bekommen (auch zu finden unter: http://sep1.informatik.uni-kl.de:18000/TEAM3/WWW/BaX3/baX3-work.html ). Soviel fuer's erste. Gruss, Wolfgang