- 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>
120 lines
2.3 KiB
Makefile
120 lines
2.3 KiB
Makefile
.autodepend
|
|
.swap
|
|
|
|
# (C) Copyright 1995 by Borland International
|
|
#
|
|
# Address 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 = -d -c -ml -WS -R -v -vi -X- -H=address.csm -DSTRICT;
|
|
TLINKOPT = -L$(LIB) -Twe -c -C -s
|
|
RCOPT = -I$(INCLUDE) -31
|
|
|
|
# Dependnecy List
|
|
DEPENDENCIES = \
|
|
engine.obj\
|
|
adr_data.obj\
|
|
adr_main.obj\
|
|
adr_util.obj\
|
|
adr_dlgs.obj\
|
|
adrcmdlg.obj\
|
|
macro.obj\
|
|
address.res
|
|
|
|
# Implicit Rules
|
|
.c.obj:
|
|
$(CC) -I$(INCLUDE) $<
|
|
|
|
.rc.res:
|
|
$(BRC) -r -31 -i$(INCLUDE) $.
|
|
|
|
# Explicit rules
|
|
|
|
# Call other explicit rules
|
|
all: turboc.cfg address.exe
|
|
|
|
# Create the configuration file if it does not exist
|
|
turboc.cfg:
|
|
echo $(BCCOPT) >turboc.cfg
|
|
del *.obj
|
|
|
|
address.exe: turboc.cfg $(DEPENDENCIES)
|
|
$(TLINK) @&&|
|
|
/v $(TLINKOPT) +
|
|
c0wl.obj+
|
|
engine.obj+
|
|
adr_data.obj+
|
|
adr_main.obj+
|
|
adr_util.obj+
|
|
adr_dlgs.obj+
|
|
adrcmdlg.obj+
|
|
macro.obj
|
|
$<,$*
|
|
idapi.lib+
|
|
ctl3dv2.lib+
|
|
import.lib+
|
|
mathwl.lib+
|
|
cwl.lib
|
|
address.def
|
|
address.res
|
|
|
|
|
$(BRC) address.res $<
|
|
|
|
clean:
|
|
del *.obj
|
|
del *.exe
|
|
del *.res
|
|
del *.rws
|
|
del *.map
|
|
del *.csm
|
|
del *.~*
|
|
del *.bak
|
|
del *.td*
|
|
del turboc.cfg
|