###############################
# Makefile for Synchronet UTI #
# For use with Watcom C/C++   #
# Tabstop=8		      #
###############################

!ifndef OS
OS	= DOS
!endif

!ifeq OS DOS
CC	= *wcc
!else
CC	= *wcc386
!endif

LD	= *wlink
INCLUDE = \watcom\h;..;..\smb
!ifeq OS DOS
CFLAGS	= -I$(INCLUDE) -fh=$*.pch -bt=$(OS) -fo=$(OS)\ -ml
!else
CFLAGS	= -I$(INCLUDE) -fh=$*.pch -bt=$(OS) -fo=$(OS)\
!endif

!ifeq OS DOS
SYSTEM  = DOS
!endif
!ifeq OS OS2
SYSTEM  = OS2V2
!endif
!ifeq OS DOSX
SYSTEM  = DOS4G
!endif

LFLAGS  = option stack=16k system $(SYSTEM)

OBJS	= $(OS)\scfgvars.obj $(OS)\scfglib.obj $(OS)\uti.obj $(OS)\ars.obj
SMB	= $(OS)\smbvars.obj $(OS)\smblib.obj
LZH	= $(OS)\lzh.obj
HEADERS = sbbs.h sbbsdefs.h scfgvars.c smblib.h smbvars.c smbdefs.h

# Implicit C Compile Rule
.c: .;..;..\smb
.h: .;..;..\smb
.c.obj:
	@echo Compiling (I) $[@ to $@ ...
        $(CC) $(CFLAGS) $[@

all: $(OS)\utilist.exe &
     $(OS)\utihigh.exe &
     $(OS)\utiexprt.exe &
     $(OS)\utilstrd.exe &
     $(OS)\utiimprt.exe &
     $(OS)\utiver.exe

$(OS)\utilist.exe:	$(OS)\utilist.obj $(OBJS)
	@echo Linking $* ...
	$(LD) $(LFLAGS) file { $< }

$(OS)\utihigh.exe:	$(OS)\utihigh.obj $(OBJS) $(SMB)
	@echo Linking $* ...
	$(LD) $(LFLAGS) file { $< }

$(OS)\utiexprt.exe:	$(OS)\utiexprt.obj $(OBJS) $(SMB) $(LZH)
	@echo Linking $* ...
	$(LD) $(LFLAGS) file { $< }

$(OS)\utiimprt.exe:	$(OS)\utiimprt.obj $(OBJS) $(SMB) $(LZH)
	@echo Linking $* ...
	$(LD) $(LFLAGS) file { $< }

$(OS)\utilstrd.exe:	$(OS)\utilstrd.obj $(OBJS)
	@echo Linking $* ...
	$(LD) $(LFLAGS) file { $< }

$(OS)\utiver.exe:	$(OS)\utiver.obj
	$(CC) utiver
	$(LD) $(LFLAGS) file { $< }

$(OS)\smbvars.obj::	smbvars.c smbdefs.h
$(OS)\smblib.obj::	smblib.c smbdefs.h smblib.h smbvars.c
$(OS)\lzh.obj:: 	lzh.c lzh.h
$(OS)\scfgvars.obj::	scfgvars.c smbdefs.h
$(OS)\ars.obj:		ars.c ars_defs.h

# Shared Functions
$(OS)\scfglib.obj: ..\sbbs.h ..\sbbsdefs.h ..\scfglib.c ..\scfgvars.c
	@echo Compiling ..\$*.c to $*.obj ...
	$(CC) $(CFLAGS) &
-DNO_FILE_CFG &
-DNO_XTRN_CFG &
-DNO_CMDS_CFG &
-DNO_TEXT_CFG &
-DNO_CHAT_CFG &
..\$*.c

utiimprt.obj:	uti.h
utiexprt.obj:	uti.h
utilstrd.obj:	uti.h
utihigh.obj:	uti.h
utilist.obj:	uti.h
utiver.obj:	uti.h

