#=========================================================
#
# nmake             - build DEBUG version (default)
# nmake RELEASE=1   - build RELEASE version (nmake clean first!)
#
#=========================================================
#
# Default definitions
#
NAME=db

!if "$(RELEASE)"==""
RELEASE=0
!endif

DEFS=/DSTRICT
ROOT=..\..\..\..
DEVTREE = $(ROOT)\dev
DEVCOMMON = $(DEVTREE)\tools\common
DEVC8 = $(DEVTREE)\tools\c816
DEVINC = $(DEVTREE)\inc16;$(DEVTREE)\sdk\inc16;$(DEVC8)\inc
DEVLIB = $(DEVC8)\lib;$(DEVTREE)\lib16;$(DEVTREE)\sdk\lib16;.
MAPSYM = $(DEVCOMMON)\mapsym.exe
RC = $(DEVTREE)\sdk\bin\rc.exe
CC = $(DEVC8)\bin\cl.exe
MASM = $(DEVTREE)\tools\masm\ml.exe
LINK = $(DEVC8)\bin\link.exe
IMPLIB = $(DEVC8)\bin\implib.exe
H2INC = $(DEVCOMMON)\asm6h2nc.exe
INCLUDES = $(DEVCOMMON)\includes.exe

USERINC = ..\..\record.mgr; ..\..\inc; 

ALL_INC=$(DEVINC);$(USERINC)

#=========================================================
#
# Debug options
#
DEBUG_CFLAGS=
DEBUG_AFLAGS=
DEBUG_LFLAGS=

!if $(RELEASE)==0

DEBUG_LFLAGS=/CODEVIEW
DEBUG_CFLAGS=/DDEBUG /Zi
DEBUG_AFLAGS=/DDEBUG /Zi

!endif

#=========================================================
#
# Default compiler, assembler, linker flags
#
# CFLAGS=-nologo $(DEBUG_CFLAGS) /W3 /c /AS /Owcgelsn /G2s /Gc /GA /Zp /Zd $(DEFS)
CFLAGS=-c -AS -G2s -Zp -W3  -Zid -Od
HIFLAGS= $(DEBUG_CFLAGS) /W3 /c /AS /Owcgelsn /G2s /Gc /Zp /Zd $(DEFS)
AFLAGS=/nologo $(DEBUG_AFLAGS) /c /Cp /W2 /Zd $(DEFS)
LFLAGS=$(DEBUG_LFLAGS) /NOD /NOE /MAP /LI

#=========================================================
#
# Libraries
#
LIBS=slibce


#=========================================================
#
# Build rules
#
.SUFFIXES: .c .asm .obj

.c.obj:
	set INCLUDE=$(ALL_INC)
    $(CC) $(CFLAGS) $*.c

.asm.obj:
	set INCLUDE=$(ALL_INC)
    $(MASM) $(AFLAGS) $*.asm

.asm.lst:
	set INCLUDE=$(ALL_INC)
    $(MASM) $(AFLAGS) /Fl$*.lst $*.asm

#=========================================================
#
# Build dependencies
#
OBJ = db.obj

target: $(NAME).exe

$(NAME).exe: makefile.w97 $(OBJ)
    set LIB=$(DEVLIB)
    $(LINK) $(LFLAGS) @<<
$(OBJ)
$(NAME).exe
$(NAME).map
$(LIBS);
<<
    $(MAPSYM) $(NAME)

clean:
    -del *.obj
    -del $(NAME).exe
    -del $(NAME).map
    -del $(NAME).sym

depend:
    set INCLUDE=$(ALL_INC)
    $(INCLUDES) -I. -i -e -S. -L. *.asm >depend.mk
    $(INCLUDES) -I. -i -e -S. -L. *.c >>depend.mk
    $(INCLUDES) -I. -i -e -S. -L. *.h >>depend.mk
    $(INCLUDES) -I. -i -e -S. -L. *.inc >>depend.mk
    

#=========================================================
#
# File dependencies
#

!if exist(depend.mk)
!include depend.mk
!else
!message Warning: DEPEND.MK not found.
!endif