#******************************************************************************
#  Makefile for the VVIDEO directory
#
#         makes:     VCGA.SYS
#                    VEGA.SYS
#                    VVGA.SYS
#                    V8514A.SYS
#                    VMONO.SYS
#                    VSVGA.SYS
#
#       SCCSID = @(#)makefile   6.13 92/05/14
#
#       IBM/Microsoft Confidential
#
#       Copyright (c) IBM Corporation 1987, 1989
#       Copyright (c) Microsoft Corporation 1987, 1989
#
#       All Rights Reserved
#
#******************************************************************************

#
# ******  NOTE  ******
#
#
#        If you are using a SED command with TAB characters, many editors
#        will expand tabs causing unpredictable results in other programs.
#
#        Documentation:
#
#        Using SED command with TABS. Besure to invoke set tab save option
#        on your editor. If you don't, the program 'xyz' will not work
#        correctly.
#

!include ..\vdevsub.mak

#
# Conditional Setup Area and User Defined Macros
#

!ifdef DMAKE
MAKE=DMAKE
!endif

#
# Compiler and Linker Option changes from ..\VDEVSUB.MAK
#
#       -Fs gives listing   -Fm gives map    -P gives include file
#       -Fa gives assembler listing

#CFLAGS  = -G3s -Fa -Fs -Fm -Sl 132 -Sp 60 -Zflp -W2 -X $(CINC) -nologo -c $(GCFLAGS) $(FLAGS)
#CFLAGS  = -G3s -Fa -Fs -Fm -Sl 132 -Sp 60 -Zflp -W2 -X -DVDDFLOW $(CINC) -nologo -c $(GCFLAGS) $(FLAGS)
CFLAGS  = -G3s -Zflp -W2 -X $(CINC) -nologo -c $(GCFLAGS) $(FLAGS)

#LFLAGSD= $(LFLAGS) /co
#DEBSTRP= debstrip

LFLAGSD = $(LFLAGS)
DEBSTRP = REM debstrip

KRNLLIB = ..\..\dos\mvdm\vdd.lib


.asm.cga:
        $(AS) $(AFLAGS) -DCGA $*.asm,$@;

.asm.cgd:
        $(AS) $(AFLAGS) $(DFLAGS) -DCGA $*.asm,$@;

.asm.cgl:
        $(AS) $(AFLAGS) -DCGA -l $*.asm,nul,$@;

.asm.ega:
        $(AS) $(AFLAGS) -DEGA $*.asm,$@;

.asm.egd:
        $(AS) $(AFLAGS) $(DFLAGS) -DEGA $*.asm,$@;

.asm.egl:
        $(AS) $(AFLAGS) -DEGA -l $*.asm,nul,$@;

.asm.vga:
        $(AS) $(AFLAGS) -DVGA $*.asm,$@;

.asm.vgd:
        $(AS) $(AFLAGS) $(DFLAGS) -DVGA $*.asm,$@;

.asm.vgl:
        $(AS) $(AFLAGS) -DVGA -l $*.asm,nul,$@;

.asm.sga:
        $(AS) $(AFLAGS) -DSVGA $*.asm,$@;

.asm.sgd:
        $(AS) $(AFLAGS) $(DFLAGS) -DSVGA $*.asm,$@;

.asm.sgl:
        $(AS) $(AFLAGS) -DSVGA -l $*.asm,nul,$@;

.asm.mna:
        $(AS) $(AFLAGS) -DMONO $*.asm,$@;

.asm.mnd:
        $(AS) $(AFLAGS) $(DFLAGS) -DMONO $*.asm,$@;

.asm.mnl:
        $(AS) $(AFLAGS) -DMONO -l $*.asm,nul,$@;

#       rules for building device objects from a c file

.c.cga:
        $(CC) $(OFLAGS) $(CFLAGS) -DCGA -Fo$@ $*.c

.c.cgd:
        $(CC) -Zi -Oi $(CFLAGS) $(DFLAGS) -DCGA -Fo$@ $*.c

.c.cgl:
        $(CC) $(OFLAGS) $(CFLAGS) -DCGA -Fonul -Fc$@ $*.c

.c.ega:
        $(CC) $(OFLAGS) $(CFLAGS) -DEGA -Fo$@ $*.c

.c.egd:
        $(CC) -Zi -Oi $(CFLAGS) $(DFLAGS) -DEGA -Fo$@ $*.c

