home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Devil's Doorknob BBS Capture (1996-2003)
/
devilsdoorknobbbscapture1996-2003.iso
/
WWIV2.ZIP
/
MAKEFILE.BCC
< prev
next >
Wrap
Text File
|
1993-01-03
|
7KB
|
286 lines
#############################################################################
#
# This is the makefile for BC++ 2.0.
#
# Rename this file to 'makefile.mak' to use it.
#
.autodepend
.nosilent
#############################################################################
#
# Define the paths for the various types of files.
#
SRC=.
OBJ=obj
EXE=exe
.path.c = $(SRC)
.path.obj = $(OBJ)
.path.exe = $(EXE)
.path.com = $(EXE)
#############################################################################
#
# Get 286 and 87 options. Define the env-var "87" or "286" and the
# corresponding type of executable will be built automatically
#
!if $d(87)
OPS87=-f87
LIB87=fp87
!else
LIB87=emu
!endif
!if $d(286)
OPS286=-1
!endif
#############################################################################
#
# Code to specify options for the overlays. Comment out these lines
# to not use overlays.
#
OVER_START = /o
OVER_END = /o-
OVER_LIB= overlay.lib
USE_OVERLAYS=
#############################################################################
#
# Define command lines to use.
#
!if $d(386)
COMPILER=bccx
!else
COMPILER=bcc
!endif
TCOPTS= -O -Z -d -ml -r -N- $(OPS87) $(OPS286) -c
TCC = $(COMPILER) $(TCOPTS) $(TCC_OPTS) -n$(OBJ) {$(SRC)\$&.c }
!if $d(USE_OVERLAYS)
TCC_NRM = $(COMPILER) -H=$(OBJ)\bbs.sym $(TCOPTS) $(TCC_OPTS) -Y -n$(OBJ) {$(SRC)\$&.c }
TCC_OVL = $(COMPILER) -H=$(OBJ)\bbs.sym $(TCOPTS) $(TCC_OPTS) -Yo -n$(OBJ) {$(SRC)\$&.c }
TCC_VER = $(COMPILER) $(TCOPTS) $(TCC_OPTS) -Y -n$(OBJ) version.c
!else
TCC_NRM = $(TCC)
TCC_OVL = $(TCC)
TCC_VER = $(COMPILER) $(TCOPTS) $(TCC_OPTS) -n$(OBJ) version.c
!endif
#############################################################################
#
# generic compilation rule
#
.c.obj:
$(TCC)
#############################################################################
#
#
# Normal, non-overlaid bbs files
#
BBS_NRM = \
bbs.obj bbsutl.obj bbsutl1.obj com.obj conio.obj connect1.obj\
extrn.obj modem.obj msgbase.obj msgbase1.obj shrink.obj sr.obj\
utility.obj xfer.obj strings.obj
BBS_O_NRM = \
$(OBJ)\bbs.obj $(OBJ)\bbsutl.obj $(OBJ)\bbsutl1.obj\
$(OBJ)\com.obj $(OBJ)\conio.obj $(OBJ)\connect1.obj\
$(OBJ)\extrn.obj $(OBJ)\modem.obj $(OBJ)\msgbase.obj\
$(OBJ)\msgbase1.obj $(OBJ)\shrink.obj $(OBJ)\sr.obj\
$(OBJ)\utility.obj $(OBJ)\xfer.obj $(OBJ)\strings.obj
#############################################################################
#
# Overlaid bbs files
#
BBS_OVL = \
batch.obj chnedit.obj defaults.obj diredit.obj gfiles.obj\
gfledit.obj lilo.obj misccmd.obj multmail.obj netsup.obj\
newuser.obj srrcv.obj srsend.obj subedit.obj subreq.obj\
sysopf.obj tedit.obj uedit.obj voteedit.obj xferovl.obj\
xfertmp.obj xinit.obj subxtr.obj
BBS_O_OVL = \
$(OBJ)\batch.obj $(OBJ)\chnedit.obj $(OBJ)\defaults.obj\
$(OBJ)\diredit.obj $(OBJ)\gfiles.obj $(OBJ)\gfledit.obj\
$(OBJ)\lilo.obj $(OBJ)\misccmd.obj $(OBJ)\multmail.obj\
$(OBJ)\netsup.obj $(OBJ)\newuser.obj $(OBJ)\srrcv.obj\
$(OBJ)\srsend.obj $(OBJ)\subedit.obj $(OBJ)\subreq.obj\
$(OBJ)\sysopf.obj $(OBJ)\tedit.obj $(OBJ)\uedit.obj\
$(OBJ)\voteedit.obj $(OBJ)\xferovl.obj $(OBJ)\xfertmp.obj\
$(OBJ)\xinit.obj $(OBJ)\subxtr.obj
#############################################################################
#
# Building everything requires bbs.exe, return.exe, and bbs.com.
#
all: bbs.exe return.exe bbs.com miniesm.exe
#############################################################################
#
# Building return.exe and bbs.com is easy.
#
return.exe: return.obj version.c
$(TCC_VER)
tlink /c /x @&&^
c0l $(OBJ)\return.obj $(OBJ)\version.obj
$*
nul
$(LIB87) mathl cl
^
bbs.com: loader.asm
@echo You do not really need to compile loader.asm, as bbs.com comes with
@echo the source code already. Put it in the $(EXE) directory to avoid
@echo this error if you do not have tasm installed.
tasm loader,$(OBJ)\loader.obj
tlink /c /x /t $(OBJ)\loader,$(EXE)\bbs.com
miniesm.exe: miniesm.c strings.c
$(TCC_NRM)
tlink /c /x @&&^
c0l $(OBJ)\miniesm.obj
$*
nul
$(LIB87) mathl cl
^
#############################################################################
#
# How to link the BBS
#
bbs.exe: $(BBS_NRM) $(BBS_OVL) version.c
$(TCC_VER)
tlink /c /x @&&^
c0l $(OBJ)\version.obj $(BBS_O_NRM) $(OVER_START) $(BBS_O_OVL) $(OVER_END)
$*
nul
$(LIB87) mathl $(OVER_LIB) cl
^
#############################################################################
#
# How to make non-overlaid BBS files
#
bbs.obj : bbs.c
$(TCC_NRM)
modem.obj : modem.c
$(TCC_NRM)
bbsutl.obj : bbsutl.c
$(TCC_NRM)
bbsutl1.obj : bbsutl1.c
$(TCC_NRM)
com.obj : com.c
$(TCC_NRM)
conio.obj : conio.c
$(TCC_NRM)
connect1.obj: connect1.c
$(TCC_NRM)
extrn.obj : extrn.c
$(TCC_NRM)
msgbase.obj : msgbase.c
$(TCC_NRM)
msgbase1.obj: msgbase1.c
$(TCC_NRM)
shrink.obj : shrink.c
$(TCC_NRM)
sr.obj : sr.c
$(TCC_NRM)
utility.obj : utility.c
$(TCC_NRM)
xfer.obj : xfer.c
$(TCC_NRM)
strings.obj : strings.c
$(TCC_NRM)
#############################################################################
#
# how to make overlaid BBS files
#
batch.obj : batch.c
$(TCC_OVL)
chnedit.obj : chnedit.c
$(TCC_OVL)
defaults.obj: defaults.c
$(TCC_OVL)
diredit.obj : diredit.c
$(TCC_OVL)
gfiles.obj : gfiles.c
$(TCC_OVL)
gfledit.obj : gfledit.c
$(TCC_OVL)
lilo.obj : lilo.c
$(TCC_OVL)
misccmd.obj : misccmd.c
$(TCC_OVL)
multmail.obj: multmail.c
$(TCC_OVL)
newuser.obj : newuser.c
$(TCC_OVL)
netsup.obj : netsup.c
$(TCC_OVL)
srrcv.obj : srrcv.c
$(TCC_OVL)
srsend.obj : srsend.c
$(TCC_OVL)
subedit.obj : subedit.c
$(TCC_OVL)
subreq.obj : subreq.c
$(TCC_OVL)
sysopf.obj : sysopf.c
$(TCC_OVL)
tedit.obj : tedit.c
$(TCC_OVL)
uedit.obj : uedit.c
$(TCC_OVL)
voteedit.obj: voteedit.c
$(TCC_OVL)
xferovl.obj : xferovl.c
$(TCC_OVL)
xfertmp.obj : xfertmp.c
$(TCC_OVL)
xinit.obj : xinit.c
$(TCC_OVL)
subxtr.obj : subxtr.c
$(TCC_OVL)
#############################################################################
#
# how to make the fcns.h file.
#
.\strip.exe: strip.c
bcc -ml strip.c
del strip.obj
fcns: .\strip.exe
del fcns.h
strip fcns.h &&^
$(BBS_NRM) $(BBS_OVL)
^