# Makefile for DELEN, WIPE and XRD by Jason Hood, 4 August, 2000.
# I'm using DOS: Borland C/C++ 3.1, TLINK 7.1.30.1 and Borland Make 4.0.
#         Win32: Borland C++ 5.5, Turbo ILINK 5.00 and Borland Make 5.2.

OS = DOS
OS = WIN

!IF "$(OS)" == "DOS"
CC = bcc
MEM = -mc       # compact memory model
!ELSE
CC = bcc32
MEM =
!ENDIF

!IFNDEF CPU
CPU = -3
!ENDIF
# word alignment, merge duplicate strings, generate for
# speed, fastest code, optimise for size, no floating point, warnings
CFLAGS = $(MEM) -a -d -G -O2 -Os -f- -w -w-sig -w-obs $(CPU)
# no map file, ignore default libraries, case sensitive symbols, warn if
# duplicate symbols.
LFLAGS = $(MEM) -lxncd

.c.obj:
        $(CC) -c $(CFLAGS) {$< }

OBJS = 4descr.obj dtsrange.obj path.obj stdstr.obj \
       regexpr.obj lfn.obj fat32.obj

DELENOBJS = delen.obj $(OBJS)
WIPEOBJS  = wipe.obj wipefuns.obj $(OBJS) numstr.obj
XRDOBJS   = xrd.obj $(OBJS)

all: delen.exe wipe.exe xrd.exe

delen.exe: $(DELENOBJS)
        $(CC) $(LFLAGS) -edelen.exe @&&%
$(DELENOBJS)
%

wipe.exe: $(WIPEOBJS)
        $(CC) $(LFLAGS) -ewipe.exe @&&%
$(WIPEOBJS)
%

xrd.exe: $(XRDOBJS)
        $(CC) $(LFLAGS) -exrd.exe @&&%
$(XRDOBJS)
%

HEADERS = 4descr.h dtsrange.h path.h regexpr.h stdstr.h lfn.h fat32.h

delen.obj: delen-w.c deldefs.h xrddefs.h $(HEADERS)
        $(CC) -c $(CFLAGS) -odelen.obj delen-w.c

wipe.obj: delen-w.c deldefs.h xrddefs.h $(HEADERS)
        $(CC) -c $(CFLAGS) -owipe.obj -DWIPE delen-w.c

wipefuns.obj: wipefuns.c
        $(CC) -c $(CFLAGS) -DWIPE wipefuns.c

xrd.obj: xrd.c xrddefs.h $(HEADERS)

4descr.obj: 4descr.c stdstr.h lfn.h
dtsrange.obj: dtsrange.c stdstr.h
fat32.obj: fat32.c fat32.h
lfn.obj: lfn.c lfn.h
numstr.obj: numstr.c
path.obj: path.c
regexpr.obj: regexpr.c stdstr.h
stdstr.obj: stdstr.c stdstr.h