.c.egl:
        $(CC) $(OFLAGS) $(CFLAGS) -DEGA -Fonul -Fc$@ $*.c

.c.vga:
        $(CC) $(OFLAGS) $(CFLAGS) -DVGA -Fo$@ $*.c

.c.vgd:
        $(CC) -Zi -Oi $(CFLAGS) $(DFLAGS) -DVGA -Fo$@ $*.c

.c.vgl:
        $(CC) $(OFLAGS) $(CFLAGS) -DVGA -Fonul -Fc$@ $*.c

.c.sga:
        $(CC) $(OFLAGS) $(CFLAGS) -DSVGA -Fo$@ $*.c

.c.sgd:
        $(CC) -Zi -Oi $(CFLAGS) $(DFLAGS) -DSVGA -Fo$@ $*.c

.c.sgl:
        $(CC) $(OFLAGS) $(CFLAGS) -DSVGA -Fonul -Fc$@ $*.c

.c.mna:
        $(CC) $(OFLAGS) $(CFLAGS) -DMONO -Fo$@ $*.c

.c.mnd:
        $(CC) -Zi -Oi $(CFLAGS) $(DFLAGS) -DMONO -Fo$@ $*.c

.c.mnl:
        $(CC) $(OFLAGS) $(CFLAGS) -DMONO -Fonul -Fc$@ $*.c


#****************************************************************************
# Set up Macros that will contain all the different dependencies for the
# executables and dlls etc. that are generated.
#****************************************************************************

CGAOBJ1=vvdata.cga vvinit.cga vvuser.cga vvmode.cga vvbuff.cga
CGAOBJ2=vvcga.cga
CGAOBJ3=vvport.cga vvpage.cga vvstate.cga vvdevrq.cga vvevent.cga
CGAOBJ4=vvsysrq.cga vvptr.cga vvint10.cga vvptra.cga vvcopy.cga
CGAOBJ5=vvcrtio.cga vvmscio.cga
CGAOBJS= $(CGAOBJ1) $(CGAOBJ2) $(CGAOBJ3) $(CGAOBJ4) $(CGAOBJ5)

EGAOBJ1=vvdata.ega vvinit.ega vvuser.ega vvmode.ega vvbuff.ega
EGAOBJ2=vvcga.ega vvega.ega
EGAOBJ3=vvport.ega vvpage.ega vvphys.ega vvstate.ega vvdevrq.ega vvevent.ega
EGAOBJ4=vvsysrq.ega vvptr.ega vvint10.ega vvptra.ega vvcopy.ega vvoem.ega
EGAOBJ5=vvcrtio.ega vvmscio.ega vvatcio.ega vvgdcio.ega vvseqio.ega vvphysio.ega
EGAOBJS= $(EGAOBJ1) $(EGAOBJ2) $(EGAOBJ3) $(EGAOBJ4) $(EGAOBJ5)

VGAOBJ1=vvdata.vga vvinit.vga vvuser.vga vvmode.vga vvbuff.vga
VGAOBJ2=vvcga.vga vvega.vga vvvga.vga
VGAOBJ3=vvport.vga vvpage.vga vvphys.vga vvstate.vga vvdevrq.vga vvevent.vga
VGAOBJ4=vvsysrq.vga vvptr.vga vvint10.vga vvptra.vga vvcopy.vga vvoem.vga vvcrtio.vga
VGAOBJ5=vvmscio.vga vvatcio.vga vvgdcio.vga vvseqio.vga vvdacio.vga vvphysio.vga
VGAOBJS= $(VGAOBJ1) $(VGAOBJ2) $(VGAOBJ3) $(VGAOBJ4) $(VGAOBJ5)

