###############################
# Makefile for Synchronet BBS #
# For use with Turbo C++      #
# Tabstop=8		      #
###############################

# Macros
CC	= bcc
LD	= tlink
INCLUDE = \bc\include
LIB     = \bc\lib
MODEL	= l
!if $(N)
NODES	= -DMAX_NODES=$(N)
!endif
!if $(E)
EXPIRE  = -DEXPIRE=$(E)
!endif
CFLAGS	= -d -H=sbbs.sym -C -Y -m$(MODEL) -I$(INCLUDE) -DSBBS $(NODES) \
	$(EXPIRE)
LFLAGS  = /n /c
MAIN	= sbbs.exe
OBJS	= comio.obj conio.obj data.obj logio.obj main.obj\
	  msg.obj misc.obj rciol.obj scfgvars.obj\
	  vars.obj xtrn.obj
OVLOBJS = bbs_ovl.obj data_ovl.obj file.obj file_ovl.obj chat.obj fido.obj\
	  initdata.obj logonoff.obj main_ovl.obj main_wfc.obj main_sec.obj\
	  msg_ovl.obj qwk.obj readmsgs.obj scfglib.obj str_ovl.obj\
	  useredit.obj xfer_ovl.obj xfer.obj xfer_sec.obj xtrn_ovl.obj
HEADERS = sbbs.h defs.h text.h vars.c scfgvars.c

!if !$(UPGRADE)
# Implicit C Compile Rule
.c.obj:
	@echo Compiling $*.c to $*.obj ...
	$(CC) $(CFLAGS) -c $*.c
!endif

# Main EXE Link Rule
$(MAIN): $(OBJS) $(OVLOBJS) ver.obj
    	@echo Linking $< ...
	$(LD) $(LDFLAGS) @&&!
$(LIB)\c0$(MODEL) $(OBJS) ver.obj mswait.obj fdelay.obj /o $(OVLOBJS)
!, $*, $*, $(LIB)\overlay.lib $(LIB)\c$(MODEL).lib $(LIB)\math$(MODEL).lib\
	$(LIB)\emu.lib

!if !$(UPGRADE)
# All .obj modules
bbs_ovl.obj:	 $(HEADERS)
chat.obj:	 $(HEADERS)
comio.obj:	 $(HEADERS)
conio.obj:	 $(HEADERS)
data.obj:	 $(HEADERS)
data_ovl.obj:	 $(HEADERS)
fido.obj:	 $(HEADERS)
file.obj:	 $(HEADERS)
file_ovl.obj:	 $(HEADERS)
initdata.obj:	 $(HEADERS)
logio.obj:	 $(HEADERS)
logonoff.obj:	 $(HEADERS)
main.obj:	 $(HEADERS) reg.h # ATTENTION: Delete this line!
main_ovl.obj:	 $(HEADERS) reg.h # ATTENTION: Delete this line!
main_sec.obj:	 $(HEADERS)
main_wfc.obj:	 $(HEADERS) reg.h # ATTENTION: Delete this line!
misc.obj:	 $(HEADERS)
msg.obj:	 $(HEADERS)
msg_ovl.obj:	 $(HEADERS)
qwk.obj:	 $(HEADERS)
readmsgs.obj:	 $(HEADERS)
scfglib.obj:	 $(HEADERS)
scfgvars.obj:	 $(HEADERS)
str_ovl.obj:	 $(HEADERS)
useredit.obj:	 $(HEADERS)
vars.obj:	 $(HEADERS)
ver.obj:	 $(OBJS) $(OVLOBJS) defs.h
xfer.obj:	 $(HEADERS)
xfer_ovl.obj:	 $(HEADERS)
xfer_sec.obj:	 $(HEADERS)
xtrn.obj:	 $(HEADERS)
xtrn_ovl.obj:	 $(HEADERS)
!endif