Nächste Seite: Fehlermeldungen Aufwärts: Abhängigkeiten verwalten (m2make) Vorherige Seite: Aufgabe und Arbeitsweise

## Aufruf und Bedienung

Die Optionen für `m2make` sollen dieses Werkzeug möglichst vielseitig einsetzbar machen. Ohne Angabe von Optionen wird der allgemeine Fall angenommen. Somit ist dem ungeübten Benutzer versichert, dass die Übersetzungsfolge korrekt abläuft. Die Optionen erlauben es dem fortgeschrittenen Benutzer, `m2make` besser seinen Bedürfnissen anzupassen.

Ihre gewünschte Zusammenstellung der Optionen können Sie in der Umgebungsvariable ,,`ENV:M2MAKE```ablegen. Damit lassen sich eigene Vorgabewerte erstellen.

> `m2make {+-012348dfilnpqwx -cCompOptions
> -oLinkOptions -sStack -tTargetFile ? ?? Modul}`

?
  zeigt die Version von `m2make` und gibt eine Hilfestellung der Bedienung.
??
  zeigt den Status der Optionen an.
0...8
  Durch die Angabe der entsprechenden Ziffer kann eine Prozessorversion vorgegeben werden. Zusammen mit der Option `f` wird dann das genaue Compilations- und Link- Verhalten bestimmt.
d
  (dependencies) Mit der Option ,,`+d``` wird die aufwendige Erstellung der Abhängigkeiten vermieden, sobald einmal eine Abhängigkeitendatei erzeugt wurde. Dies ist nur möglich, wenn keinerlei Änderungen der Abhängigkeiten erfolgt sind. Als Grundregel gilt: wurden seit Erzeugung der Abhängigkeitendatei keine `IMPORT`-Listen verändert, muss diese nicht neu erstellt werden. Ohne Angabe erzeugt `m2make` eine neue Abhängigkeitendatei.
f
  (force CPU) Mit der Option ,,`-f``` wird nur die höchste vorhandene Objektdatei auf das Datum überprüft. Ist mit den Optionen ,,`-8-f``` kein Modul`.ob8` vorhanden, wird keine Compilation erzwungen, da der Linker ja suchen wird. Mit ,,`-8+f``` wird die Compilation erzwungen, wenn keine `ob8`-Datei vorhanden ist. Ausnahme bilden die Libraries. Diese können nicht übersetzt werden, da dann auch eine neue Symboldatei erzeugt würde.
i
  (icons) Mit ,,`+i``` werden Compiler und Linker angewiesen, Ikonen zu erzeugen. Ausserdem erhält die Abhängigkeiten-Datei eine Ikone. Diese hat als Default-Tool ,,`M2:m2make```, so dass ein Doppelklicken darauf genügt. Sonst erhalten Sie nur dann Ikonen, wenn Sie `m2make` von der Workbench aus aufrufen.
l
  (link) Ist ein Programm-Modul Ziel eines Make-Laufs, wird abschliessend automatisch der Linker aufgerufen. Dieser Aufruf kann mit der Option ,,`-l``` unterbunden werden.
n
  Wird `m2make` die Option ,,`-n``` mitgegeben, wird es zwar vollständig ablaufen, aber weder Compiler noch Linker wirklich aufrufen. Stattdessen werden die Befehlszeilen, die den Aufrufen entsprechen, über den aktuellen Ausgabestrom angezeigt.
q
  Die Option ,,`-q``` unterdrückt alle Meldungen, die nur beschreibenden Charakter haben. Fehlermeldungen und Warnungen werden weiterhin ausgegeben.
w
  Mit ,,`+w``` oder ,,`-w``` werden Warnungen ausgegeben, beziehungsweise unterdrückt. Vorgabe ist ,,`+w```.
x
  Diese Option erlaubt es, den Vorgang erheblich zu beschleunigen. Wird diese Option abgeschaltet, sucht und prüft `m2make` nur im aktuellen Projekt und lässt alle anderen Projekte, insbesondere das grosse und somit zeitaufwendige `M2:modules`, ausser acht. In diesem Fall müssen selbstverständlich die Moduln in den anderen Projekten in Ordnung sein. Ohne Angabe wird in allen Verzeichnissen gesucht.
cOptionen
  Die der Option unmittelbar anschliessenden Zeichen werden dem Compiler als Optionen weitergereicht.
oOptionen
  Analog zur vorigen Option sind diese Angaben als Option für den Linker gedacht.
sStack
  Das Argument Stack gibt an, welche Stackgrösse dem Compiler zur Verfügung gestellt werden soll. Ist der Wert , wird die Stackgrösse auf 2000 gesetzt, da der Compiler in diesem Fall den notwendigen Stackbereich selber alloziert.
tDateiname
  Hiermit kann der Name des zu erzeugenden Programms angegeben werden. Vorgabe ist durch den Linker gegeben, welcher den Modulnamen ohne Suffix als Programmnamen nimmt. Dies sollte nicht bei den Linker-Optionen mit angegeben werden, da `m2make` das Datum von Quelltext und Zieldatei überprüfen muss.
p
  Mit der Option ,,`+p``` wird eine Zusatzfunktion von `m2make` aktiviert. Alle anderen Optionen sowie die normale Arbeitsweise von `m2make` sind hier nicht aktiv. Dafür wird eine Abhängigkeitentabelle der Moduln auf dem aktuellen Ausgabestrom ausgegeben. Diese Tabelle enthält alle Moduln, die vom Hauptmoduln direkt oder indirekt importiert werden.

  In dieser Tabelle steht für jedes Modul eine Zeile, die alle direkten Importe zu anderen Moduln enthält. Dabei werden Importe in den Definitionsmoduln mit einem ,,`D```, diejenigen der Implementationsmoduln mit einem ,,`X``` gekennzeichnet. Um die Tabelle möglichst kompakt und übersichtlich zu gestalten, werden die Spalten nur mit Zahlen (in 5er-Schritten) gekennzeichnet. Der Name des Moduls kann aus der entsprechenden Zeile entnommen werden.

  Die in Abbildung 3.1 dargestellte Situation ergäbe folgende Darstellung:

  `
  `\` Modul B | : |
  Modul A `\` | 5: 10|
  ---------|---:---|
  M5 6| :X |
  ---------|---:---|
  M4 5| X: |
  ---------|---:---|
  M6 4| X : |
  ---------|---:---|
  M3 3| XD : |
  ---------|---:---|
  M2 2| X X:X |
  ---------|---:---|
  M1 1| XX : |
  `

  Das Modul `M1` importiert in der Implementation die Moduln `M2` und `M3`. `M2` importiert ebenfalls in der Implementation die Moduln `M4` und `M5`, während `M3` in seiner Definition `M6` importiert.

Nächste Seite: Fehlermeldungen Aufwärts: Abhängigkeiten verwalten (m2make) Vorherige Seite: Aufgabe und Arbeitsweise