# include nmake macros for building Win32 applications

!include <ntwin32.mak>

!IF "$(CPU)" ==  "Alpha" 
mflags = $(cflags)
link = link32

!ELSE

mflags	= -c -As -G3 -Ox -MT -W3 -Di386=1 -DNDEBUG
link    = link
!ENDIF

all: Chess.exe

OBJS  = CHESS.obj INIT.obj BOARD.obj ABOUT.obj PIECE.obj \
        HITTEST.obj COLOR.obj TIMECNT.obj SEARCH.obj INITIALI.obj \
        EVAL.obj GLOBALS.obj DSP.obj MSWDSP.obj BOOK.obj CREATE.obj \
        SAVEOPEN.obj NUMDLG.obj INITMENU.obj REVIEW.obj STATS.obj \
        TEST.obj PROMOTE.obj Version.obj

BMPS = king.bmp kingm.bmp kingo.bmp pawn.bmp pawno.bmp pawnm.bmp \
       rook.bmp rooko.bmp rookm.bmp knight.bmp knightm.bmp knighto.bmp \
       bishop.bmp bishopm.bmp bishopo.bmp queen.bmp queenm.bmp queeno.bmp

ABOUT.obj : ABOUT.C
    $(cc) $(mflags) $(cvars) $*.c
    $(cvtobj) $*.obj

BOARD.obj : BOARD.C defs.h
    $(cc) $(mflags) $(cvars) $*.c
    $(cvtobj) $*.obj

BOOK.obj : BOOK.C gnuchess.h defs.h chess.h
    $(cc) $(mflags) $(cvars) $*.c
    $(cvtobj) $*.obj

CHESS.obj : CHESS.C gnuchess.h defs.h chess.h saveopen.h  color.h 
    $(cc) $(mflags) $(cvars) $*.c
    $(cvtobj) $*.obj

COLOR.obj : COLOR.C chess.h color.h
    $(cc) $(mflags) $(cvars) $*.c
    $(cvtobj) $*.obj

CREATE.obj : CREATE.C defs.h chess.h
    $(cc) $(mflags) $(cvars) $*.c
    $(cvtobj) $*.obj

DSP.obj : DSP.C gnuchess.h defs.h chess.h
    $(cc) $(mflags) $(cvars) $*.c
    $(cvtobj) $*.obj

EVAL.obj : EVAL.C gnuchess.h defs.h
    $(cc) $(mflags) $(cvars) $*.c
    $(cvtobj) $*.obj

GLOBALS.obj : GLOBALS.C gnuchess.h
    $(cc) $(mflags) $(cvars) $*.c
    $(cvtobj) $*.obj

HITTEST.obj : HITTEST.C defs.h
    $(cc) $(mflags) $(cvars) $*.c
    $(cvtobj) $*.obj

INIT.obj : INIT.C
    $(cc) $(mflags) $(cvars) $*.c
    $(cvtobj) $*.obj

INITIALI.obj : INITIALI.C gnuchess.h defs.h
    $(cc) $(mflags) $(cvars) $*.c
    $(cvtobj) $*.obj

INITMENU.obj : INITMENU.C gnuchess.h chess.h
    $(cc) $(mflags) $(cvars) $*.c
    $(cvtobj) $*.obj

MSWDSP.obj : MSWDSP.C gnuchess.h chess.h defs.h stats.h
    $(cc) $(mflags) $(cvars) $*.c
    $(cvtobj) $*.obj

NUMDLG.obj : NUMDLG.C chess.h
    $(cc) $(mflags) $(cvars) $*.c
    $(cvtobj) $*.obj

PIECE.obj : PIECE.C chess.h defs.h
    $(cc) $(mflags) $(cvars) $*.c
    $(cvtobj) $*.obj

PROMOTE.obj : PROMOTE.C chess.h
    $(cc) $(mflags) $(cvars) $*.c
    $(cvtobj) $*.obj

REVIEW.obj : REVIEW.C gnuchess.h chess.h defs.h
    $(cc) $(mflags) $(cvars) $*.c
    $(cvtobj) $*.obj

SAVEOPEN.obj : SAVEOPEN.C saveopen.h
    $(cc) $(mflags) $(cvars) $*.c
    $(cvtobj) $*.obj

SEARCH.obj : SEARCH.C gnuchess.h defs.h
    $(cc) $(mflags) $(cvars) $*.c
    $(cvtobj) $*.obj

STATS.obj : STATS.C gnuchess.h stats.h
    $(cc) $(mflags) $(cvars) $*.c
    $(cvtobj) $*.obj

TEST.obj : TEST.C gnuchess.h chess.h defs.h
    $(cc) $(mflags) $(cvars) $*.c
    $(cvtobj) $*.obj

TIMECNT.obj : TIMECNT.C timecnt.h chess.h
    $(cc) $(mflags) $(cvars) $*.c
    $(cvtobj) $*.obj

VERSION.obj: VERSION.c
    $(cc) $(mflags) $(cvars) $*.c
    $(cvtobj) $*.obj

CHESS.RES : chess.rc $(BMPS) color.dlg chess.ico timecnt.dlg saveopen.dlg \
            getnum.dlg review.dlg about.dlg stats.dlg test.dlg promote.dlg
    rc -r -fo Chess.tmp Chess.rc
    cvtres -$(CPU) Chess.tmp -o Chess.res
    del Chess.tmp

Chess.exe: $(OBJS) $(BMP) Chess.def Chess.res
    $(link) $(guiflags) -out:Chess.exe \
      CHESS.obj INIT.obj BOARD.obj ABOUT.obj PIECE.obj \
      HITTEST.obj COLOR.obj TIMECNT.obj SEARCH.obj INITIALI.obj \
      EVAL.obj GLOBALS.obj DSP.obj MSWDSP.obj BOOK.obj CREATE.obj \
      SAVEOPEN.obj NUMDLG.obj INITMENU.obj REVIEW.obj STATS.obj \
      TEST.obj PROMOTE.obj Version.obj \
      Chess.res $(guilibs)
