OS                      = DOS
DEBUG                   = FALSE
TYPE                    = 16BIT
INCLUDE                 = .
DIR                     = wc

.EXTENSIONS:
.EXTENSIONS: .exe .lib .obj .c .asm .inc .h

!include                makedefs

!ifeq   TYPE 8BIT
.c:   drivers;draw8;misc;system;debug;formats;render;objects;vmath;utils;vgui
.asm: drivers;draw8;misc;system;debug;formats;render;objects;vmath;utils;vgui
!else ifeq   TYPE 16BIT
.c:   drivers;draw16;misc;system;debug;formats;render16;objects;vmath;utils;vgui
.asm: drivers;draw16;misc;system;debug;formats;render16;objects;vmath;utils;vgui
!endif

.lib: libs\$(DIR)

###############################################################################

!ifeq   TYPE    8BIT

execs                   = test.exe
execs                  = utils\testgui.exe

!else ifeq   TYPE    16BIT

execs                   = test.exe
!ifeq OS DOS
execs                  += utils\testdrv.exe
execs                  += utils\vesainfo.exe
!else ifeq OS NT
execs                  += utils\testnt.exe
!endif
#execs                  += utils\showvio.exe

!endif

##---- Alltid dessa .exe filer!

execs                  += utils\ads2v3o.exe
execs                  += utils\2vio.exe
execs                  += utils\lwo2v3o.exe
execs                  += utils\lws2v3d.exe
execs                  += utils\dbtool.exe



libs                    = libs\$(DIR)\system.lib
libs                   += libs\$(DIR)\misc.lib
libs                   += libs\$(DIR)\drivers.lib

!ifeq   TYPE    8BIT
libs                   += libs\$(DIR)\draw8.lib
libs                   += libs\$(DIR)\render.lib
!else ifeq TYPE 16BIT
libs                   += libs\$(DIR)\draw16.lib
libs                   += libs\$(DIR)\render16.lib
!endif

libs                   += libs\$(DIR)\formats.lib
libs                   += libs\$(DIR)\objects.lib
libs                   += libs\$(DIR)\vmath.lib
libs                   += libs\$(DIR)\debug.lib
libs                   += libs\$(DIR)\vgui.lib

system                  = system\$(DIR)\xstdio.obj
system                 += system\$(DIR)\xstdlib.obj
system                 += system\$(DIR)\xstring.obj
system                 += system\$(DIR)\xmath.obj
system                 += system\$(DIR)\dpmi.obj

misc                    = misc\$(DIR)\yclip.obj
misc                   += misc\$(DIR)\xyclip.obj
misc                   += misc\$(DIR)\col.obj
misc                   += misc\$(DIR)\parser.obj
misc                   += misc\$(DIR)\spline.obj
misc                   += misc\$(DIR)\dbfs.obj
misc                   += misc\$(DIR)\dbfsutil.obj
misc                   += misc\$(DIR)\dbfspack.obj

!ifeq   OS DOS
drivers                 = drivers\$(DIR)\vga.obj
drivers                += drivers\$(DIR)\vesa.obj
drivers                += drivers\$(DIR)\vesa16.obj
#drivers                += drivers\$(DIR)\vesa32.obj
!else ifeq  OS NT
drivers                 = drivers\$(DIR)\dx.obj
drivers                = drivers\$(DIR)\dx16.obj
#!else
#drivers                 = drivers\$(DIR)\x.obj
#drivers                += drivers\$(DIR)\x32.obj
!endif

draw8                   = draw8\$(DIR)\plot.obj
draw8                  += draw8\$(DIR)\line.obj
draw8                  += draw8\$(DIR)\poly.obj
draw8                  += draw8\$(DIR)\polyasmw.obj
draw8                  += draw8\$(DIR)\tpoly.obj
draw8                  += draw8\$(DIR)\blit.obj

draw16                   = draw16\$(DIR)\plot.obj
draw16                  += draw16\$(DIR)\line.obj
draw16                  += draw16\$(DIR)\poly.obj
draw16                  += draw16\$(DIR)\polyasm.obj
draw16                  += draw16\$(DIR)\tpoly.obj
draw16                  += draw16\$(DIR)\blit.obj

draw32                  = draw32\$(DIR)\plot.obj
draw32                 += draw32\$(DIR)\line.obj
draw32                 += draw32\$(DIR)\poly.obj
draw32                 += draw32\$(DIR)\tpoly.obj
draw32                 += draw32\$(DIR)\blit.obj

formats                = formats\$(DIR)\vio.obj
formats                += formats\$(DIR)\tga.obj
formats                += formats\$(DIR)\pcx.obj
formats                += formats\$(DIR)\gif.obj
formats                += formats\$(DIR)\v3o.obj
formats                += formats\$(DIR)\v3d.obj
formats                += formats\$(DIR)\lwo.obj
formats                += formats\$(DIR)\lws.obj
formats                += formats\$(DIR)\3ds.obj

