Zunächst werden alle benötigten Dateien ermittelt:
Die Beschreibungsdatei sys/desc/hello.lnk wird anhand der Dateiendung .lnk als die Beschreibung eines ausführbaren Programms erkannt. Die Beschreibung enthält nur eine einzige Datei:
:SAPDB/HelloWorld.c
Der Doppelpunkt steht für das
Verzeichnis mit den Moduldateien sys/src .
Die
Moduldatei sys/src/SAPDB/HelloWorld.c wird anhand der Dateiendung .c als eine Moduldatei erkannt, die mit dem C-Kompilierer übersetzt werden muß. Die von dieser Moduldatei benötigten Include-Dateien werden in der Beschreibungsdatei sys/desc/SAPDB.com aufgeführt:HelloWorld.c inc=:SAPDB/HelloWorld.h
In dieser Zeile können weitere Optionen für den Kompilierer stehen.
Die Include-Datei
sys/src/SAPDB/HelloWorld.h benötigt keine weiteren Dateien, ansonsten müßten diese Abhängigkeiten ebenfalls in SAPDB.com eingetragen werden.
Nach der Ermittlung der benötigten Dateien wird jede dieser Dateien aktualisiert:
HelloWorld.h
HelloWorld.c fast
hello.lnk fast
Diese werden aus dem Entwicklungsbereich (
Allgemeine Verzeichnisstruktur) in ein entsprechendes Unterverzeichnis sys/wrk/incl kopiert, in diesem Fall nach sys/wrk/inl/SAPDB/HelloWorld.h .Dateinamen in #include-Anweisungen sind deshalb immer relativ zu
sys/wrk/incl anzugeben.
HelloWorld.h
HelloWorld.c fast
hello.lnk fast
Diese werden mit Hilfe des C-Kompilierers in
Objektdateien übersetzt.Objektdateien können in drei Versionen (
VMAKE-Versionen) erzeugt werden:* fast: mit Optimierung
* quick: mit Assertions
* slow: mit Assertions und Traceausgaben
In diesem Fall wird die erzeugte Datei nach
sys/wrk/fast/obj/SAPDB/HelloWorld.o geschrieben.Auch unter Windows NT(tm) erhalten Objektdateien die Dateiendung
.o .Zum
Übersetzen wird die Quelldatei in das Verzeichnis sys/wrk/fast/tmp kopiert. Alle Zwischenergebnisse (diese fallen insbesondere bei PASCAL-Quellen an) werden in diesem Verzeichnis erzeugt und können beim Auftreten eines Fehlers dort angesehen werden.
HelloWorld.h
HelloWorld.c fast
hello.lnk fast
Diese werden gelinkt und nach
usr/pgm kopiert.Unter UNIX wird dabei
usr/pgm/hello.f erzeugt und darauf ein Link im Dateisystem unter usr/pgm/hello eingetragen.Unter Windows NT wird die Datei
usr\pgm\hello.exe.f erzeugt und nach usr\pgm\hello.exe kopiert.