#
#
#                                                           %__________%
#                                                          %/ . .  .   \%
#           Van Gogh 2D-Display Library                     |  . .  o. |
#                                                           |. _  .   .|
#        Microsoft Windows 95/98/NT Version                 | / \   .  |
#                                                           |_|_|_._._.|
#                                                           |.-.-.-.-..|
#                                                          %\__________/%
#                                                           %          %
#
#  Copyright (c) 1994-1999 by Dan Higdon, Tim Little, and Chuck Walbourn
#
#
#
# This file and all associated files are subject to the terms of the
# GNU Lesser General Public License version 2 as published by the
# Free Software Foundation (http://www.gnu.org).   They remain the
# property of the authors: Dan Higdon, Tim Little, and Chuck Walbourn.
# See LICENSE.TXT in the distribution for a copy of this license.
#
# THE AUTHORS MAKE NO WARRANTIES, EXPRESS OR IMPLIED, AS TO THE CORRECTNESS
# OF THIS CODE OR ANY DERIVATIVE WORKS WHICH INCORPORATE IT.  THE AUTHORS
# PROVIDE THE CODE ON AN "AS-IS" BASIS AND EXPLICITLY DISCLAIMS ANY
# LIABILITY, INCLUDING CONSEQUENTIAL AND INCIDENTAL DAMAGES FOR ERRORS,
# OMISSIONS, AND OTHER PROBLEMS IN THE CODE.
#
#
#
#                        http://www.mythos-engine.org/
#
#
#
# Created by Tim Little
#
# makefile
#
#

#
#
#                               Variables
#
#

!if "$(DEBUG)" == ""
DEBUG = NO
!endif

!if "$(THREAD)" == ""
THREAD=YES
!endif

!if "$(MYTH95ROOT)" == ""
MYTH95ROOT = \MythOS95
!endif

INCPATH = ;..\inc;$(MYTH95ROOT)\inc;
LIBPATH = $(MYTH95ROOT)\lib;

#Ŀ
# File specific variables                                                  
#

LIB = VanGogh

OBJS=\
vngpch.obj\
vngedge.obj\
vngpoly.obj\
hlgen.obj\
tahlgen.obj\
thlgen.obj\
th3232.obj\
th3264.obj\
th32128.obj\
th32256.obj\
th6432.obj\
th6464.obj\
th64128.obj\
th64256.obj\
th12832.obj\
th12864.obj\
th128128.obj\
th128256.obj\
th25632.obj\
th25664.obj\
th256128.obj\
th256256.obj\
tathlgen.obj\
vngvp.obj\
vngitrns.obj\
vngzrect.obj\
vngglob.obj\
vngpcalc.obj\
vngpal.obj\
vngcolor.obj\
vngtset.obj\
vngcircl.obj\
vngsmth.obj\
vngzmap.obj\
vngserv.obj\
vngtxtr.obj\
vnggen.obj\
vngpix8.obj\
vngrect8.obj\
vngitrn8.obj\
vngtri8.obj\
tri8.obj\
ztri8.obj\
atri8.obj\
aztri8.obj\
vnggtri8.obj\
gtri8.obj\
agtri8.obj\
azgtri8.obj\
zgtri8.obj\
vnggrtr8.obj\
zgrtri8.obj\
grtri8.obj\
vngttri8.obj\
lttri8.obj\
zlttri8.obj\
azltt8.obj\
altt8.obj\
lgttri8.obj\
zlgttri8.obj\
azlgtt8.obj\
algtt8.obj\
vngptri8.obj\
pttri8.obj\
zpttri8.obj\
pgttri8.obj\
zpgttri8.obj\
apttri8.obj\
azpttri8.obj\
apgttri8.obj\
azpgttr8.obj\
vngvpdd8.obj\
vngvpdb8.obj\
vngsblt8.obj\
vngvvp8.obj\
vngpoly8.obj\
vngitns8.obj\
zpghlin8.obj\
vgitrn16.obj\
vngvvp16.obj\
vgvpdb16.obj\
vgvpdd16.obj\
vngitn16.obj\
vgpoly16.obj\
vggrtr16.obj\
vgrect16.obj\
grtri16.obj\
zgrtri16.obj\
vngd3d.obj\
ddrwscrn.obj\
hybrscrn.obj\
d3dscrn.obj\
d3dtex.obj\
dibscrn.obj



#Ŀ
# First target                                                             
#

all: setstden $(LIB).pch $(LIB).lib

#Ŀ
# Standard make include                                                    
#

!include $(MYTH95ROOT)\inc\make.inc

#
#
#                                 Rules
#
#

#--- .c, .cpp, .asm setup in standard include ---

# Assembly
{..\8bpp\}.asm{}.obj:
   $(ASM) $(ASMOPTS) $<

{..\16bpp\}.asm{}.obj:
   $(ASM) $(ASMOPTS) $<

{..\newtri\}.asm{}.obj:
   $(ASM) $(ASMOPTS) $<

{..\screen\}.asm{}.obj:
   $(ASM) $(ASMOPTS) $<

{..\boards\}.asm{}.obj:
   $(ASM) $(ASMOPTS) $<

