###############################
# 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 -N -m$(MODEL) -I$(INCLUDE)
LDFLAGS = /n /c
OBJS    = bbsio.obj chat.obj comio.obj conio.obj datio.obj filio.obj\
	  initdata.obj logio.obj logonoff.obj main.obj main_sec.obj misc.obj\
	  mods.obj msgio.obj rciol.obj scfglib.obj scfgvars.obj strio.obj\
	  useredit.obj vars.obj ver.obj xfer.obj xfermisc.obj xfer_sec.obj\
	  xtrn.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) -c $*.c

# Main EXE Link Rule
sbbs.exe: $(OBJS)
    	@echo Linking $< ...
	$(LD) $(LDFLAGS) @&&!
$(LIB)\c0$(MODEL) $(OBJS)
!, $*, $*, $(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
main_sec.obj:	$(HEADERS)
misc.obj:	$(HEADERS)
mods.obj:	$(HEADERS)
msgio.obj:	$(HEADERS)
scfglib.obj:	$(HEADERS)
scfgvars.obj:	$(HEADERS)
strio.obj:	$(HEADERS)
useredit.obj:	$(HEADERS)
vars.obj:	$(HEADERS)
ver.obj:	$(OBJS) defs.h
xfer.obj:	$(HEADERS)
xfermisc.obj:	$(HEADERS)
xfer_sec.obj:	$(HEADERS)
xtrn.obj:	$(HEADERS)