objects                 = formats\$(DIR)\object.obj
objects                += formats\$(DIR)\camera.obj
objects                += formats\$(DIR)\texture.obj
objects                += formats\$(DIR)\light.obj

vmath                   = vmath\$(DIR)\vmath.obj
vmath                  += vmath\$(DIR)\vector.obj
vmath                  += vmath\$(DIR)\matrix.obj

render                  = render\$(DIR)\polydraw.obj
render                 += render\$(DIR)\scprnd.obj
render                 += render\$(DIR)\objrnd.obj
render                 += render\$(DIR)\wfrnd.obj
render                 += render\$(DIR)\wftoprnd.obj
render                 += render\$(DIR)\rnd_util.obj

render16                = render16\$(DIR)\polydraw.obj
render16               += render16\$(DIR)\scprnd.obj
render16               += render16\$(DIR)\objrnd.obj
#render16               += render16\$(DIR)\wfrnd.obj
#render16               += render16\$(DIR)\wftoprnd.obj
render16               += render16\$(DIR)\rnd_util.obj


vgui                    = vgui\$(DIR)\vguiwin.obj
vgui                   += vgui\$(DIR)\vgui.obj
vgui                   += vgui\$(DIR)\vguimbar.obj
vgui                   += vgui\$(DIR)\vguigad.obj
vgui                   += vgui\$(DIR)\vguibutt.obj
vgui                   += vgui\$(DIR)\vguisbox.obj
vgui                   += vgui\$(DIR)\vguibord.obj
vgui                   += vgui\$(DIR)\vguicbox.obj
vgui                   += vgui\$(DIR)\vguitext.obj
vgui                   += vgui\$(DIR)\vguidab.obj
vgui                   += vgui\$(DIR)\vguidbox.obj
vgui                   += vgui\$(DIR)\vguilbox.obj
vgui                   += vgui\$(DIR)\vguicdlg.obj

debug                   = debug\$(DIR)\mono.obj

#
# Top of the line statements
#

all                     : $(libs) $(execs) .SYMBOLIC

#
# Executables
#

