# ͻ
#  datei: makefile                                                                                                   Seite 1/2   
# ͼ
# ͻ
#  MAKEFILE                                                                                                                       
#                                                                                                                                 
#  Aufruf: mk166        // Generierung aller Dateien laut Toolkette                                                               
#          mk166 clean  // Lschen aller erzeugten Dateien                                                                        
#                                                                                                                                 
# ͼ

# OBJEKT-HEX-WANDLER:
# Verwandelt den OUTPUT vom Locater in ein Format, welches von EEPROM-Programmern oder in unserem Beispiel vom Monitor verstanden
# wird.
little.h86: little.out
 IHEX166 little.out -o little.h86

# LOCATER:
# Der Locater wandelt verschiebbare Programm/Datensegmente in ablauffhige Segmente mit festen Adressen (er verteilt sie dabei
# auf den verfgbaren Speicher.
little.out: little.lno cmd_loc.e_e
 L166 LOCATE NOCC @cmd_loc.e_e TO little.out

# LINKER:
# Der Linker fgt nach gewissen Regeln Programm-  und Daten-Segmente zusammen.
little.lno: cstart.obj serio.obj _doprint.obj fehler.obj misc.obj little.obj cmd_link d:\bso_v5\lib\ext\cp166l.lib d:\bso_v5\lib\ext\c166l.lib d:\bso_v5\lib\ext\f166l.lib
 L166 LINK @cmd_link

# ASSEMBLER
# Der Assembler bersetzt den vom Compiler/Makroassembler erzeugten mnemonischen Code in Maschinenkode
little.obj: little.src
 A166 little.src TO little.obj
misc.obj: misc.src
 A166 misc.src TO misc.obj
fehler.obj: fehler.src
 A166 fehler.src TO fehler.obj
_doprint.obj:  _doprint.src
 A166 _doprint.src  TO _doprint.obj
serio.obj:  serio.src
 A166 serio.src  TO serio.obj
cstart.obj: cstart.src
 A166 cstart.src TO cstart.obj

# MAKROASSEMBLER
cstart.src: cstart.asm
 m166 cstart.asm DEFINE(MODEL, LARGE) DEFINE(MUXBUS) DEFINE(FLOAT)

# C-COMPILER
# C166  Aufruf TASKING-C-Compiler, erzeugt eine Datei mit der Erweiterung .SRC
# -x  erlaubt alle Eigenschaften vom C167
# -s  C-Code und Assembler-Code in der Ausgabedatei
# -Ml...Speichermodell (t...tiny,s...small,m...medium,l...large)
little.src: little.ic
 C166 -x -s -Ml -err little.ic
misc.src: misc.c misc.h
 C166 -x -s -Ml misc.c
fehler.src: fehler.c
 C166 -x -s -Ml fehler.c
_doprint.src:  _doprint.c
 C166 -x -s -Ml _doprint.c
serio.src:  serio.c serio.h
 C166 -x -s -Ml serio.c

# C++ COMPILER
# CP166  Aufruf TASKING-C++ Compiler, erzeugt eine Datei mit der Erweiterung .C
little.ic: little.cpp misc.h song.cpp song.h
 CP166 --error_output error.err --gen_c_file_name little.ic little.cpp

clean:
       $(exist error.err  del error.err)
       $(exist little.ic  del little.ic)
       $(exist little.err del little.err)
       $(exist little.src del little.src)
       $(exist little.obj del little.obj)
       $(exist little.lst del little.lst)
       $(exist little.lno del little.lno)
       $(exist little.out del little.out)
       $(exist little.map del little.map)
       $(exist little.h86 del little.h86)
       $(exist fehler.src del fehler.src)
       $(exist fehler.obj del fehler.obj)
       $(exist fehler.lst del fehler.lst)
       $(exist _doprint.src del _doprint.src)
       $(exist _doprint.obj del _doprint.obj)
       $(exist _doprint.lst del _doprint.lst)
       $(exist serio.src del serio.src)
       $(exist serio.obj del serio.obj)
       $(exist serio.lst del serio.lst)
       $(exist cstart.src del cstart.src)
       $(exist cstart.obj del cstart.obj)
       $(exist cstart.lst del cstart.lst)
       $(exist misc.src del misc.src)
       $(exist misc.obj del misc.obj)
       $(exist misc.lst del misc.lst)