SVGAOBJ1=vvdata.sga vvinit.sga vvuser.sga vvmode.sga vvbuff.sga
SVGAOBJ2=vvsvga.sga vvpmi.sga vvaccel.sga vvdac.sga
SVGAOBJ3=vva8514.sga vvati.sga vvcirrus.sga vvibm.sga
SVGAOBJ4=vvs3.sga vvtridnt.sga vvtseng.sga vvvideo7.sga vvwd.sga
SVGAOBJ5=vvcga.sga vvega.sga vvvga.sga
SVGAOBJ6=vvport.sga vvpage.sga vvphys.sga vvstate.sga vvdevrq.sga vvevent.sga
SVGAOBJ7=vvsysrq.sga vvptr.sga vvint10.sga vvptra.sga vvcopy.sga vvoem.sga vvcrtio.sga vvsvgaio.sga
SVGAOBJ8=vvmscio.sga vvatcio.sga vvgdcio.sga vvseqio.sga vvdacio.sga vvphysio.sga
SVGAOBJS= $(SVGAOBJ1) $(SVGAOBJ2) $(SVGAOBJ3) $(SVGAOBJ4) $(SVGAOBJ5) $(SVGAOBJ6) $(SVGAOBJ7) $(SVGAOBJ8)

MONOBJ1=vvdata.mna vvinit.mna vvuser.mna vvmode.mna vvbuff.mna
MONOBJ2=vvcga.mna
MONOBJ3=vvport.mna vvpage.mna vvstate.mna vvdevrq.mna vvevent.mna
MONOBJ4=vvsysrq.mna vvptr.mna vvint10.mna vvptra.mna vvcopy.mna
MONOBJ5=vvcrtio.mna vvmscio.mna
MONOBJS= $(MONOBJ1) $(MONOBJ2) $(MONOBJ3) $(MONOBJ4) $(MONOBJ5)

8514OBJ=vv8514.obj vv8514io.obj

#       Debug object modules

CGAOBD1=vvdata.cgd vvinit.cgd vvuser.cga vvmode.cga vvbuff.cga
CGAOBD2=vvcga.cga
CGAOBD3=vvport.cga vvpage.cgd vvstate.cga vvdevrq.cga vvevent.cgd
CGAOBD4=vvsysrq.cgd vvptr.cga vvint10.cgd vvptra.cga vvcopy.cga
CGAOBD5=vvcrtio.cga vvmscio.cga
CGAOBDS= $(CGAOBD1) $(CGAOBD2) $(CGAOBD3) $(CGAOBD4) $(CGAOBD5)

EGAOBD1=vvdata.egd vvinit.egd vvuser.ega vvmode.ega vvbuff.ega
EGAOBD2=vvcga.ega vvega.ega
EGAOBD3=vvport.ega vvpage.egd vvphys.ega vvstate.ega vvdevrq.ega vvevent.egd
EGAOBD4=vvsysrq.egd vvptr.ega vvint10.egd vvptra.ega vvcopy.ega vvoem.ega
EGAOBD5=vvcrtio.ega vvmscio.ega vvatcio.ega vvgdcio.ega vvseqio.ega vvphysio.ega
EGAOBDS= $(EGAOBD1) $(EGAOBD2) $(EGAOBD3) $(EGAOBD4) $(EGAOBD5)

VGAOBD1=vvdata.vgd vvinit.vgd vvuser.vga vvmode.vga vvbuff.vga
VGAOBD2=vvcga.vga vvega.vga vvvga.vga
VGAOBD3=vvport.vga vvpage.vgd vvphys.vga vvstate.vga vvdevrq.vga vvevent.vgd
VGAOBD4=vvsysrq.vgd vvptr.vga vvint10.vgd vvptra.vga vvcopy.vga vvoem.vga vvcrtio.vga
VGAOBD5=vvmscio.vga vvatcio.vga vvgdcio.vga vvseqio.vga vvdacio.vga vvphysio.vga
VGAOBDS= $(VGAOBD1) $(VGAOBD2) $(VGAOBD3) $(VGAOBD4)  $(VGAOBD5)

SVGAOBD1=vvdata.sgd vvinit.sgd vvuser.sgd vvmode.sgd vvbuff.sgd
SVGAOBD2=vvsvga.sgd vvpmi.sgd vvaccel.sgd vvdac.sgd
SVGAOBD3=vva8514.sgd vvati.sgd vvcirrus.sgd vvibm.sgd
SVGAOBD4=vvs3.sgd vvtridnt.sgd vvtseng.sgd vvvideo7.sgd vvwd.sgd
SVGAOBD5=vvcga.sgd vvega.sgd vvvga.sgd
SVGAOBD6=vvport.sgd vvpage.sgd vvphys.sgd vvstate.sgd vvdevrq.sgd vvevent.sgd
SVGAOBD7=vvsysrq.sgd vvptr.sgd vvint10.sgd vvptra.sgd vvcopy.sgd vvoem.sgd vvcrtio.sgd vvsvgaio.sgd
SVGAOBD8=vvmscio.sgd vvatcio.sgd vvgdcio.sgd vvseqio.sgd vvdacio.sgd vvphysio.sgd
SVGAOBDS= $(SVGAOBD1) $(SVGAOBD2) $(SVGAOBD3) $(SVGAOBD4) $(SVGAOBD5) $(SVGAOBD6) $(SVGAOBD7) $(SVGAOBD8)

