####################################################################
# Makefile for SBJ (Synchronet Black Jack Online External Program) #
# For use with Turbo C++ 			  		   #
# Tabstop=8				 	  		   #
####################################################################

# Macros
CC	= tcc
LD	= tlink
SDK	= ..\sdk
INCLUDE = \tcpp\include;$(SDK)
LIB     = \tcpp\lib
MODEL	= s
CFLAGS  = -d -C -m$(MODEL) -I$(INCLUDE)
LDFLAGS = /n /c
OBJS    = xsdk.obj xsdkvars.obj $(SDK)\fdelay$(MODEL).obj
HEADERS = $(SDK)\xsdk.h $(SDK)\xsdkdefs.h $(SDK)\xsdkvars.c

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

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

# Clean up program 
sbjclean.exe: $(OBJS) sbjclean.obj sbj.c
    	@echo Linking $< ...
	$(LD) $(LDFLAGS) @&&!
$(LIB)\c0$(MODEL) $(OBJS) sbjclean.obj
!, $*, $*, $(LIB)\c$(MODEL).lib $(LIB)\math$(MODEL).lib $(LIB)\emu.lib

# All .obj modules
sbj.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
