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

# Macros
OVL	= 0		# Set this value to 1 for overlay version (SBBSOVL.EXE)
CC	= tcc
LD	= tlink
INCLUDE = \tcpp\include
LIB     = \tcpp\lib
OBJ	= obj
MODEL	= l
CFLAGS	= -d -C -m$(MODEL) -I$(INCLUDE)
LFLAGS  = /n /c
!if $(OVL)
OBJ	= o
C_OVL	= -Y -DOVERLAID
L_OVL	= /o
OVL_LIB = $(LIB)\overlay.lib
MAIN	= sbbsovl.exe
!else
MAIN	= sbbs.exe
!endif
OBJS	= bbsio.$(OBJ) comio.$(OBJ) conio.$(OBJ) datio.$(OBJ) filio.$(OBJ)\
	  logio.$(OBJ) main.$(OBJ) misc.$(OBJ) mods.$(OBJ) msgio.$(OBJ)\
	  rciol.obj scfgvars.$(OBJ) strio.$(OBJ) vars.$(OBJ) ver.$(OBJ)\
	  xfer_sec.$(OBJ) xtrn.$(OBJ)
OVLOBJS = chat.$(OBJ) initdata.$(OBJ) logonoff.$(OBJ) main_sec.$(OBJ)\
	  qwk.$(OBJ) scfglib.$(OBJ) useredit.$(OBJ) xfer.$(OBJ)\
	  xfermisc.$(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_OVL) $*.c

# Main EXE Link Rule
$(MAIN): $(OBJS) $(OVLOBJS)
    	@echo Linking $< ...
	$(LD) $(LDFLAGS) @&&!
$(LIB)\c0$(MODEL) $(OBJS) $(L_OVL) $(OVLOBJS)
!, $*, $*, $(OVL_LIB) $(LIB)\c$(MODEL).lib $(LIB)\math$(MODEL).lib\
	$(LIB)\emu.lib

# All .obj modules
bbsio.$(OBJ):	    $(HEADERS)
chat.$(OBJ):	    $(HEADERS)
comio.$(OBJ):	    $(HEADERS)
conio.$(OBJ):	    $(HEADERS)
datio.$(OBJ):	    $(HEADERS)
filio.$(OBJ):	    $(HEADERS)
initdata.$(OBJ):    $(HEADERS)
logio.$(OBJ):	    $(HEADERS)
logonoff.$(OBJ):    $(HEADERS)
main.$(OBJ):	    $(HEADERS) reg.h # ATTENTION: Delete this line!
main_sec.$(OBJ):    $(HEADERS)
misc.$(OBJ):	    $(HEADERS)
mods.$(OBJ):	    $(HEADERS)
msgio.$(OBJ):	    $(HEADERS)
qwk.$(OBJ):	    $(HEADERS)
scfglib.$(OBJ):     $(HEADERS)
scfgvars.$(OBJ):    $(HEADERS)
strio.$(OBJ):	    $(HEADERS)
useredit.$(OBJ):    $(HEADERS)
vars.$(OBJ):	    $(HEADERS)
ver.$(OBJ):	    $(OBJS) $(OVLOBJS) defs.h
xfer.$(OBJ):	    $(HEADERS)
xfermisc.$(OBJ):    $(HEADERS)
xfer_sec.$(OBJ):    $(HEADERS)
xtrn.$(OBJ):	    $(HEADERS)