MONOBD1=vvdata.mnd vvinit.mnd vvuser.mna vvmode.mna vvbuff.mna
MONOBD2=vvcga.mnd
MONOBD3=vvport.mna vvpage.mnd vvstate.mna vvdevrq.mna vvevent.mnd
MONOBD4=vvsysrq.mnd vvptr.mna vvint10.mnd vvptra.mna vvcopy.mna
MONOBD5=vvcrtio.mna vvmscio.mna
MONOBDS= $(MONOBD1) $(MONOBD2) $(MONOBD3) $(MONOBD4) $(MONOBD4)

8514OBD=vv8514.obd vv8514io.obj


#****************************************************************************
#   Target Information
#****************************************************************************
#
# This is a very important step. The following small amount of code MUST
# NOT be removed from the program. The following directive will do
# dependency checking every time this component is built UNLESS the
# following is performed:
#                    A specific tag is used -- ie. all
#
# This allows the developer as well as the B & I group to perform incremental
# build with a degree of accuracy that has not been used before.
# There are some instances where certain types of INCLUDE files must be
# created first. This type of format will allow the developer to require
# that file to be created first. In order to achive that, all that has to
# be done is to make the DEPEND.MAK tag have your required target. Below is
# an example:
#
#    depend.mak:   { your file(s) } dephold
#
# Please DON'T remove the following line
#

!include      "$(H)\version.mak"

#
# Should be the default tag for all general processing
#


all:    vvdp.inc vsvga vsvgad vvga vvgad vega vegad vcga vcgad vmono vmonod v8514a v8514ad

vsvga:  vvdp.inc vsvga.sys vsvga.sym

vsvgad: vvdp.inc vsvgad.sys vsvgad.sym

vvga:   vvdp.inc vvga.sys vvga.sym

vvgad:  vvdp.inc vvgad.sys vvgad.sym

vega:   vvdp.inc vega.sys vega.sym

vegad:  vvdp.inc vegad.sys vegad.sym

vcga:   vvdp.inc vcga.sys vcga.sym

vcgad:  vvdp.inc vcgad.sys vcgad.sym

v8514a: vvdp.inc v8514a.sys v8514a.sym

v8514ad: vvdp.inc v8514ad.sys v8514ad.sym

vmono:  vvdp.inc vmono.sys vmono.sym

vmonod: vvdp.inc vmonod.sys vmonod.sym

vtests: vvdp.inc vtests.com

inc:    vvdp.inc
        cd ..\..\..\inc
        $(MAKE) -c
        cd ..\src\vdev\vvideo

lib:
        cd ..\..\..\lib
        $(MAKE) -c
        cd ..\src\vdev\vvideo

clean:
        if exist *.cga del *.cga
        if exist *.ega del *.ega
        if exist *.vga del *.vga
        if exist *.sga del *.sga
        if exist *.mna del *.mna
        if exist *.cgd del *.cgd
        if exist *.egd del *.egd
        if exist *.vgd del *.vgd
        if exist *.sgd del *.sgd
        if exist *.mnd del *.mnd
        if exist *.obj del *.obj
        if exist *.obd del *.obd
        if exist *.lrf del *.lrf
        if exist *.lnk del *.lnk
        if exist *.sys del *.sys
        if exist *.sym del *.sym
        if exist *.map del *.map
        if exist *.exe del *.exe
        if exist *.com del *.com
        if exist *.cvk del *.cvk
        if exist *.cgl del *.cgl
        if exist *.egl del *.egl
        if exist *.vgl del *.vgl
        if exist *.sgl del *.sgl
        if exist *.mnl del *.mnl
        if exist *.sin del *.sin
        if exist vvdp.inc del vvdp.inc

#       These targets (VxxxOBJ) are to facilitate faster rebuilding
#       when the programmer has changed an include file and doesn't want
#       everything to rebuild as a result.  USE WITH CARE!  -JTP

