#################################################################
# Makefile for DIBBS: Darren's Innovative Bulletin Board System #
#################################################################

INC=INCLUDE:		#possibly compressed compiler headers
DELETE=delete		#use rm for unix
AUXCFLG=-O		#auxiliary compile flags (-d5 or -O usually)
			#don't use -d4 or -d2;compiler bugs
SYMCHOICE=NODEBUG	#NODEBUG or ADDSYM

# You should uncomment one of the next three lines.
# You might want CBACK for FAM and CATCHRESNR or CRES for DIO

#STARTUP=CBACK
STARTUP=C
#STARTUP=CATCHRESNR

# If you use -w -rr, make this LIB:lcsr.lib
# If you use only -rr, make this LIB:lcr.lib
# If you use only -w, make this LIB:lcs.lib
# If you use neither -w nor -rr, make this LIB:lc.lib

SUPLIB=LIB:lcr.lib

CFLAGS= -i$(INC) -v -b1 -mat -rr1 -cafkrsu -q1w1e -d$(STARTUP) $(AUXCFLG)
#note that FAMgrep should always be compiled w/o stack checking (-v)

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#

DIBBS : DIO FAM DibbsFamGrep
    date >DIBBS

Install : DIO FAM DibbsFamGrep
    copy FAM DIBBS:
    copy DIO DIBBS:
    copy DibbsFamGrep DIBBS:

FAM : FAM.o MinRexx.o RexxGlue.o
    -BLink <WITH <
FROM LIB:$(STARTUP).o+FAM.o+MinRexx.o+RexxGlue.o
TO FAM
LIB $(SUPLIB)+LIB:amiga.lib
SMALLCODE SMALLDATA
# MAP t:map PLAIN
$(SYMCHOICE)
<

DibbsFamGrep : DibbsFamGrep.o
    -BLink <WITH <
FROM DibbsFamGrep.o
TO DibbsFamGrep
LIB $(SUPLIB)+LIB:amiga.lib
SMALLCODE SMALLDATA
# MAP t:map PLAIN
$(SYMCHOICE)
<

DIO : DIO.o MinRexx.o RexxGlue.o
    -BLink <WITH <
FROM LIB:$(STARTUP).o+DIO.o+MinRexx.o+RexxGlue.o
TO DIO
LIB $(SUPLIB)+LIB:amiga.lib
SMALLCODE SMALLDATA
$(SYMCHOICE)
<

DIO.o : DIO.c MinRexx.h
    LC $(CFLAGS) DIO.c

FAM.o : FAM.c FAM.h MinRexx.h low-mem.h
    LC $(CFLAGS) -dLMS FAM.c

DibbsFamGrep.o : DibbsFamGrep.c FAM.h
    LC $(CFLAGS) DibbsFamGrep.c

FreeDraw : FreeDraw.o MinRexx.o RexxGlue.o
    -BLink <WITH <
FROM LIB:c.o+FreeDraw.o+MinRexx.o+RexxGlue.o
TO FreeDraw
LIB $(SUPLIB)+LIB:amiga.lib
SMALLCODE SMALLDATA
$(SYMCHOICE)
<

MinRexx.o : MinRexx.c MinRexx.h
    LC -i$(INC) -b1 -mat -rr1 -cafkrsu -q1w1e $(AUXCFLG) MinRexx.c

FreeDraw.o : FreeDraw.c MinRexx.h
    LC -i$(INC) -dTALKTOREXX -cuws $(AUXCFLG) FreeDraw.c

RexxGlue.o : RexxGlue.a
    asm -i$(INC) RexxGlue.a

tags : MinRexx.c DIO.c FAM.c
    ctags MinRexx.c DIO.c FAM.c
    filenote tags "This is a comment"
    protect tags add hp
    protect tags sub e

zap : clean
    -$(DELETE) DIBBS
    -$(DELETE) tags
    -$(DELETE) FreeDraw
    -$(DELETE) DIO
    -$(DELETE) FAM
    -$(DELETE) DibbsFamGrep
    -$(DELETE) RunDir
    -$(DELETE) GrabMem

clean :
    -$(DELETE) \#?.tmp
    -$(DELETE) \#?.o
    -$(DELETE) prof\#?.out
    -$(DELETE) \#?.lnk
    -$(DELETE) t:\#?


