#    This makefile will rebuild IMDISP.  Invoke it from DOS with
#    the command "MAKE IMDISP".  It requires that the programs
#    CL (the C compiler), MASM (the macro assembler), LINK (the
#    MS-DOS linker) and MAKE (the MAKE program) all lie in the
#    current path, along with the response file IMDISP.RSP
#
#    This makefile is for Microsoft C, v6.0.  Invoke with the
#    command line "nmake"
#
# Written by A. Warnock, ST Systems Corp.
#
# The following define the macros to be used
#
# These are DEBUG compile/link flags
#masmflag = /Zm /Zi /c /I.
#compflag = /f /AL /Od /Zi /c
#linkflag = /NOE /CO /stack:14000
#swapflag = /D_Large /Zi
#
# These are QuickC compile/link flags
#masmflag = /Zm /c /I.
#compflag = /AL /qc /c
#linkflag = /NOE /stack:14000
#swapflag = /D_Large
#
# These are 80286-specific compile/link flags
#masmflag = /Zm /c /I.
#compflag = /AL /c
#linkflag = /F /NOE /stack:14000
#swapflag = /D_Large
#
# These are 80286-specific compile/link flags requiring coprocessor
#masmflag = /Zm /c /I.
#compflag = /AL /FPc87 /c
#linkflag = /F /NOE /stack:14000
#swapflag = /D_Large
#
# These are regular optimized compile/link flags
masmflag = /Zm /c /I.
compflag = /AL /c
linkflag = /F /NOE /stack:14000
swapflag = /D_Large

#
# The following lines link the program
#
imdisp.exe: ativga.obj browse.obj dispio.obj display.obj dispsub.obj \
            disputil.obj evgaio.obj fileio.obj fileutil.obj filter.obj \
            imageio.obj imagutil.obj imdisp.obj imdutil.obj \
            keywutil.obj labutil.obj mshell.obj palutil.obj paradise.obj \
            plot.obj refresh.obj rescale.obj swap.obj textutil.obj \
            timer.obj trident.obj mem.obj help.obj buffer.obj vesa.obj \
            spectra.obj dgif_lib.obj egif_lib.obj gif_err.obj gif_hash.obj ev629.lib
   link $(linkflag) @imdisp.rsp,imdisp,NUL,mouse+ev629+emsifl+xmsifl+df+graphics;

#
# The following lines compile the C source code
#

imdisp.obj: imdisp.c imdef.h dispio.h disputil.h fileio.h fileutil.h \
            imageio.h imagutil.h labutil.h plot.h refresh.h swap.h browse.h \
            palette.h gif_lib.h palutil.h textutil.h imdutil.h mshell.h \
            filter.h buffer.h
   cl $(compflag) imdisp.c

browse.obj: browse.c imdef.h dispio.h imdisp.h disputil.h fileio.h \
            refresh.h textutil.h
   cl $(compflag) browse.c

buffer.obj: buffer.c imdef.h imdisp.h dispio.h mem.h refresh.h \
            textutil.h display.h
   cl $(compflag) buffer.c

dgif_lib.obj: dgif_lib.c gif_lib.h gif_hash.h
   cl $(compflag) /D__MSDOS__ dgif_lib.c

egif_lib.obj: egif_lib.c gif_lib.h gif_hash.h
   cl $(compflag) /D__MSDOS__ egif_lib.c

dispio.obj: dispio.c imdef.h imdisp.h disputil.h evgaio.h ativga.h \
            paradise.h dispsub.h refresh.h textutil.h mem.h vesa.h
   cl $(compflag) dispio.c

display.obj: display.c imdef.h imdisp.h dispio.h disputil.h imageio.h \
             refresh.h labutil.h textutil.h imdutil.h
   cl $(compflag) display.c

disputil.obj: disputil.c imdef.h imdisp.h dispio.h refresh.h textutil.h
   cl $(compflag) disputil.c

evgaio.obj: evgaio.c imdef.h dispio.h
   cl $(compflag) evgaio.c

fileio.obj: fileio.c imdef.h imdisp.h textutil.h
   cl $(compflag) fileio.c

fileutil.obj: fileutil.c imdef.h imdisp.h dispio.h disputil.h refresh.h \
              imageio.h  labutil.h textutil.h imdutil.h
   cl $(compflag) fileutil.c

filter.obj: filter.c imdef.h imdisp.h imdutil.h dispio.h refresh.h \
            display.h mem.h
   cl $(compflag) filter.c

gif_hash.obj: gif_hash.c gif_lib.h gif_hash.h
   cl $(compflag) gif_hash.c

gif_err.obj: gif_err.c gif_lib.h gif_hash.h
   cl $(compflag) gif_err.c

imageio.obj: imageio.c imdef.h imdisp.h disputil.h fileio.h labutil.h \
             refresh.h textutil.h imdutil.h
   cl $(compflag) imageio.c

imagutil.obj: imagutil.c imdef.h dispio.h disputil.h textutil.h
   cl $(compflag) imagutil.c

imdutil.obj: imdutil.c imdef.h dispio.h disputil.h textutil.h refresh.h
   cl $(compflag) imdutil.c

keywutil.obj: keywutil.c imdef.h dispio.h imdutil.h textutil.h fileio.h \
              imdisp.h mshell.h
   cl $(compflag) keywutil.c

labutil.obj: labutil.c imdef.h imdisp.h dispio.h disputil.h fileio.h \
             refresh.h textutil.h imdutil.h
   cl $(compflag) labutil.c

mshell.obj: mshell.c
   cl $(compflag) mshell.c

palutil.obj: palutil.c imdef.h imdisp.h dispio.h disputil.h textutil.h \
             imdutil.h
   cl $(compflag) palutil.c

plot.obj: plot.c imdef.h dispio.h disputil.h imageio.h labutil.h \
          textutil.h spectra.h
   cl $(compflag) plot.c

refresh.obj: refresh.c imdef.h dispio.h mem.h
   cl $(compflag) refresh.c

textutil.obj: textutil.c imdef.h dispio.h disputil.h imdutil.h
   cl $(compflag) textutil.c

vesa.obj: vesa.c
   cl $(compflag) vesa.c

mem.obj: mem.c mem.h emsif.h
   cl $(compflag) mem.c

help.obj: help.c imdef.h imdisp.h dispio.h labutil.h textutil.h imdutil.h
   cl $(compflag) help.c

spectra.obj: spectra.c imdef.h imdisp.h disputil.h textutil.h plot.h
   cl $(compflag) spectra.c

#
# The following lines compile the assembly code
#
ativga.obj: ativga.asm
   ml $(masmflag) ativga.asm

dispsub.obj: dispsub.asm
   ml $(masmflag) dispsub.asm

paradise.obj: paradise.asm
   ml $(masmflag) paradise.asm

rescale.obj: rescale.asm
   ml $(masmflag) rescale.asm

swap.obj: swap.asm
   ml $(swapflag) $(masmflag) swap.asm

timer.obj: timer.asm
   ml $(masmflag) timer.asm