vcgaobj: inc
        -touch $(CGAOBJ1)
        -touch $(CGAOBJ2)
        -touch $(CGAOBJ3)
        -touch $(CGAOBJ4)
        -touch $(CGAOBJ5)

vcgadobj:  inc
        -touch $(CGAOBD1)
        -touch $(CGAOBD2)
        -touch $(CGAOBD3)
        -touch $(CGAOBD4)
        -touch $(CGAOBD5)

vegaobj: inc
        -touch $(EGAOBJ1)
        -touch $(EGAOBJ2)
        -touch $(EGAOBJ3)
        -touch $(EGAOBJ4)
        -touch $(EGAOBJ5)

vegadobj: inc
        -touch $(EGAOBD1)
        -touch $(EGAOBD2)
        -touch $(EGAOBD3)
        -touch $(EGAOBD4)
        -touch $(EGAOBD5)

vvgaobj: inc
        -touch $(VGAOBJ1)
        -touch $(VGAOBJ2)
        -touch $(VGAOBJ3)
        -touch $(VGAOBJ4)
        -touch $(VGAOBJ5)

vvgadobj: inc
        -touch $(VGAOBD1)
        -touch $(VGAOBD2)
        -touch $(VGAOBD3)
        -touch $(VGAOBD4)
        -touch $(VGAOBD5)

vsvgaobj: inc
        -touch $(SVGAOBJ1)
        -touch $(SVGAOBJ2)
        -touch $(SVGAOBJ3)
        -touch $(SVGAOBJ4)
        -touch $(SVGAOBJ5)
        -touch $(SVGAOBJ6)
        -touch $(SVGAOBJ7)
        -touch $(SVGAOBJ8)

vsvgadobj: inc
        -touch $(SVGAOBD1)
        -touch $(SVGAOBD2)
        -touch $(SVGAOBD3)
        -touch $(SVGAOBD4)
        -touch $(SVGAOBD5)
        -touch $(SVGAOBD6)
        -touch $(SVGAOBD7)
        -touch $(SVGAOBD8)

vmonoobj: inc
        -touch $(MONOBJ1)
        -touch $(MONOBJ2)
        -touch $(MONOBJ3)
        -touch $(MONOBJ4)
        -touch $(MONOBJ5)

vmonodobj: inc
        -touch $(MONOBD1)
        -touch $(MONOBD2)
        -touch $(MONOBD3)
        -touch $(MONOBD4)
        -touch $(MONOBD5)

allobj: inc
        -touch *.?g? *.?n? *.ob?

#vvdp.inc: vvdp.h


#*****************************************************************************
#   Specific Description Block Information
#*****************************************************************************

# This section would only be for specific direction as to how to create
# unique elements that are necessary to the build process. This could
# be compiling or assembling, creation of DEF files and other unique
# files.
# If all compiler and assembly rules are the same, use an inference rule to
# perform the compilation.
#

VGADEF = ..\..\..\lib\vvga.def

vcga.sys: $(CGAOBJS) $(LIBS) $(DEF) makefile
        copy $(DEF) + << $(@B).def >nul

DESCRIPTION "$(FILEVER)  Virtual Video Device Driver (CGA)"
<<
        $(LINK) $(LFLAGS) @<<$(@B).lnk
$(CGAOBJ1) +
$(CGAOBJ2) +
$(CGAOBJ3) +
$(CGAOBJ4) +
$(CGAOBJ5)
$@
$*.map/map
$(LIBS)
$(@B).def
<<keep

vcgad.sys: $(CGAOBDS) $(LIBS) $(DEF) makefile
        copy $(DEF) + << $(@B).def >nul

DESCRIPTION "$(FILEVER)  Virtual Video Device Driver (CGA)"
<<
        $(LINK) $(LFLAGSD) @<<$(@B).lnk
$(CGAOBD1) +
$(CGAOBD2) +
$(CGAOBD3) +
$(CGAOBD4) +
$(CGAOBD5)
$@
$*.map/map
$(LIBS)
$(@B).def
<<keep
        $(DEBSTRP) -o vcgad.cvk vcgad.sys

vega.sys: $(EGAOBJS) $(LIBS) $(DEF) makefile
        copy $(DEF) + << $(@B).def >nul

