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

# Macros
CC	= tcc
LD	= tlink
INCLUDE = \tcpp\include
LIB     = \tcpp\lib
MODEL	= l
CFLAGS	= -d -C -Y -m$(MODEL) -I$(INCLUDE)
LFLAGS  = /n /c
MAIN	= sbbs.exe
OBJS	= bbs.obj comio.obj conio.obj data.obj file.obj logio.obj main.obj\
	  main_sec.obj misc.obj mods.obj msg.obj rciol.obj scfgvars.obj\
	  str.obj vars.obj xfer.obj xfer_sec.obj xtrn.obj
OVLOBJS = bbs_ovl.obj data_ovl.obj file_ovl.obj chat.obj initdata.obj\
	  logonoff.obj main_ovl.obj main_wfc.obj msg_ovl.obj qwk.obj\
	  scfglib.obj str_ovl.obj useredit.obj xfer_ovl.obj xtrn_ovl.obj
HEADERS = sbbs.h defs.h text.h mods.h vars.c scfgvars.c

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

# 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

# All .obj modules
bbs.obj:	 $(HEADERS)
bbs_ovl.obj:	 $(HEADERS)
chat.obj:	 $(HEADERS)
comio.obj:	 $(HEADERS)
conio.obj:	 $(HEADERS)
data.obj:	 $(HEADERS)
data_ovl.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)
mods.obj:	 $(HEADERS)
msg.obj:	 $(HEADERS)
msg_ovl.obj:	 $(HEADERS)
qwk.obj:	 $(HEADERS)
scfglib.obj:	 $(HEADERS)
scfgvars.obj:	 $(HEADERS)
str.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)