# C++
{..\}.cpp{}.obj:
        $(CPP) $(CCOPTIONS) /Yuvangogh.hpp /Fp$(LIB).pch  $<

{..\8bpp}.cpp{}.obj:
        $(CPP) $(CCOPTIONS) /Yuvangogh.hpp /Fp$(LIB).pch $<

{..\16bpp\}.cpp{}.obj:
        $(CPP) $(CCOPTIONS) /Yuvangogh.hpp /Fp$(LIB).pch $<

{..\newtri\}.cpp{}.obj:
        $(CPP) $(CCOPTIONS) /Yuvangogh.hpp /Fp$(LIB).pch $<

{..\screen}.cpp{}.obj:
        $(CPP) $(CCOPTIONS) $<

{..\boards\}.cpp{}.obj:
        $(CPP) $(CCOPTIONS) $<

#
#
#                              Dependencies
#
#

$(LIB).pch :
    del vngpch.obj

vngpch.obj : ..\vngpch.cpp
    $(CPP) /Ycvangogh.hpp /Fp$(LIB).pch $(CCOPTIONS) ..\$*.cpp

th3232.obj : ..\newtri\thlspec.cpp\
              ..\inc\thlspec.h
    $(CPP) /D_32X32 $(CCOPTIONS) ..\newtri\thlspec.cpp /Foth3232.obj

th3264.obj : ..\newtri\thlspec.cpp\
              ..\inc\thlspec.h
    $(CPP) /D_32X64 $(CCOPTIONS) ..\newtri\thlspec.cpp /Foth3264.obj

th32128.obj : ..\newtri\thlspec.cpp\
               ..\inc\thlspec.h
    $(CPP) /D_32X128 $(CCOPTIONS) ..\newtri\thlspec.cpp /Foth32128.obj

th32256.obj : ..\newtri\thlspec.cpp\
               ..\inc\thlspec.h
    $(CPP) /D_32X256 $(CCOPTIONS) ..\newtri\thlspec.cpp /Foth32256.obj

th6432.obj : ..\newtri\thlspec.cpp\
              ..\inc\thlspec.h
    $(CPP) /D_64X32 $(CCOPTIONS) ..\newtri\thlspec.cpp /Foth6432.obj

th6464.obj : ..\newtri\thlspec.cpp\
              ..\inc\thlspec.h
    $(CPP) /D_64X64 $(CCOPTIONS) ..\newtri\thlspec.cpp /Foth6464.obj

th64128.obj : ..\newtri\thlspec.cpp\
               ..\inc\thlspec.h
    $(CPP) /D_64X128 $(CCOPTIONS) ..\newtri\thlspec.cpp /Foth64128.obj

th64256.obj : ..\newtri\thlspec.cpp\
               ..\inc\thlspec.h
    $(CPP) /D_64X256 $(CCOPTIONS) ..\newtri\thlspec.cpp /Foth64256.obj

th12832.obj : ..\newtri\thlspec.cpp\
              ..\inc\thlspec.h
    $(CPP) /D_128X32 $(CCOPTIONS) ..\newtri\thlspec.cpp /Foth12832.obj

th12864.obj : ..\newtri\thlspec.cpp\
              ..\inc\thlspec.h
    $(CPP) /D_128X64 $(CCOPTIONS) ..\newtri\thlspec.cpp /Foth12864.obj

th128128.obj : ..\newtri\thlspec.cpp\
               ..\inc\thlspec.h
    $(CPP) /D_128X128 $(CCOPTIONS) ..\newtri\thlspec.cpp /Foth128128.obj

th128256.obj : ..\newtri\thlspec.cpp\
               ..\inc\thlspec.h
    $(CPP) /D_128X256 $(CCOPTIONS) ..\newtri\thlspec.cpp /Foth128256.obj

th25632.obj : ..\newtri\thlspec.cpp\
              ..\inc\thlspec.h
    $(CPP) /D_256X32 $(CCOPTIONS) ..\newtri\thlspec.cpp /Foth25632.obj

th25664.obj : ..\newtri\thlspec.cpp\
              ..\inc\thlspec.h
    $(CPP) /D_256X64 $(CCOPTIONS) ..\newtri\thlspec.cpp /Foth25664.obj

th256128.obj : ..\newtri\thlspec.cpp\
               ..\inc\thlspec.h
    $(CPP) /D_256X128 $(CCOPTIONS) ..\newtri\thlspec.cpp /Foth256128.obj

th256256.obj : ..\newtri\thlspec.cpp\
               ..\inc\thlspec.h
    $(CPP) /D_256X256 $(CCOPTIONS) ..\newtri\thlspec.cpp /Foth256256.obj


#Ŀ
# Library                                                                  
#

$(LIB).lib:   $(OBJS)
    -del $(LIB).lib
    $(LB) $(LBOPTS) /out:$(LIB).lib @<<
    $(OBJS: =
)
<<

release: all
    copy ..\inc\*.* $(MYTH95ROOT)\inc
    copy $(LIB).lib $(MYTH95ROOT)\lib

clean:
    @del *.obj
    @del *.res
    @del *.err
    @del *.lst
    @del *.ilk
    @del *.pdb
    @del *.pch

# End of makefile 