DESCRIPTION "$(FILEVER)  Virtual Video Device Driver (EGA)"
<<
        $(LINK) $(LFLAGS) @<<$(@B).lnk
$(EGAOBJ1) +
$(EGAOBJ2) +
$(EGAOBJ3) +
$(EGAOBJ4) +
$(EGAOBJ5)
$@
$*.map/map
$(LIBS)
$(@B).def
<<keep

vegad.sys: $(EGAOBDS) $(LIBS) $(DEF) makefile
        copy $(DEF) + << $(@B).def >nul

DESCRIPTION "$(FILEVER)  Virtual Video Device Driver (EGA)"
<<
        $(LINK) $(LFLAGSD) @<<$(@B).lnk
$(EGAOBD1) +
$(EGAOBD2) +
$(EGAOBD3) +
$(EGAOBD4) +
$(EGAOBD5)
$@
$*.map/map
$(LIBS)
$(@B).def
<<keep
        $(DEBSTRP) -o $*.cvk $@

vvga.sys: $(VGAOBJS) $(LIBS) $(VGADEF) makefile
        copy $(VGADEF) + << $(@B).def >nul

DESCRIPTION "$(FILEVER)  Virtual Video Device Driver (VGA)"
<<
        $(LINK) $(LFLAGS) @<<$(@B).lnk
$(VGAOBJ1) +
$(VGAOBJ2) +
$(VGAOBJ3) +
$(VGAOBJ4) +
$(VGAOBJ5)
$@
$*.map/map
$(LIBS)
$(@B).def
<<keep

vvgad.sys: $(VGAOBDS) $(LIBS) $(VGADEF) makefile
        copy $(VGADEF) + << $(@B).def >nul

DESCRIPTION "$(FILEVER)  Virtual Video Device Driver (VGA)"
<<
        $(LINK) $(LFLAGSD) @<<$(@B).lnk
$(VGAOBD1) +
$(VGAOBD2) +
$(VGAOBD3) +
$(VGAOBD4) +
$(VGAOBD5)
$@
$*.map/map
$(LIBS)
$(@B).def
<<keep
        $(DEBSTRP) -o $*.cvk $@

vsvga.sys: $(SVGAOBJS) $(LIBS) $(VGADEF) makefile
        copy $(VGADEF) + << $(@B).def >nul

DESCRIPTION "$(FILEVER)  Virtual Video Device Driver (SVGA)"
<<
        $(LINK) $(LFLAGS) @<<$(@B).lnk
$(SVGAOBJ1) +
$(SVGAOBJ2) +
$(SVGAOBJ3) +
$(SVGAOBJ4) +
$(SVGAOBJ5) +
$(SVGAOBJ6) +
$(SVGAOBJ7) +
$(SVGAOBJ8)
$@
$*.map/map
$(LIBS)
$(@B).def
<<keep

vsvgad.sys: $(SVGAOBDS) $(LIBS) $(VGADEF) makefile
        copy $(VGADEF) + << $(@B).def >nul

DESCRIPTION "$(FILEVER)  Virtual Video Device Driver (SVGA)"
<<
        $(LINK) $(LFLAGSD) @<<$(@B).lnk
$(SVGAOBD1) +
$(SVGAOBD2) +
$(SVGAOBD3) +
$(SVGAOBD4) +
$(SVGAOBD5) +
$(SVGAOBD6) +
$(SVGAOBD7) +
$(SVGAOBD8)
$@
$*.map/map
$(LIBS)
$(@B).def
<<keep
        $(DEBSTRP) -o $*.cvk $@

vmono.sys: $(MONOBJS) $(LIBS) $(DEF) makefile
        copy $(DEF) + << $(@B).def >nul

DESCRIPTION "$(FILEVER)  Virtual Video Device Driver (Mono)"
<<
        $(LINK) $(LFLAGS) @<<$(@B).lnk
$(MONOBJ1) +
$(MONOBJ2) +
$(MONOBJ3) +
$(MONOBJ4) +
$(MONOBJ5)
$@
$*.map/map
$(LIBS)
$(@B).def
<<keep

vmonod.sys: $(MONOBDS) $(LIBS) $(DEF) makefile
        copy $(DEF) + << $(@B).def >nul

DESCRIPTION "$(FILEVER)  Virtual Video Device Driver (Mono)"
<<
        $(LINK) $(LFLAGSD) @<<$(@B).lnk
