##################################################################
# Makefile for SBL (Synchronet BBS List Online External Program) #
# For use with Turbo C++ 			  		 #
# Tabstop=8				 	  		 #
##################################################################

# Macros
CC	= bcc
LD	= tlink
SDK	= ..\sdk
INCLUDE = \bc\include;$(SDK)
LIB     = \bc\lib
MODEL	= l
CFLAGS  = -d -C -m$(MODEL) -I$(INCLUDE)
LFLAGS  = /n /c
OBJS    = xsdk.obj xsdkvars.obj $(SDK)\mswait$(MODEL).obj
HEADERS = $(SDK)\xsdk.h $(SDK)\xsdkdefs.h $(SDK)\xsdkvars.c sbldefs.h

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

# Main EXE Link Rule
sbl.exe: $(OBJS) sbl.obj
    	@echo Linking $< ...
	$(LD) $(LFLAGS) @&&!
$(LIB)\c0$(MODEL) $(OBJS) sbl.obj
!, $*, $*, $(LIB)\c$(MODEL).lib $(LIB)\math$(MODEL).lib $(LIB)\emu.lib

# All .obj modules
sbl.obj: $(HEADERS)

xsdk.obj: $(SDK)\xsdk.c $(HEADERS)
	@echo Compiling $(SDK)\$*.c to $*.obj ...
	$(CC) $(CFLAGS) -c $(SDK)\$*.c

xsdkvars.obj: $(SDK)\xsdkvars.c $(SDK)\xsdkdefs.h
	@echo Compiling $(SDK)\$*.c to $*.obj ...
	$(CC) $(CFLAGS) -c $(SDK)\$*.c
