#
# Makefile for Metaware CONIO (PharLap 386|DosX)
#
# Created  25.June 1997
#                          MwCONIO is Copyright (c) Gisle Vanem 1997
#
.AUTODEPEND

C_SRC   = attrib1.c attrib2.c cgets.c cscanf.c clreol.c clrscr.c \
          cprintf.c cputs.c cursor.c getch.c delay.c delline.c   \
          write.c insline.c putch.c init.c sound.c               \
          textmode.c textrec.c window.c

ASM_SRC = data.asm kbhit.asm farmem.asm fill.asm gotoxy.asm \
          timer.asm port.asm bios.asm un_00.asm un_01.asm   \
          un_02.asm un_03.asm un_04.asm un_05.asm un_06.asm \
          un_07.asm un_08.asm un_09.asm un_10.asm un_11.asm \
          un_12.asm un_13.asm wherexy.asm

OBJS    = $(ASM_SRC:.asm=.obj) $(C_SRC:.c=.obj)

LNK     = -lib conio,hc386,hc387,dosx32                     \
          -offset 1000h -stack 8192 -386 -twocase -nostub   \
          -unprivileged -fullwarn -maxdata 0 -pack          \
          -attributes class code  er                        \
          -attributes class data  rw                        \
          -attributes class stack rw                        \
          -fullseg -symbols -publist both -purge none *     \
          -mapnames 30 -mapwidth 132


all       : conio.cfg $(OBJS)
            386lib conio.lib @&&|
              -nowarn -nobackup -twocase -replace $(OBJS)
| 

test.exp  : conio.lib test.obj
            386link $*.obj @&&|
              $(LNK)
|

speed.exp : conio.lib speed.obj
            386link $*.obj @&&|
              $(LNK)
|


#
# Compile rules
#
.c.obj    :
            hc386 @conio.cfg -c {$*.c }

.asm.obj  :
            tasm /t /mx $*.asm

clean     :
            @del *.obj
            @del conio.lib
            @del conio.cfg

zip       :
            pkzip -u mwcon10 @&&|
             file_id.diz
             readme.1st
             makefile
             conio.txt
             conio.lib
             *.c
             *.h
             *.asm
             *.ah
             *.exp
|


conio.cfg : makefile
  copy /q &&|
   -w3                        # warning level
   -g                         # include debug info
   -486                       # optimize for 80486
   -O7                        # optimize level 5
   -Hnocopyr                  # don't show startup banner
   -Hturboerr                 # Turbo C error message style
   -Hnoswap                   # don't swap driver to disk
   -Hon=relax_func_ptr_rules  # don't be so picky
   -Hon=char_is_rep
   -Hon=quiet
   -Hoff=Behaved
   -Hoff=check_stack          # (don't) generate stack-check code
| $<