$(MONOBD1) +
$(MONOBD2) +
$(MONOBD3) +
$(MONOBD4) +
$(MONOBD5)
$@
$*.map/map
$(LIBS)
$(@B).def
<<keep
        $(DEBSTRP) -o $*.cvk $@

v8514a.sys: $(8514OBJ) $(LIBS) $(DEF) makefile
        copy $(DEF) + << $(@B).def >nul

DESCRIPTION "$(FILEVER)  Virtual Video Device Driver (8514)"
<<
        $(LINK) $(LFLAGS) @<<$(@B).lnk
$(8514OBJ)
$@
$*.map
$(LIBS)
$(@B).def
<<keep

v8514ad.sys: $(8514OBD) $(LIBS) $(DEF) makefile
        copy $(DEF) + << $(@B).def >nul

DESCRIPTION "$(FILEVER)  Virtual Video Device Driver (8514)"
<<
        $(LINK) $(LFLAGSD) @<<$(@B).lnk
$(8514OBD)
$@
$*.map
$(LIBS)
$(@B).def
<<keep
        $(DEBSTRP) -o $*.cvk $@

vtests.exe: vtests.obj

vtests.com: vtests.exe


#       The VDD.LRF and KRNLLIB targets were for building a library
#       that could in turn be linked with the kernel for easy source-level
#       debugging.  They are obsolete now, but just in case.... -JTP

egalib: $(KRNLLIB)

vdd.lrf: makefile
        echo $(KRNLLIB)>vdd.lrf
        echo y>>vdd.lrf
        echo $(EGAOBJ1) ^^&>>vdd.lrf
        echo $(EGAOBJ2) ^^&>>vdd.lrf
        echo $(EGAOBJ3) ^^&>>vdd.lrf
        echo $(EGAOBJ4)>>vdd.lrf
        echo.>>vdd.lrf

$(KRNLLIB): $(EGAOBJ1) $(EGAOBJ2) $(EGAOBJ3) $(EGAOBJ4) vdd.lrf
        -del $(KRNLLIB)
        lib @vdd.lrf





#*****************************************************************************
#       List of documentation source files
#*****************************************************************************


video.hpl video.hp2 video.ppr video.ppx video.txt: ../../equate.sci video.doc \
        videxk.sin vidlok.sin \
        vidext.sin vidlot.sin \
        videxp.sin vidimp.sin vidlop.sin \
        videoisu.isu videohis.sci videopha.sci

video2.doc: video.doc
        sed -e "s;:h3;:h1;" -e "s;:h4;:h3;" -e "s;:h5;:h4;" video.doc >video2.doc

video2.hpl video2.hp2 video2.ppr video2.ppx video2.txt: ../../equate.sci video2.doc \
        videxk.sin vidlok.sin \
        vidext.sin vidlot.sin \
        videxp.sin vidimp.sin vidlop.sin \
        videoisu.isu videohis.sci videopha.sci

#       Document .sin dependencies

videxk.sin: ..\..\..\h\vvd.h
        echo .fo off > vvdp.tmp
        echo .gml off >> vvdp.tmp
        echo $$include ..\..\..\h\vvd.h, EK >> vvdp.tmp
        echo .gml on >> vvdp.tmp
        echo .fo on >> vvdp.tmp
        sinc vvdp.tmp > videxk.sin
        -del vvdp.tmp

vidlok.sin: vvdata.c
        echo .fo off > vvdp.tmp
        echo .gml off >> vvdp.tmp
        echo $$include vvdata.c, LK >> vvdp.tmp
        echo .gml on >> vvdp.tmp
        echo .fo on >> vvdp.tmp
        sinc vvdp.tmp > vidlok.sin
        -del vvdp.tmp

vidext.sin: ..\..\..\h\vvd.h
        echo .fo off > vvdp.tmp
        echo .gml off >> vvdp.tmp
        echo $$include ..\..\..\h\vvd.h, ET >> vvdp.tmp
        echo .gml on >> vvdp.tmp
        echo .fo on >> vvdp.tmp
        sinc vvdp.tmp > vidext.sin
        -del vvdp.tmp

vidlot.sin: vvdata.c
        echo .fo off > vvdp.tmp
        echo .gml off >> vvdp.tmp
        echo $$include vvdata.c, LT >> vvdp.tmp
        echo .gml on >> vvdp.tmp
        echo .fo on >> vvdp.tmp
        sinc vvdp.tmp > vidlot.sin
        -del vvdp.tmp

