#
# Makefile for Utility.lib
#
# Environment variable Requirements:
#   
#    INCLUDE=foo           // can be set to anything, must be set
#    PATH=                 // must have proper nmake on path
#    FEDROOT=<path>        // MUST point to base of fed src enlistment
#
# nmake args:
#
#   Clean        // will delete all files in destination dir
#   Full         // will Clean, then build all derived files
#   Shell        // opens os-specific cmd/command shell (helps to debug build)
#   RETAIL=      // builds a retail build (default is DEBUG)
#                // no argument is used for debug builds
#
#
#  All derived files (temp files, .res, output of midl, *.obj, *.exe/.dll...
#  are placed directly into the appropriate tree under $(FEDROOT)\Objs.

#  The $(FEDROOT)\Objs tree is created on demand.
#  Since no derived files are placed in the source tree, multiple builds
#  can be run SIMULTANEOUSLY.


SRCROOT=_utility
MAINTARGROOT=Utility
MAINTARGEXT=lib
INCLUDELOCAL=$(FEDSRC)\_Utility;$(FEDSRC)\WinTrek;$(FEDSRC)\ZLib
PCHROOT=pch
PCHINC=$(FEDSRC)\ZLib\*.h $(FEDSRC)\_utility\*.h $(FEDSRC)\zone\zauth.h

!include "..\makefile.inc"

OBJS= $(DESTDIR)\Utility.obj        \
      $(DESTDIR)\KDroot.obj         \
      $(DESTDIR)\KDnode.obj         \
      $(DESTDIR)\HitTest.obj        \
      $(DESTDIR)\CRC.obj            \
      $(DESTDIR)\CollisionEntry.obj \
      $(DESTDIR)\CollisionQueue.obj \
!IFNDEF DREAMCAST
      $(DESTDIR)\Messages.obj       \
!ENDIF
      $(DESTDIR)\Endpoint.obj       \
      $(DESTDIR)\ZAuth.obj          \
      $(DESTDIR)\allegdb.obj 

LIBARGS= $(NOLOGO) /out:$(MAINTARGFULLPATH)

#
# Dependecies start here
#

$(MAINTARGFULLPATH): $(DESTDIR) $(OBJS)
    lib $(LIBARGS) $(OBJS) $(DESTDIR)\pch.obj

$(DESTDIR)\Utility.obj:        $(PCHFILE)
$(DESTDIR)\messages.obj:       $(PCHFILE)
$(DESTDIR)\KDroot.obj:         $(PCHFILE)
$(DESTDIR)\KDnode.obj:         $(PCHFILE)
$(DESTDIR)\HitTest.obj:        $(PCHFILE)
$(DESTDIR)\CRC.obj:            $(PCHFILE)
$(DESTDIR)\CollisionEntry.obj: $(PCHFILE)
$(DESTDIR)\CollisionQueue.obj: $(PCHFILE)
$(DESTDIR)\Endpoint.obj:       $(PCHFILE)
$(DESTDIR)\ZAuth.obj:          $(PCHFILE)
$(DESTDIR)\AllegDB.obj:        $(PCHFILE)