test.exe                : utils\$(DIR)\test.obj drivers.lib draw16.lib system.lib misc.lib render16.lib vmath.lib formats.lib objects.lib
                        echo ` Linking...: $^@`
                        $(LINK) libpath libs\$(DIR) file $[@
utils\vesainfo.exe      : utils\$(DIR)\vesainfo.obj drivers.lib system.lib
                        echo ` Linking...: $^@`
                        $(LINK) libpath libs\$(DIR) file $[@

utils\ads2v3o.exe       : utils\$(DIR)\ads2v3o.obj  system.lib misc.lib vmath.lib formats.lib objects.lib
                        echo ` Linking...: $^@`
                        $(LINK) libpath libs\$(DIR) file $[@

utils\showvio.exe       : utils\$(DIR)\showvio.obj drivers.lib draw16.lib system.lib misc.lib formats.lib
                        echo ` Linking...: $^@`
                        $(LINK) libpath libs\$(DIR) file $[@

utils\2vio.exe          : utils\$(DIR)\2vio.obj system.lib misc.lib formats.lib
                        echo ` Linking...: $^@`
                        $(LINK) libpath libs\$(DIR) file $[@

utils\lws2v3d.exe       : utils\$(DIR)\lws2v3d.obj system.lib misc.lib formats.lib
                        echo ` Linking...: $^@`
                        $(LINK) libpath libs\$(DIR) file $[@

utils\lwo2v3o.exe       : utils\$(DIR)\lwo2v3o.obj system.lib misc.lib formats.lib
                        echo ` Linking...: $^@`
                        $(LINK) libpath libs\$(DIR) file $[@

utils\testdrv.exe       : utils\$(DIR)\testdrv.obj drivers.lib draw16.lib system.lib misc.lib formats.lib
                        echo ` Linking...: $^@`
                        $(LINK) libpath libs\$(DIR) file $[@

utils\testnt.exe       : utils\$(DIR)\testnt.obj drivers.lib draw16.lib system.lib misc.lib formats.lib
                        echo ` Linking...: $^@`
                        $(LINK) libpath libs\$(DIR) file $[@

utils\testgui.exe       : utils\$(DIR)\testgui.obj drivers.lib draw8.lib system.lib vgui.lib render.lib formats.lib misc.lib vmath.lib objects.lib
                        echo ` Linking...: $^@`
                        $(LINK) libpath libs\$(DIR) file $[@


utils\dbtool.exe        : utils\$(DIR)\dbtool.obj misc.lib system.lib
                        echo ` Linking...: $^@`
                        $(LINK) libpath libs\$(DIR) file $[@


#
# Libraries
#

libs\$(DIR)\system.lib  : $(system)
                        !if not direxist %@PATH[$^@] mkdir /s %@PATH[$^@]
                        echo ` Creating..: libs\$^.`
			%create $^*.lst
			for %i in ($($^&)) do %append $^*.lst -+%i
			$(MAKELIB) @$^*.lst
			del /y/q $^*.lst

libs\$(DIR)\misc.lib    : $(misc)
                        !if not direxist %@PATH[$^@] mkdir /s %@PATH[$^@]
                        echo ` Creating..: libs\$^.`
			%create $^*.lst
			for %i in ($($^&)) do %append $^*.lst -+%i
			$(MAKELIB) @$^*.lst
			del /y/q $^*.lst

libs\$(DIR)\drivers.lib : $(drivers)
                        !if not direxist %@PATH[$^@] mkdir /s %@PATH[$^@]
                        echo ` Creating..: libs\$^.`
			%create $^*.lst
			for %i in ($($^&)) do %append $^*.lst -+%i
			$(MAKELIB) @$^*.lst
			del /y/q $^*.lst

libs\$(DIR)\draw8.lib   : $(draw8)
                        !if not direxist %@PATH[$^@] mkdir /s %@PATH[$^@]
                        echo ` Creating..: libs\$^.`
			%create $^*.lst
			for %i in ($($^&)) do %append $^*.lst -+%i
			$(MAKELIB) @$^*.lst
			del /y/q $^*.lst

libs\$(DIR)\draw16.lib   : $(draw16)
                        !if not direxist %@PATH[$^@] mkdir /s %@PATH[$^@]
                        echo ` Creating..: libs\$^.`
			%create $^*.lst
			for %i in ($($^&)) do %append $^*.lst -+%i
			$(MAKELIB) @$^*.lst
                        del /y/q $^*.lst

libs\$(DIR)\draw32.lib  : $(draw32)
                        !if not direxist %@PATH[$^@] mkdir /s %@PATH[$^@]
                        echo ` Creating..: libs\$^.`
			%create $^*.lst
			for %i in ($($^&)) do %append $^*.lst -+%i
			$(MAKELIB) @$^*.lst
			del /y/q $^*.lst

libs\$(DIR)\formats.lib : $(formats)
                        !if not direxist %@PATH[$^@] mkdir /s %@PATH[$^@]
                        echo ` Creating..: libs\$^.`
			%create $^*.lst
			for %i in ($($^&)) do %append $^*.lst -+%i
			$(MAKELIB) @$^*.lst
			del /y/q $^*.lst

libs\$(DIR)\vmath.lib  : $(vmath)
                        !if not direxist %@PATH[$^@] mkdir /s %@PATH[$^@]
                        echo ` Creating..: libs\$^.`
			%create $^*.lst
			for %i in ($($^&)) do %append $^*.lst -+%i
			$(MAKELIB) @$^*.lst
			del /y/q $^*.lst

libs\$(DIR)\render.lib  : $(render)
                        !if not direxist %@PATH[$^@] mkdir /s %@PATH[$^@]
                        echo ` Creating..: libs\$^.`
			%create $^*.lst
			for %i in ($($^&)) do %append $^*.lst -+%i
			$(MAKELIB) @$^*.lst
                        del /y/q $^*.lst

libs\$(DIR)\render16.lib  : $(render16)
                        !if not direxist %@PATH[$^@] mkdir /s %@PATH[$^@]
                        echo ` Creating..: libs\$^.`
			%create $^*.lst
			for %i in ($($^&)) do %append $^*.lst -+%i
			$(MAKELIB) @$^*.lst
                        del /y/q $^*.lst


libs\$(DIR)\objects.lib : $(objects)
                        !if not direxist %@PATH[$^@] mkdir /s %@PATH[$^@]
                        echo ` Creating..: libs\$^.`
			%create $^*.lst
			for %i in ($($^&)) do %append $^*.lst -+%i
			$(MAKELIB) @$^*.lst
			del /y/q $^*.lst

libs\$(DIR)\debug.lib   : $(debug)
                        !if not direxist %@PATH[$^@] mkdir /s %@PATH[$^@]
                        echo ` Creating..: libs\$^.`
                        %create $^*.lst
                        for %i in ($($^&)) do %append $^*.lst -+%i
                        $(MAKELIB) @$^*.lst
                        del /y/q $^*.lst

libs\$(DIR)\vgui.lib    : $(vgui)
                        !if not direxist %@PATH[$^@] mkdir /s %@PATH[$^@]
                        echo ` Creating..: libs\$^.`
                        %create $^*.lst
                        for %i in ($($^&)) do %append $^*.lst -+%i
                        $(MAKELIB) @$^*.lst
                        del /y/q $^*.lst

#
# Special cases
#

draw8\$(DIR)\poly.obj   : draw8\poly.c draw8\poly0.c draw8\poly1.c
draw16\$(DIR)\poly.obj   : draw16\poly.c draw16\poly0.c draw16\poly1.c
draw16\$(DIR)\tpoly.obj  : draw16\tpoly.c draw16\tpoly0.c draw16\tpoly1.c


