######################################################################
## BC++ 3.1
## C++ makefile for example programs
## Windows Tech Journal, OOP Alley, June 1993
## Demonstrates DiskTutor collection class library
## Greg Voss
######################################################################
DEBUG =        # defines DEBUG

!if $d(DEBUG)
CCDEBUG = -v
!else
CCDEBUG =
!endif


MODEL = s       # small memory model
USR_INCLUDE_DIR =   ..\include
USR_LIB_DIR     =   ..\lib
USRLIB=dt.lib

CC = bcc
I = c:\borlandc\include
CFLAGS = $(CCDEBUG) -m$(MODEL) -I$(USR_INCLUDE_DIR)
LFLAGS = $(CCDEBUG) -m$(MODEL) -L$(USR_LIB_DIR)


######################################################################
## Rules
######################################################################
.obj.exe:
    $(CC) $(LFLAGS)  $<

.cpp.obj:
    $(CC) $(CFLAGS) -c $<


######################################################################
## Default targets
######################################################################
all:                    \
        xset.exe        \
        xstack.exe      \
        xsortclt.exe    \
        xlist.exe       \


######################################################################
## Explicit rules
######################################################################
xset.exe: xset.obj
    $(CC) $(LFLAGS) $*.obj $(USRLIB)

xstack.exe: xstack.obj
    $(CC) $(LFLAGS) $*.obj $(USRLIB)

xsortclt.exe: xsortclt.obj
    $(CC) $(LFLAGS) $*.obj $(USRLIB)

xlist.exe: xlist.obj
    $(CC) $(LFLAGS) $*.obj $(USRLIB)
                                                  

######################################################################
## Verification Test Suite
## Requires diff.exe (installed in ..\dtlibv)
##
## NOTE:    The last test (xstack) should print an error message
##          to stderr when pop is performed on an empty stack.
######################################################################
DIFF_DIR=..\dtlibv              ## source directory for diff.exe
verify:
        -xset.exe        >out.v
            -$(DIFF_DIR)\diff out.v  set.v
        -xsortclt.exe    >out.v
            -$(DIFF_DIR)\diff out.v  sortcltn.v
        -xlist.exe       >out.v
            -$(DIFF_DIR)\diff out.v  list.v
        -xstack.exe      >out.v
            -$(DIFF_DIR)\diff out.v  stack.v
        -del out.v

clean:
    del *.obj

