# Turbo C++ Archivo de construccion para KMOS

# **Nota:** este archivo supone que Turbo C++ y TASM estan instalados
# en los directorios predeterminados sugeridos por "instalar" de Turbo C++ y
# que ambos son alcanzables desde el directorio donde se halla este archivo.


# Compilar y montar las tres demostraciones
resultado_final: retardo1.exe retardo2.exe mensaje.exe

# Orden de montaje para retardo1.obj + kmos.obj = retardo1.exe
# (sin mapa, modelo grande -- large)
retardo1.exe: retardo1.obj kmos.obj
   tlink /x c:\tc\lib\C0l retardo1 kmos,retardo1,, c:\tc\lib\emu \
   c:\tc\lib\mathl c:\tc\lib\Cl

# Orden de montaje para retardo2.obj + kmos.obj = retardo2.exe
# (sin mapa, modelo grande -- large)
retardo2.exe: retardo2.obj kmos.obj
   tlink /x c:\tc\lib\C0l retardo2 kmos,retardo2,, c:\tc\lib\emu \
   c:\tc\lib\mathl c:\tc\lib\Cl

# Orden de montaje para mensaje.obj + kmos.obj = mensaje.exe
# (sin mapa, modelo grande -- large)
mensaje.exe: mensaje.obj kmos.obj
   tlink /x c:\tc\lib\C0l mensaje kmos,mensaje,, c:\tc\lib\emu \
   c:\tc\lib\mathl c:\tc\lib\Cl

# Orden de compilacion para retardo1.c 
# (depende de kmospub.h, sin montaje, modelo grande -- large)
retardo1.obj: retardo1.c kmospub.h
   tcc  -c -ml retardo1.c

# Orden de compilacion para retardo2.c 
# (depende de kmospub.h, sin montaje, modelo grande -- large)
retardo2.obj: retardo2.c kmospub.h
   tcc  -c -ml retardo2.c

# Orden de compilacion para mensaje.c 
# (depende de kmospub.h, asm, sin montaje, modelo grande -- large)
mensaje.obj: mensaje.c kmospub.h
   tcc -B -c -ml mensaje.c

# kmos.obj se forma compilando kmos.c, y depende del archivo kmospub.h
kmos.obj: kmos.c kmospub.h

# La compilacion genera algunos avisos que pueden ser ignorados:
# variables no utilizadas reservadas para expansiones,
# ademas de una ordenacion incomoda de las rutas en k_recibir
# (mantenida por comparacion/compatibilidad con Pascal y
# la descripcion del libro de texto)
   echo ** KMOS: ignorar avisos sobre variables y retornos de funcion no utilizados

# Finalmente, orden de compilar: invocar al ensamblador, 
# sin montaje, sin variables registro, modelo grande -- large
   tcc -B -c -r- -ml kmos.c
