home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 2: PC / frozenfish_august_1995.bin / bbs / d09xx / d0959.lha / IntuiMake / IntuiMake.anl < prev    next >
Text File  |  1993-12-10  |  22KB  |  588 lines

  1.                               IntuiMake v1.2
  2.  
  3.                  ⌐ 1993 Bj÷rn E. Trost und Dirk O. Remmelt.
  4.  
  5.  
  6.  
  7. i. Rechte und Pflichten der Autoren
  8.  
  9.    IntuiMake v1.2 wurde mit gr÷▀tm÷glicher Sorgfalt entwickelt und
  10.    getestet. Dennoch k÷nnen Fehler im Programm selbst und in mit
  11.    IntuiMake erzeugten Programmen nicht ausgeschlossen werden.
  12.    Die Autoren k÷nnen fⁿr solche Fehler nicht haftbar gemacht werden.
  13.  
  14.  
  15.  
  16. ii. Rechte und Pflichten des Benutzers
  17.  
  18.    Mit IntuiMake wird Entwicklern ein Werkzeug zur Programmentwicklung
  19.    zur Verfⁿgung gestellt, mit dem sie ohne Probleme gr÷▀ere Programm-
  20.    projekte entwicklen k÷nnen. Dazu sind keine Vorkenntnisse erforderlich,
  21.    da IntuiMake, wie der Name ja schon sagt, nicht mit Skript-Dateien arbeitet,
  22.    wie sie sonst ⁿblich sind.
  23.  
  24.    IntuiMake darf frei kopiert und in PD-Serien aufgenommen werden,
  25.    sofern der Verkaufspreis einer Diskette nicht DM 5,- ⁿbersteigt. Wird
  26.    IntuiMake in eine Serie aufgenommen, so bitten die Autoren um die
  27.    ▄bersendung einer Kopie.
  28.  
  29.    IntuiMake darf nicht rekompiliert oder in irgendeiner Form verΣndert
  30.    werden. Dies betrifft vor allem Copyrightmeldungen und Versionsnummern.
  31.  
  32.    IntuiMake ist keine Shareware, es besteht jedoch die M÷glichkeit der
  33.    Registrierung. Registrierte Anwender erhalten Upgrades, eine mit TeX
  34.    gesetzte, ausfⁿhrliche Anleitung und einen umfassenden Support. Eine
  35.    Registrierkarte befindet sich als Datei `Register.txt' in diesem
  36.    Paket. Interessierte Anwender k÷nnen sie ausdrucken und absenden.
  37.  
  38.    Natⁿrlich sind auch Zuschriften jeglicher Art ohne Registrierung
  39.    willkommen. Falls Rⁿckantwort gewⁿnscht wird, bitte das Rⁿckporto
  40.    beilegen.
  41.  
  42.  
  43.  
  44. iii. DerInhalt dieses Paketes
  45.  
  46.    Dieses Softwarepaket sollte folgende Dateien enthalten:
  47.  
  48.    ╖ IntuiMake:              Das ausfⁿhrbare Programm.
  49.    ╖ IntuiMake.anl:          Diese Anleitung.
  50.    ╖ NewlookMake:            Eine spezielle Version von IntuiMake.
  51.    ╖ Register.txt:           Registrierungskarte.
  52.    ╖ example/first.c
  53.    ╖ example/first_protos.h
  54.    ╖ example/headerfile.h
  55.    ╖ example/makefile
  56.    ╖ example/main.c
  57.    ╖ example/second.c
  58.    ╖ example/second_protos.h
  59.    ╖ example/test
  60.    ╖ example/obj/first.o
  61.    ╖ example/obj/main.o
  62.    ╖ example/obj/second.o
  63.  
  64.  
  65.  
  66. 1. Die Aufgaben eines Make
  67.  
  68.    Ein Make dient dazu, ein aus mehreren Modulen bestehendes Programm
  69.    m÷glichst komfortabel zu kompilieren. Vor allem das Kompilieren eines
  70.    oderer mehrerer Module bei ─nderung eines Headerfiles soll automatisiert
  71.    werden.
  72.  
  73.    IntuiMake ist in der Version 1.2 auf den Aztec-Compiler von Manx
  74.    ausgelegt.
  75.  
  76.  
  77.  
  78. 2. Das Starten, ben÷tigte Dateien, etc.
  79.  
  80.    IntuiMake ben÷tigt OS2.0, die ASL-library in LIBS: und sonst nichts.
  81.    StandardmΣ▀ig wird das Makefile unter dem Namen `makefile' im aktuellen
  82.    Verzeichnis erzeugt.
  83.  
  84.    Gestartet wird IntuiMake am zweckmΣ▀igsten mit `Intuimake'. Die
  85.    Angabe eines Dateinamens wie z.B. `IntuiMake GenialesMake' ist
  86.    optional. IntuiMake verwendet dann das angegebene Makefile statt des
  87.    Standard-Makefiles im aktuellen Verzeichnis.
  88.  
  89.    IntuiMake ÷ffnet daraufhin ein Fenster, das auf der Workbench verschieb-
  90.    und in der Gr÷▀e verΣnderbar ist.Die Einstellungen des Makefiles
  91.    werden nun nachgeladen und IntuiMake ist einsatzbereit.
  92.  
  93.    Es ist nicht sinnvoll, IntuiMake von der Workbench aus zu starten, da
  94.    die Ausgaben des Compilers und Linkers nicht umgeleitet werden. Man
  95.    sollte also mit einer ge÷ffnete CLI/Shell und IntuiMake gleichzeitig
  96.    arbeiten. Zum Glⁿck hat dieser unser Rechner ein Multitasking-
  97.    Betriebssystem.
  98.  
  99.  
  100.  
  101. 3. Der Bildschirm nach dem Starten.
  102.  
  103.    Nach dem Starten und Einladen des eventuell vorhandenen Makefiles ÷ffnet
  104.    sich das Hauptfenster. Der gr÷▀te Teil beansprucht ein Anzeigefeld fⁿr sich,
  105.    in dem alle Module, die zum Programm geh÷ren, dargestellt werden.
  106.  
  107.    Darunter befinden sich die Systemsymbole zum Starten des Kompilier- und
  108.    Linkvorgangs, zum Starten eines Editors, zum Ausfⁿhren und Debuggen des
  109.    Programms.
  110.  
  111.    Der rechte Teil des Bildschirm besteht aus Eingabefeldern fⁿr Symbolnamen,
  112.    Namen der zu erzeugenden Dateien, Versionsnummer und einem Schalter
  113.    zum Aktivieren der Debuginformationen.
  114.  
  115.    Das Fenster kann beliebig vergr÷▀ert und auf dem Bildschirm positioniert
  116.    werden. Diese Einstellungen werden im Makefile gespeichert.
  117.  
  118.  
  119.  
  120. 4. Die Menⁿs
  121.  
  122.  
  123. 4.1 Project
  124.  
  125. 4.1.1 Save makefile
  126.         Hiermit kann ein erstelltes Makefile abgespeichert werden. Als
  127.         Filename wird `makefile' bzw. der beim Start angegebene Name
  128.         verwendet.
  129. 4.1.2 Save makefile as ...
  130.         Manchmal ist es sinnvoll, mit mehreren verschiedenen Makefiles zu
  131.         arbeiten. Dann kann man mit diesem Menⁿpunkt mit Hilfe des
  132.         ASL-Dateiauswahlfensters einen geeigneten Namen festlegen.
  133. 4.1.3 Load makefile ...
  134.         Um ein Makefile wΣhrend der Laufzeit zu laden, selektiert man
  135.         diesen Menⁿpunkt und wΣhlt im ASL-Dateiauswahlfenster das
  136.         gewⁿnschte Makefile an.
  137. 4.1.4 Delete objectfiles ...
  138.         Die Aufgabe eines Make's ist es, m÷glichst viele Schritte zu
  139.         automatisieren. Nun gibt es jedoch Dinge, die eine Kompilation
  140.         eines Moduls erfordern, ohne da▀ IntuiMake dies erkennen wⁿrde, wie
  141.         z.B. das Kopieren eines Σlteren Moduls zu den aktuellen Modulen. Um
  142.         das betreffende Modul dennoch kompilieren zu lassen, kann man die
  143.         erzeugte Objektdatei l÷schen. Dies kann man mittels Mehrfachauswahl
  144.         (Shift-Taste gedrⁿckt halten) im ASL-Dateiauswahlfenster erledigen.
  145. 4.1.5 Edit preferences ...
  146.         Im Voreinstellungsfenster k÷nnen viele Einstellungen vorgenommen
  147.         werden:
  148. 4.1.5.1 Comparing
  149.         IntuiMake bietet die M÷glichkeit, zwei SΣtze von Modulen zu
  150.         vergleichen, z.B. um Unterschiede zu einer alten Version
  151.         festzustellen. Dazu mⁿssen die beiden Pfade eingegeben werden,
  152.         in denen sich die ModulsΣtze befinden. Im Eingabefeld `Output'
  153.         wird die Ausgabedatei festgelegt.
  154. 4.1.5.2 Scanning
  155.         Die automatische Suche nach AbhΣngigkeiten kann beschleunigt
  156.         werden, indem man in den Dateien nach den `#include'-Anweisungen
  157.         eine Zeichenfolge, in Kommentaren, angibt, die das Ende der
  158.         `#include'-Anweisungen signalisiert.
  159.         Diese Zeichenfolge kann mit `EndString' angegeben werden.
  160.         Eine Zeichenfolge, mit der der Beginn der Durchforstung angegeben
  161.         werden kann, kann man im Eingabefeld `BeginString' festlegen. Ob
  162.         diese Zeichenfolge auch genutzt werden soll, kann mit dem Schalter
  163.         daneben bestimmt werden. Diese Zeichenfolgen k÷nnen fⁿr Assembler-
  164.         und C-Dateien getrennt eingestellt werden.
  165.         Fⁿr zukⁿnftige Erweiterungen gedacht sind die BlΣttersymbole,
  166.         mit denen die Syntax festgelegt wird, mit der Dateien included
  167.         werden. Dies dient vor allem der Unterscheidung von Headerdateien,
  168.         die mit `<...>', also Systemheaderdateien, und mit `"..."', also
  169.         Projektheaderdateien, included werden.
  170. 4.1.5.3 Paths
  171.         Mit dem BlΣttersymbol kann man bestimmen, ob eine ausfⁿhrbare
  172.         Datei oder eine Linker-Bibliothek erzeugt werden soll. Soll eine
  173.         Linker-Bibliothek erzeugt werden, mⁿssen sich die von Manx
  174.         mitgelieferten Programme `Lb' und `Ord' im Suchpfad befinden.
  175.         Im Hauptfenster kann man mit `Edit' das aktuelle Modul edieren. Dazu
  176.         mu▀ im Eingabefeld `Editor' der verwendete Editor, z.B. `Ced',
  177.         eingetragen werden.
  178.         Soll eine vorkompilierte Headerdatei benutzt werden, so ist sie
  179.         hier im Eingabefeld `-hi file' anzugeben. Soll sie auch in den
  180.         Kompiliervorgang eingebunden werden, so mu▀ die -hi Options bei
  181.         den Compiler-Optionen aktiviert sein.
  182.         Um alle Module, die Headerdateien und das Makefile zu archivieren
  183.         ist das Eingabefeld `Archive' vorhanden. Hier mu▀ die Datei
  184.         angegeben werden, in die das Archiv geschrieben werden soll.
  185.         Im Eingabefeld `Sourcecode' ist der Pfad einzutragen,
  186.         in dem sich die Module befinden. Die erzeugten Objektdateien
  187.         k÷nnen auf Wunsch in ein Verzeichnis geschrieben werden, das
  188.         im Eingabefeld `Objectcode' festgelegt wird.
  189. 4.1.6 Edit linkeroptions ...
  190.         Hier kann man die Optionen fⁿr den Linker eingeben. Sie sind im
  191.         Handbuch genau erklΣrt. In das Eingabefeld `Additional modules'
  192.         werden die Bibliotheken und Module eingetragen, die nicht in der
  193.         Modulliste vorkommen, z.B. `-lmf -lc'.
  194. 4.1.7 About ...
  195.         Es erscheint ein mit MaxonPAINT erstelltes Informationsfenster.
  196. 4.1.8 Quit
  197.         Verlassen von IntuiMake.
  198.  
  199.  
  200. 4.2 Action
  201.  
  202. 4.2.1 Make ...
  203.         Hiermit wird der Kompilier- und Linkvorgang gestartet. Es erscheint
  204.         ein Fenster, das das Modul anzeigt, das zur Zeit kompiliert wird.
  205.         Mit dem Symbol zum Schlie▀en des Fensters kann das Kompilieren
  206.         abgebrochen werden. Dann, oder bei Fehlern wΣhrend des Kompilierens,
  207.         kann man mit dem Symbolen `Edit' die fehlerhafte Datei ediert
  208.         werden. `Retry' beginnt den Kompiervorgang an der abgebrochenen
  209.         Stelle. `Next' beginnt mit dem nΣchsten Modul, `Make' schlie▀lich
  210.         beginnt von vorne.
  211. 4.2.2 Edit
  212.         Startet den in den Voreinstellungen eingestellten Editor mit
  213.         dem aktuellen Modul. Mit einem Doppelklick auf das Modulauswahlfeld
  214.         kann ebenfalls eine Datei editiert werden.
  215. 4.2.3 Run
  216.         Startet das erzeugte Programm.
  217. 4.2.4 Debug
  218.         Startet den Debugger `sdb' von Manx.
  219.  
  220.         Die oben aufgefⁿhrten Menⁿpunkte k÷nnen auch alle ⁿber die Symbole
  221.         unter dem Modulauswahlfeld aktiviert werden, was mit Sicherheit
  222.         schneller geht.
  223.  
  224.  
  225. 4.3 Modules
  226.         IntuiMake kann Module in C und in Assembler verwalten. Assemblermodule
  227.         sollten die Endung `.asm' haben.
  228.  
  229. 4.3.1 Insert modules...
  230.         Hier wΣhlt man mit Hilfe des ASL-Dateiauswahlfensters die Module
  231.         an, die zu dem zu erstellenden Programm geh÷ren. Eine
  232.         Mehrfachauswahl mit Hilfe der Shift-Taste ist m÷glich.
  233.         Auch zu einem spΣteren Zeitpunkt ist es m÷glich, Module zu bereits
  234.         bestehenden Modulen hinzuzufⁿgen.
  235. 4.3.2 Delete module
  236.         Wenn man diesen Menⁿpunk selektiert, wird das zur Zeit angezeigte
  237.         Modul gel÷scht.
  238. 4.3.3 Scan module
  239.         IntuiMake bietet die M÷glichkeit, abhΣngige Headerfiles eines
  240.         Moduls automatisch zu erkennen. Dazu wird das angewΣhlte Modul auf
  241.         `#include"' durchforstet. Es werden rekursiv die weiteren
  242.         Headerfiles durchsucht, bis alle AbhΣngigkeiten festgestellt worden
  243.         sind.
  244.         Um den Scan-Vorgang zu beschleunigen, bietet IntuiMake die
  245.         M÷glichkeit, bei Auffinden einer bestimmten Zeichenfolge den
  246.         Scan-Vorgang des Headerfiles oder Moduls abzubrechen. Dies ist
  247.         besonders bei gro▀en Modulen sinnvoll. Die Zeichenfolge kann
  248.         in den Voreinstellungen festgelegt werden  und sollte nach allen
  249.         `#include'-Anweisungen stehen.
  250. 4.3.4 Scan all modules
  251.         Hiermit werden alle Module nach abhΣngigen Headerfiles durchsucht.
  252.         Ein Abbruch ist durch Selektieren des Symbols zum Schlie▀en des
  253.         Fensters m÷glich.
  254. 4.3.5 Compare set of modules
  255.         Arbeiten an einem Projekt mehrere Autoren an mehreren Rechnern,
  256.         mⁿssen die geΣnderten Module irgendwann zusammengefⁿgt werden.
  257.         Zu diesem Zweck bietet IntuiMake die M÷glichkeit an, alle
  258.         eingetragenen Module auf ─nderungen zu untersuchen. Es wird das
  259.         Programm `Diff' aufgerufen, das dem Aztec-Compiler beiliegt.
  260.         In den Voreinstellungen mⁿssen die Pfade festgelegt werden, in
  261.         denen sich die zwei zu untersuchenden ModulsΣtze befinden.
  262.         Die Module werden bei Anwahl dieses Menⁿpunktes auf ─nderungen
  263.         untersucht und das Ergebnis in die angegebene Datei geschrieben.
  264. 4.3.6 Archive set of modules        
  265.         Mit dem Programm `Lha', das sich im aktuellen Suchpfad befinden mu▀,
  266.         werden bei Anwahl dieses Menⁿpunktes alle Moduldateien, Headerdateien
  267.         und das Makefile gespeichert. Dazu mu▀ in den Voreinstellungen
  268.         im Eingabefeld `Archive' ein Dateiname angegeben werden.
  269. 4.3.7 Edit options
  270.         Um die Optionen zum Kompilieren oder Assemblieren einzustellen,
  271.         wΣhlt man diesen Menⁿpunkt an. IntuiMake bietet bis zu fⁿnf
  272.         beliebig programmierbare Voreinstellungen (Default) und eine
  273.         modulspezifische Einstellung (Custom) an. Die Default-Einstellungen
  274.         gelten fⁿr alle Module, die diesen Default eingestellt haben, wΣhrend
  275.         die modulspezifische Einstellung nur fⁿr das augenblickliche Module
  276.         gelten.
  277.         Um eine Default-Einstellunge zu Σndern Σndert man einfach die
  278.         Einstellungen und selektiert `As default'.
  279.  
  280.  
  281.  
  282. 5. Defines
  283.  
  284.    An den Compiler kann man Defines ⁿbergeben. IntuiMake unterstⁿtzt
  285.    bis zu fⁿnf solcher Symbole, die in die Eingabefelder eingetragen
  286.    werden k÷nnen. Mit dem Schalter links des Eingabefeldes kann man
  287.    festlegen, ob der Define ⁿbergeben wird. Dies ist dann sinnvoll,
  288.    wenn man im Programm eine Abfrage, wie z.B.
  289.  
  290.         #ifdef DEMO
  291.                Save ();
  292.         #else
  293.                puts ("Demoversion!");
  294.         #endif
  295.  
  296.    hat
  297.  
  298.  
  299.  
  300. 6. Erstellen eines Projektes
  301.  
  302.    In diesem Abschnitt soll beschrieben werden, wie man IntuiMake
  303.    konfiguriert und anschlie▀end damit arbeitet. Zu diesem Zweck
  304.    ist im Programmpaket von IntuiMake ein Beispielprojekt enthalten,
  305.    das aus drei Modulen besteht, die miteinander verknⁿpft sind.
  306.  
  307.  
  308. 6.1 Ein Beispiel
  309.  
  310.   Hier sind nun die Module:
  311.  
  312.         /* main.c
  313.         **
  314.         **
  315.         */
  316.  
  317.         #include "first_protos.h"
  318.         #include "second_protos.h"
  319.         /* SCAN_END */
  320.  
  321.         void main (void)
  322.         {
  323.           Test1 ("Test it:", 1);
  324.           Test2 ("Just do it:");
  325.         }
  326.  
  327.  
  328.  
  329.  
  330.         /* headerfile.h
  331.         **
  332.         ** SCAN_END
  333.         */
  334.  
  335.         struct MyStruct
  336.         {
  337.           int  a;
  338.           long b;
  339.         };
  340.  
  341.  
  342.  
  343.  
  344.         /* first.c
  345.         **
  346.         **
  347.         */
  348.  
  349.         #include "headerfile.h"
  350.         /* SCAN_END */
  351.  
  352.         void Test1 (char *message, long var)
  353.         {
  354.           struct MyStruct mystruct = {1, 2L};
  355.  
  356.           printf ("%s %d\n%d\n%d\n", message, mystruct.a, mystruct.b, var);
  357.  
  358.         }
  359.  
  360.  
  361.  
  362.  
  363.         /* second.c
  364.         **
  365.         **
  366.         */
  367.  
  368.         #include "headerfile.h"
  369.         /* SCAN_END */
  370.  
  371.         void Test2 (char *message)
  372.         {
  373.           struct MyStruct mystruct = {3, 4L};
  374.  
  375.           printf ("%s %d\n%d\n", message, mystruct.a, mystruct.b);
  376.         }
  377.  
  378.  
  379.  
  380.  
  381.         /* first_protos.h
  382.         **
  383.         ** SCAN_END
  384.         */
  385.  
  386.         void Test1 (char *message, long var);
  387.  
  388.  
  389.  
  390.  
  391.         /* second_protos.h
  392.         **
  393.         ** SCAN_END
  394.         */
  395.  
  396.         void Test2 (char *message);
  397.  
  398.  
  399.  
  400.  
  401.    In `headerfile.h' wird eine Struktur `MyStruct' definiert, die
  402.    in den Modulen `first' und `second' ben÷tigt wird. Sie mu▀ dort
  403.    also included werden. `main' ben÷tigt diese Struktur nicht. Hier
  404.    werden jedoch die Prototypdeklarationen der verwendeten Funktionen
  405.    `Test1' und `Test2' ben÷tigt. Also mⁿssen `first_protos.h' und
  406.    `second_protos.h' included werden.
  407.  
  408.    Somit sind die AbhΣngigkeiten klar, bei einer ─nderung einer Datei,
  409.    von der andere anhΣngig sind, mⁿssen diese alle neu kompiliert
  410.    werden. Hier nun das Schaubild, aber keine Angst, man braucht bei
  411.    IntuiMake keine Schaubilder zu malen, das hier soll nur der
  412.    Verdeutlichung dienen:
  413.  
  414.    (a -----> b     bedeutet, da▀ b von a abhΣngig ist.)
  415.  
  416.  
  417.  
  418.             first_protos.h -----> main.c <----- second_protos.h
  419.  
  420.  
  421.  
  422.             first.c <----- headerfile.h -----> second.c
  423.  
  424.  
  425.    ─ndert man z.B. die Funktion `Test1' in
  426.  
  427.                void Test1 (char *message1, short var)
  428.  
  429.    um, mu▀ auch die zugeh÷rige Datei `first_protos.h" geΣndert werden.
  430.    Das bewirkt, da▀ main.c neu kompiliert werden mu▀, da sich der
  431.    Aufruf von `Test1' geΣndert hat. Second.c mu▀ nicht kompiliert
  432.    werden.
  433.  
  434.    ─ndert man in `headerfile.h' die Struktur `MyStruct' um, z.B. in
  435.  
  436.                struct MyStruct
  437.                {
  438.                  short a;
  439.                  long b;
  440.                };
  441.  
  442.    so mⁿssen `first.c' und `second.c' kompiliert werden, da sie beide
  443.    auf `MyStruct' zugreifen. `main.c' ben÷tigt diese Struktur nicht
  444.    und mu▀ daher nicht kompiliert werden.
  445.  
  446.    Soweit die n÷tigen ErlΣuterungen. Und nun das sch÷ne daran: Das
  447.    alles mu▀ man sich nicht merken, diese Arbeit wird von IntuiMake
  448.    erledigt.
  449.  
  450.  
  451.  
  452. 6.2 Die Einstellungen fⁿr obiges Beispiel
  453.  
  454.    Um aus den Quelltexten ein lauffΣhiges Programm zu generieren, sind
  455.    zunΣchst einige Schritte zu erledigen, die hier beschrieben werden:
  456.  
  457.    ZunΣchst mu▀ IntuiMake aus dem CLI/Shell aufgerufen werden:
  458.          <IntuiMake> bzw. <run IntuiMake>
  459.  
  460.    Nach erfolgreichem Starten mⁿssen dann die Module eingetragen
  461.    werden. Dazu wΣhlt man den Menⁿpunkt `Modules/Insert modules ...'
  462.    an. Es erscheint das ASL-Auswahlfenster, mit dem man mit gedrⁿckter
  463.    Shift-Taste die Dateien auswΣhlt, die zum Programm geh÷ren. In
  464.    obigem Beispiel also `main.c', `first.c' und `second.c'. Die
  465.    Header- und Prototypdateien dⁿrfen nicht angewΣhlt werden.
  466.  
  467.    Die gewΣhlten Dateien erscheinen nun alphabetisch geordnet im
  468.    Modulauswahlfenster. Dort k÷nnen sie auch spΣter angewΣhlt werden.
  469.  
  470.    Als nΣchstes legt man die Compileroptionen fest, die jedes Modul
  471.    ben÷tigt: Man wΣhlt das Modul im Anzeigefenster aus, fⁿr das man
  472.    die Optionen festlegen m÷chte. Sodann wΣhlt man
  473.    `Modules/Edit options' an. Es erscheint ein Fenster mit allen
  474.    m÷glichen Optionen, deren Bedeutung man im Handbuch zum Aztec-
  475.    Compiler nachschlagen kann.
  476.  
  477.    Mit dem BlΣttersymbol kann man aus fⁿnf Voreinstellungen die
  478.    richtigen wΣhlen, oder fⁿr das Modul eigene bestimmen. Die
  479.    Voreinstellungen sind sinnvoll, wenn man fⁿr einen Teil seiner
  480.    Module die gleichen Optionen verwendet. Dann legt wΣhlt man
  481.    die Voreinstellung an, die programmiert werden soll, stellt die
  482.    Optionen wie gewⁿnscht ein und klickt auf `As default'. Die
  483.    Optionen werden dann gespeichert und sind dann auch in den
  484.    anderen Modulen verwendbar.
  485.  
  486.    Sind die Optionen festgelegt, trΣgt man im Eingabefeld die
  487.    Versionsnummer des Programms ein, z.B. `1.2'. IntuiMake erzeugt
  488.    automatisch einen systemkonformen Versionstring.
  489.  
  490.    Darunter legt man den Name des Programms fest, das erzeugt werden
  491.    soll.
  492.  
  493.    Schlie▀lich mu▀ nach mit `Project/Edit linker options ...' das
  494.    Fenster zum Einstellen der Linkeroptionen ge÷ffnet werden.
  495.    Fⁿr obiges Beispiel mu▀ im Eingabefeld `Additional modules;
  496.    noch `-lc' eingetragen werden, damit die von Manx mitgelieferte
  497.    l-Bibliothek mitgelinkt wird.
  498.  
  499.    Sind alle Einstellungen soweit durchgefⁿhrt, mu▀ man mit
  500.    `Modules/Scan all modules ...' die Module nach AbhΣngigkeiten
  501.    durchforsten. Ist dies erledigt, sollte man mit
  502.    `Project/Save makefile' das eben erzeugte Makefile abspeichern.
  503.  
  504.    Nun kann mit `Action/Make' der Kompilier- und Linkvorgang
  505.    gestartet werden.
  506.  
  507.    Es erscheint ein Ausgabefenster, im dem angezeigt wird, wie
  508.    viele Module bereits kompiliert wurden. Trat wΣhrend das
  509.    Kompilierens ein Fehler auf, kann mit `Edit' der Fehler beseitigt
  510.    und mit `Retry' ein neuer Versuch unternommen werden.
  511.  
  512.    Nach erfolgreichem Kompilieren kann mit `Run' das Programm
  513.    gestartet werden.
  514.  
  515.  
  516. 7. Wann mu▀ ein Module neu kompiliert werden?
  517.  
  518.    Nachfolgend eine Liste der Ereignisse, die dazu fⁿhren, da▀ ein
  519.    Modul kompiliert werden mu▀:
  520.  
  521.         ╖ Es existiert keine Objektdatei.
  522.         ╖ Die Moduldatei wurde verΣndert.
  523.         ╖ Eine Headerdatei, von der das Modul abhΣngig ist, wurde verΣndert.
  524.         ╖ Der Zustand eines Defines hat sich verΣndert und der Define wird
  525.           im Modul verwendet.
  526.  
  527.  
  528.  
  529. I. Credits
  530.  
  531.   Kein Programm, und sei es auch noch so schlecht, ohne Credits: Unser Dank
  532.   geht zunΣchst an die Firmen Commodore Business Machines Inc. und Commodore
  533.   Bⁿromaschinen GmbH fⁿr die zahlreichen undokumentierten SpΣ▀e, die sie sich
  534.   seit der Einfⁿhrung des Amiga erlaubt haben. Danke, Commodore!
  535.  
  536.   Weiterhin mu▀ der Firma Manx Software Systems fⁿr die Mitlieferung eines
  537.   nichtfunktionierenden Make's, fⁿr eine maximale Schachtelungstiefe von 3
  538.   bei der Fragezeichenoperation und eine total veraltete Entwicklungsumgebung
  539.   gedankt werden. Danke, Manx!
  540.  
  541.   Auf keinen Fall darf die Firma Frank Strau▀ Elektronik, Kaiserslautern,
  542.   vergessen werden, die ihre Kundenkartei gro▀zⁿgig an diverse Zeitungsverlage
  543.   weitergibt. Wie soll denn der Amiga-User auch sonst auf dem Laufenden
  544.   betreffend PC-Markt bleiben. Danke, FSE!
  545.  
  546.   Und nochmal ein dickes Dankesch÷n an FSE fⁿr die sang- und klanglose
  547.   Einstellung des Amiga-Supports. Danke, FSE!
  548.  
  549.   Aber genug des Zynischen, ein ganz gro▀es Dankesch÷n an Maxon Computer,
  550.   Eschborn, fⁿr einen vorbildlichen Entwicklersupport. Danke, Maxon.
  551.  
  552.  
  553.  
  554. II. 44,1 kHz
  555.  
  556.   ╖ Badesalz: Och joh!
  557.   ╖ Badesalz: Nicht ohne meinen Pappa
  558.   ╖ Badesalz: DiWoDaSo
  559.  
  560.   ╖ Eric Clapton: Unplugged         \   `Boah, was'n Brett, unn die Giddar,
  561.   ╖ Bruce Springsteen: (Un)Plugged   |   wie de Hendrix. Waahnsinn.'
  562.   ╖ Neil Young: Unplugged           /
  563.  
  564.   ╖ Emerson, Lake & Palmer: Live at the Royal Albert Hall
  565.   ╖ Rush: Exit...stage left
  566.   ╖ Deep Purple: Made in Japan
  567.   ╖ Toto: Absolutely live
  568.  
  569.  
  570.  
  571. III. Epilog
  572.  
  573.   Aufkommende Fragen, VerbesserungsvorschlΣge und Lobeshymnen an
  574.  
  575.                               Bj÷rn E. Trost
  576.                           Auf dem BΣnnjerrⁿck 39
  577.                            67663 Kaiserslautern
  578.  
  579.                                    bzw.
  580.  
  581.                               Dirk O. Remmelt
  582.                              Lutrinastra▀e 11
  583.                            67655 Kaiserslautern
  584.  
  585.  
  586.  
  587.   Kaiserslautern, im November 1993
  588.