##############################################
# Makefile for Synchronet BBS Config Program #
# For use with Borland C++ for DOS or OS/2   #
##############################################

# Macros
CC	= bcc
LD	= tlink
!ifdef __OS2__
OS	= OS2
INCLUDE = c:\bcos2\include;..;..\..\uifc;..\smb
LIB	= c:\bcos2\lib
CFLAGS	= -d -C -I$(INCLUDE) -DSCFG
LFLAGS  = -c
!else
OS      = DOS
INCLUDE = n:\bc31\include;..;..\..\uifc;..\smb
LIB	= n:\bc31\lib
MODEL	= l
CFLAGS	= -d -N -C -Y -m$(MODEL) -I$(INCLUDE) -DSCFG
LFLAGS	= -n -c
!endif
MAIN	= $(OS)\scfg.exe
!ifndef __OS2__
OBJS	= ..\..\lciol\lciol$(MODEL).obj $(OS)\mswait.obj
!endif
OBJS	= $(OBJS) $(OS)\scfgvars.obj
OVLOBJS = $(OS)\scfg.obj $(OS)\scfgnode.obj $(OS)\scfgxfer.obj\
	$(OS)\scfgnet.obj $(OS)\scfgxtrn.obj $(OS)\scfgsys.obj\
	$(OS)\scfgmsg.obj $(OS)\scfglib.obj $(OS)\scfgmisc.obj\
	$(OS)\scfgchat.obj $(OS)\uifc.obj $(OS)\scfgmdm.obj\
	$(OS)\smblib.obj $(OS)\smbvars.obj
HEADERS = scfg.h ..\..\uifc\uifc.h ..\sbbsdefs.h ..\gen_defs.h

# Implicit C Compile Rule
{.}.c.obj:
	@echo Compiling (I) $< to $@ ...
        $(CC) $(CFLAGS) -n$(OS) -c $<

# Main EXE Link Rule
$(MAIN): $(OBJS) $(OVLOBJS)
    	@echo Linking $< ...
!ifdef __OS2__
	$(LD) $(LFLAGS) @&&+
$(LIB)\c02.obj $(OBJS) $(OVLOBJS)
+, $*, $*, $(LIB)\os2.lib $(LIB)\c2.lib
!else
	$(LD) $(LFLAGS) @&&+
$(LIB)\c0$(MODEL).obj $(OBJS) /o $(OVLOBJS)
+, $*, $*, $(LIB)\overlay.lib $(LIB)\c$(MODEL).lib $(LIB)\math$(MODEL).lib\
	$(LIB)\emu.lib
!endif

# Global Variables
$(OS)\scfgvars.obj: ..\scfgvars.c ..\sbbsdefs.h
	@echo Compiling ..\$&.c to $< ...
	$(CC) $(CFLAGS) -c -n$(OS) ..\$&.c

# Shared Functions
$(OS)\scfglib.obj: ..\sbbs.h ..\sbbsdefs.h ..\scfglib.c ..\scfgvars.c
	@echo Compiling ..\$&.c to $< ...
	$(CC) $(CFLAGS) -c -n$(OS) ..\$&.c

# Local Menu Routines
$(OS)\uifc.obj: ..\..\uifc\uifc.c ..\..\uifc\uifc.h
	@echo Compiling ..\..\uifc\$&.c to $< ...
	$(CC) $(CFLAGS) -c -n$(OS) ..\..\uifc\$&.c

# SMBLIB Functions 
$(OS)\smblib.obj: ..\smb\smblib.c ..\smb\smblib.h ..\smb\smbdefs.h
	@echo Compiling ..\smb\$&.c to $< ...
	$(CC) $(CFLAGS) -c -n$(OS) ..\smb\$&.c

# SMBLIB Variables
$(OS)\smbvars.obj: ..\smb\smbvars.c ..\smb\smblib.h ..\smb\smbdefs.h
	@echo Compiling ..\smb\$&.c to $< ...
	$(CC) $(CFLAGS) -c -n$(OS) ..\smb\$&.c

$(OS)\scfg.obj:       $(HEADERS)
$(OS)\scfgnode.obj:   $(HEADERS)
$(OS)\scfgchat.obj:   $(HEADERS)
$(OS)\scfgmisc.obj:   $(HEADERS)
$(OS)\scfgmsg.obj:    $(HEADERS)
$(OS)\scfgnet.obj:    $(HEADERS)
$(OS)\scfgsys.obj:    $(HEADERS)
$(OS)\scfgxtrn.obj:   $(HEADERS)
$(OS)\scfgxfer.obj:   $(HEADERS)
$(OS)\scfgmdm.obj:    $(HEADERS)