videxp.sin: vvuser.c vvport.c vvpage.c vvstate.c \
            vvdevrq.c vvsysrq.c vvptr.c vvptra.asm vvint10.asm \
            vvdata.c vvinit.c vvmode.c \
            vvcrtio.asm vvsvgaio.asm vvmscio.asm \
            vvatcio.asm vvgdcio.asm vvseqio.asm vvdacio.asm
        echo .fo off > vvdp.tmp
        echo .gml off >> vvdp.tmp
        echo $$include vvdata.c, EP >> vvdp.tmp
        echo $$include vvinit.c, EP >> vvdp.tmp
        echo $$include vvuser.c, EP >> vvdp.tmp
        echo $$include vvmode.c, EP >> vvdp.tmp
        echo $$include vvport.c, EP >> vvdp.tmp
        echo $$include vvpage.c, EP >> vvdp.tmp
        echo $$include vvstate.c, EP >> vvdp.tmp
        echo $$include vvdevrq.c, EP >> vvdp.tmp
        echo $$include vvsysrq.c, EP >> vvdp.tmp
        echo $$include vvptr.c, EP >> vvdp.tmp
        echo $$include vvptra.asm, EP >> vvdp.tmp
        echo $$include vvint10.asm, EP >> vvdp.tmp
        echo $$include vvcrtio.asm, EP >> vvdp.tmp
        echo $$include vvsvgaio.asm, EP >> vvdp.tmp
        echo $$include vvmscio.asm, EP >> vvdp.tmp
        echo $$include vvatcio.asm, EP >> vvdp.tmp
        echo $$include vvgdcio.asm, EP >> vvdp.tmp
        echo $$include vvseqio.asm, EP >> vvdp.tmp
        echo $$include vvdacio.asm, EP >> vvdp.tmp
        echo .gml on >> vvdp.tmp
        echo .fo on >> vvdp.tmp
        sinc vvdp.tmp > videxp.sin
        -del vvdp.tmp

vidimp.sin:
        echo .fo off > vvdp.tmp
        echo .gml off >> vvdp.tmp
        echo .gml on >> vvdp.tmp
        echo .fo on >> vvdp.tmp
        sinc vvdp.tmp > vidimp.sin
        -del vvdp.tmp

vidlop.sin: vvuser.c vvport.c vvpage.c vvstate.c \
            vvdevrq.c vvsysrq.c vvptr.c vvptra.asm vvint10.asm \
            vvdata.c vvinit.c vvmode.c \
            vvcrtio.asm vvsvgaio.asm vvmscio.asm \
            vvatcio.asm vvgdcio.asm vvseqio.asm vvdacio.asm
        echo .fo off > vvdp.tmp
        echo .gml off >> vvdp.tmp
        echo $$include vvdata.c, LP >> vvdp.tmp
        echo $$include vvinit.c, LP >> vvdp.tmp
        echo $$include vvuser.c, LP >> vvdp.tmp
        echo $$include vvmode.c, LP >> vvdp.tmp
        echo $$include vvport.c, LP >> vvdp.tmp
        echo $$include vvpage.c, LP >> vvdp.tmp
        echo $$include vvstate.c, LP >> vvdp.tmp
        echo $$include vvdevrq.c, LP >> vvdp.tmp
        echo $$include vvsysrq.c, LP >> vvdp.tmp
        echo $$include vvptr.c, LP >> vvdp.tmp
        echo $$include vvptra.asm, LP >> vvdp.tmp
        echo $$include vvint10.asm, LP >> vvdp.tmp
        echo $$include vvcrtio.asm, LP >> vvdp.tmp
        echo $$include vvsvgaio.asm, EP >> vvdp.tmp
        echo $$include vvmscio.asm, LP >> vvdp.tmp
        echo $$include vvatcio.asm, LP >> vvdp.tmp
        echo $$include vvgdcio.asm, LP >> vvdp.tmp
        echo $$include vvseqio.asm, LP >> vvdp.tmp
        echo $$include vvdacio.asm, LP >> vvdp.tmp
        echo .gml on >> vvdp.tmp
        echo .fo on >> vvdp.tmp
        sinc vvdp.tmp > vidlop.sin
        -del vvdp.tmp

#****************************************************************************
