- BORLAND/: Borland C++ 4.52 (chosen over 4.5 by byte-match: CODE/RP/CW32.LIB
is identical to 4.52's install lib). BCC32/TLINK32/TLIB/MAKE run natively on
Win11; CODE/BT/OPT.MAK is the shipped BTL4OPT.EXE's exact flag recipe
(extender = Borland PowerPack DPMI32, not Phar Lap TNT).
- restoration/source410/: the literal 1995-form reconstruction of the missing
BT game source (never mixed into CODE/). Round 1-3 state:
* 6 of 10 surviving original TUs COMPILE CLEAN under the period toolchain
(BTMSSN, BTCNSL, BTSCNRL, BTTEAM, BTL4MODE, BTL4ARND) - first builds
since 1996.
* BT_L4/BTL4APP.CPP pilot reconstruction: 12/12 functions, Fail() lands on
its binary-recorded line 400 exactly.
* BT/BTCNSL.HPP: console wire IDs recovered from the binary's ctors
(Killed=9, Damaged=10, ScoreUpdate=13, DeathWithoutHonor=15 [T1];
TeamScore=12 flagged [T4]).
* MUNGA/: 8 engine-header backfills back-dated from the BT412 WinTesla tree
(VDATA numbering decomp-verified; AUDREND's OpenAL-era virtual removed -
the period compiler is the drift detector).
* Tooling: backdate.py (WinTesla->1995 header transform), compile410.sh
(per-TU verification sweep under authentic OPT.MAK flags).
* README: corrected roadmap - MECH.HPP is the capstone grown with the mech
TU reconstructions; BTREG.CPP green = the header-family milestone.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
234 lines
4.0 KiB
Makefile
234 lines
4.0 KiB
Makefile
.autodepend
|
|
.swap
|
|
|
|
# (C) Copyright 1995 by Borland International
|
|
#
|
|
# SnipIt! code Viewer MAKEFILE for Borland C++ v4.5.
|
|
#
|
|
# Use 'make -DBCROOT=<compiler root directory>' to specify
|
|
# where the compiler resides.
|
|
# Can also set the environment variables 'INCLUDE' and 'LIB'
|
|
# to specify the compiler include and lib directories.
|
|
#
|
|
# Set 'IDAPIINC' and 'IDAPILIB' to the IDAPI INCLUDE and
|
|
# IDAPI LIB directories if you did not install to the
|
|
# default directory structure.
|
|
#
|
|
|
|
# Set the IDAPI INCLUDE and LIB directory
|
|
!ifndef IDAPIINC
|
|
IDAPIINC = ..\..\include
|
|
!endif
|
|
|
|
!ifndef IDAPILIB
|
|
IDAPILIB = ..\..\lib
|
|
!endif
|
|
|
|
# BCROOT is only used if either the INCLUDE or LIB
|
|
# environment variable is not used.
|
|
!ifndef BCROOT
|
|
BCROOT = c:\bc45
|
|
!endif
|
|
|
|
# Check if the INCLUDE environment variable exists
|
|
# If not, set it
|
|
!ifndef INCLUDE
|
|
INCLUDE = $(BCROOT)\include
|
|
!endif
|
|
|
|
# Check if the LIB environment variable exists
|
|
# If not, set it
|
|
!ifndef LIB
|
|
LIB = $(BCROOT)\lib
|
|
!endif
|
|
|
|
# Set the compiler, linker, and Resource Compiler
|
|
CC = bcc
|
|
TLINK = tlink
|
|
BRC = brc
|
|
|
|
# Set the full INCLUDE and LIB search paths
|
|
INCLUDE = $(IDAPIINC);$(INCLUDE)
|
|
LIB = $(IDAPILIB);$(LIB)
|
|
|
|
# Set the Compiler, Linker, and Resource Compiler Options
|
|
BCCOPT = -dc -d -Ff=16 -c -ml -WS -R -v -vi -X- -H=snipit.csm -D_RTLDLL;STRICT;
|
|
TLINKOPT = -L$(LIB) -Twe -c -C -s
|
|
RCOPT = -I$(INCLUDE) -31
|
|
|
|
# Dependnecy List
|
|
DEPENDENCIES = \
|
|
addalias.obj\
|
|
aliases.obj\
|
|
batmove.obj\
|
|
blobio.obj\
|
|
blobsmpl.obj\
|
|
block.obj\
|
|
bookmark.obj\
|
|
callback.obj\
|
|
config.obj\
|
|
cr8pxtbl.obj\
|
|
cr8dbtbl.obj\
|
|
cr8txtbl.obj\
|
|
dbio.obj\
|
|
dblogin.obj\
|
|
drvcaps.obj\
|
|
errval.obj\
|
|
fieldmap.obj\
|
|
filter.obj\
|
|
filtcomp.obj\
|
|
filtcont.obj\
|
|
format.obj\
|
|
idxdbase.obj\
|
|
idxexpr.obj\
|
|
idxpdox.obj\
|
|
initeng.obj\
|
|
inmemtbl.obj\
|
|
inputreq.obj\
|
|
keyupdt.obj\
|
|
langdrv.obj\
|
|
lnkcrsr.obj\
|
|
lsql.obj\
|
|
lsqljoin.obj\
|
|
lsqllive.obj\
|
|
navigate.obj\
|
|
optparam.obj\
|
|
password.obj\
|
|
prdxsort.obj\
|
|
qbe.obj\
|
|
qbe2.obj\
|
|
range.obj\
|
|
reclock.obj\
|
|
recupdat.obj\
|
|
rdolock.obj\
|
|
refinteg.obj\
|
|
search.obj\
|
|
secdesc.obj\
|
|
session.obj\
|
|
softdel.obj\
|
|
sqlbind.obj\
|
|
storproc.obj\
|
|
sysinfo.obj\
|
|
tblinfo.obj\
|
|
tbllist.obj\
|
|
tbllock.obj\
|
|
tblopen.obj\
|
|
tbrstrct.obj\
|
|
test.obj\
|
|
textimp.obj\
|
|
textexp.obj\
|
|
transact.obj\
|
|
updtcrnt.obj\
|
|
upsize.obj\
|
|
valcheck.obj\
|
|
input.obj\
|
|
snipdata.obj\
|
|
snipmain.obj\
|
|
sniptool.obj\
|
|
snipit.res
|
|
|
|
# Implicit Rules
|
|
.c.obj:
|
|
$(CC) -I$(INCLUDE) $<
|
|
|
|
.rc.res:
|
|
$(BRC) -r -31 -i$(INCLUDE) $.
|
|
|
|
# Explicit rules
|
|
|
|
all: turboc.cfg snipit.exe
|
|
|
|
turboc.cfg: makefile
|
|
echo $(BCCOPT) >turboc.cfg
|
|
del *.obj
|
|
|
|
snipit.exe: turboc.cfg $(DEPENDENCIES)
|
|
$(TLINK) @&&|
|
|
/v $(TLINKOPT) +
|
|
c0wl.obj+
|
|
addalias.obj+
|
|
aliases.obj+
|
|
batmove.obj+
|
|
blobio.obj+
|
|
blobsmpl.obj+
|
|
block.obj+
|
|
bookmark.obj+
|
|
callback.obj+
|
|
config.obj+
|
|
cr8pxtbl.obj+
|
|
cr8dbtbl.obj+
|
|
cr8txtbl.obj+
|
|
dbio.obj+
|
|
dblogin.obj+
|
|
drvcaps.obj+
|
|
errval.obj+
|
|
fieldmap.obj+
|
|
filter.obj+
|
|
filtcomp.obj+
|
|
filtcont.obj+
|
|
format.obj+
|
|
idxdbase.obj+
|
|
idxexpr.obj+
|
|
idxpdox.obj+
|
|
initeng.obj+
|
|
inmemtbl.obj+
|
|
inputreq.obj+
|
|
keyupdt.obj+
|
|
langdrv.obj+
|
|
lnkcrsr.obj+
|
|
lsql.obj+
|
|
lsqljoin.obj+
|
|
lsqllive.obj+
|
|
navigate.obj+
|
|
optparam.obj+
|
|
password.obj+
|
|
prdxsort.obj+
|
|
qbe.obj+
|
|
qbe2.obj+
|
|
range.obj+
|
|
reclock.obj+
|
|
recupdat.obj+
|
|
rdolock.obj+
|
|
refinteg.obj+
|
|
search.obj+
|
|
secdesc.obj+
|
|
session.obj+
|
|
softdel.obj+
|
|
sqlbind.obj+
|
|
storproc.obj+
|
|
sysinfo.obj+
|
|
tblinfo.obj+
|
|
tbllist.obj+
|
|
tbllock.obj+
|
|
tblopen.obj+
|
|
tbrstrct.obj+
|
|
test.obj+
|
|
textimp.obj+
|
|
textexp.obj+
|
|
transact.obj+
|
|
updtcrnt.obj+
|
|
upsize.obj+
|
|
valcheck.obj+
|
|
input.obj+
|
|
snipdata.obj+
|
|
snipmain.obj+
|
|
sniptool.obj
|
|
$<,$*
|
|
idapi.lib+
|
|
import.lib+
|
|
mathwl.lib+
|
|
ctl3dv2.lib+
|
|
cwl.lib
|
|
snipit.def
|
|
snipit.res
|
|
|
|
|
$(BRC) snipit.res $<
|
|
|
|
clean:
|
|
del *.obj
|
|
del *.exe
|
|
del *.res
|
|
del *.map
|
|
del *.csm
|
|
del turboc.cfg
|