MODEL=s

# For stack checking: add '-N' parameter to below line

CFLAG1  = -m$(MODEL) -v -d- -I.;$(MAXDIR);$(PROTDIR);
CFLAG2  = -o.\${<D}\$(MODE)\$*

CFLAGS  = $(CFLAG1) $(CFLAG2)


all: mecca accem silt scanbld ansi2bbs ansi2mec cvtusr editcall piper oracle


mecca:          $(EXEDIR)\mecca.exe
accem:          $(EXEDIR)\accem.exe
silt:           $(EXEDIR)\silt.exe
scanbld:        $(EXEDIR)\scanbld.exe
ansi2bbs:       $(EXEDIR)\ansi2bbs.exe
ansi2mec:       $(EXEDIR)\ansi2mec.exe
cvtusr:         $(EXEDIR)\cvtusr.exe
editcall:       $(EXEDIR)\editcall.exe
piper:          $(EXEDIR)\piper.exe
oracle:         $(EXEDIR)\oracle.exe




#
# MECCA and ACCEM
#


#
# Init module -- used by both MECCA and ACCEM
#

init.obj:  mecca.h

#
# MECCA
#

MEC_OBJS = $(MODE)\MECCA.OBJ $(MODE)\INIT.OBJ

mecca.c: mecca_vb.h
        touch mecca.c
        touch accem.c

# If you have QSORT available, stick this command right before the
# above "touch mecca.c" line:
#
#       qsort mecca_vb.h

$(MODE)\mecca.obj: mecca.h mecca_vb.h mecca.c

$(EXEDIR)\mecca.exe: $(MEC_OBJS)
        $(LINK) $(STARTUP) $(MEC_OBJS),$@,nul,$(LIBS) $(LFLAGS)

#
# ACCEM
#

ACC_OBJS = $(MODE)\ACCEM.OBJ $(MODE)\INIT.OBJ

$(MODE)\accem.obj: mecca.h mecca_vb.h

$(EXEDIR)\accem.exe: $(ACC_OBJS)
        $(LINK) $(STARTUP) $(ACC_OBJS),$@,nul,$(LIBS) $(LFLAGS)



#
# SILT
#

SIL_OBJS = $(MODE)\SILT.OBJ $(MODE)\SILT_M.OBJ

$(SIL_OBJS): $(MAXDIR)\option.h silt.h $(MAXDIR)\max.h

$(EXEDIR)\silt.exe: $(SIL_OBJS)
        $(LINK) $(STARTUP) $(SIL_OBJS),$@,nul,$(LIBS) $(LFLAGS)


#
# SCANBLD
#

SCA_OBJS = $(MODE)\SCANBLD.OBJ

$(SCA_OBJS): $(MAXDIR)\max.h

$(EXEDIR)\scanbld.exe: $(SCA_OBJS)
        $(LINK) $(STARTUP) $(SCA_OBJS),$@,nul,$(LIBS) $(LFLAGS)


#
# ANSI2BBS and ANSI2MEC
#

$(MODE)\ansi2bbs.obj: ansi2bbs.c
        $(CC) $(CFLAG1) -DANSI2BBS -o$(MODE)\ansi2bbs ansi2bbs

$(MODE)\ansi2mec.obj: ansi2bbs.c
        $(CC) $(CFLAG1) -DANSI2MEC -o$(MODE)\ansi2mec ansi2bbs

$(EXEDIR)\ansi2bbs.exe: $(MODE)\ansi2bbs.obj
        $(LINK) $(STARTUP) $(MODE)\ansi2bbs,$@,nul,$(LIBS) $(LFLAGS)

$(EXEDIR)\ansi2mec.exe: $(MODE)\ansi2mec.obj
        $(LINK) $(STARTUP) $(MODE)\ansi2mec,$@,nul,$(LIBS) $(LFLAGS)

#
# CVTUSR
#

$(MODE)\cvtusr.obj: cvtusr.c

$(EXEDIR)\cvtusr.exe: $(MODE)\cvtusr.obj
        $(LINK) $(STARTUP) $(MODE)\cvtusr,$@,nul,$(LIBS) $(LFLAGS)

#
# EDITCALL
#

$(MODE)\editcall.obj: editcall.c

$(EXEDIR)\editcall.exe: $(MODE)\editcall.obj
        $(LINK) $(STARTUP) $(MODE)\editcall,$@,nul,$(LIBS) $(LFLAGS)

#
# PIPER
#

$(MODE)\piper.obj: piper.c

$(EXEDIR)\piper.exe: $(MODE)\piper.obj
        $(LINK) $(STARTUP) $(MODE)\piper,$@,nul,$(LIBS) $(LFLAGS)


#
# ORACLE
#

OD = $(MAXDIR)\o$(MODE)
MD = $(MAXDIR)\$(MODE)

ORC_OBJS = $(OD)\max.obj      $(OD)\max_in.obj      $(OD)\max_out.obj  \
           $(OD)\max_misc.obj $(OD)\max_disp.obj    $(OD)\max_init.obj \
           $(OD)\max_selu.obj $(OD)\fos.obj         $(OD)\orc.obj

ORC_ASM  = $(MD)\misc.obj     $(MD)\sleep.obj       $(MD)\callfos.obj  \
           $(MD)\ddosinst.obj



$(ORC_OBJS): $(MAXDIR)\max.h
        $(CC) $(CFLAG1) -DORACLE -o$(MAXDIR)\o$(MODE)\$* $(MAXDIR)\$*

$(EXEDIR)\oracle.exe: $(ORC_OBJS)
        $(LINK) $(STARTUP) $(ORC_OBJS) $(ORC_ASM),$(EXEDIR)\oracle.exe,nul,$(LIBS) $(LFLAGS)


