- 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>
174 lines
5.1 KiB
Batchfile
174 lines
5.1 KiB
Batchfile
@echo off
|
|
|
|
REM ######################################################################
|
|
REM # Check for valid options.
|
|
REM ######################################################################
|
|
|
|
if [%1] == [all] goto ok
|
|
if [%1] == [all16] goto ok
|
|
if [%1] == [all32] goto ok
|
|
if [%1] == [dos] goto ok
|
|
if [%1] == [win16] goto ok
|
|
if [%1] == [dpmi16] goto ok
|
|
if [%1] == [win32] goto ok
|
|
if [%1] == [dpmi32] goto ok
|
|
|
|
goto syntax
|
|
|
|
:ok
|
|
|
|
REM ######################################################################
|
|
REM # Ensure directory creation.
|
|
REM ######################################################################
|
|
if not exist obj\dpmi16\nul md obj\dpmi16
|
|
if not exist obj\dpmi32\nul md obj\dpmi32
|
|
|
|
|
|
REM ######################################################################
|
|
REM # Ensure log file creation.
|
|
REM ######################################################################
|
|
|
|
set errorlevel=0
|
|
if not [%LOGFILE%] == [] goto gotlog
|
|
echo Setting LOGFILE to log\%1.log!
|
|
if not exist log\nul md log
|
|
set LOGFILE=.\log\%1.log
|
|
|
|
:gotlog
|
|
echo Building... > %LOGFILE%
|
|
goto dos
|
|
|
|
|
|
REM ######################################################################
|
|
REM # Build the DOS RTL
|
|
REM ######################################################################
|
|
:dos
|
|
if [%1] == [all] goto bdos
|
|
if [%1] == [all16] goto bdos
|
|
if [%1] == [dos] goto bdos
|
|
goto win16
|
|
|
|
:bdos
|
|
echo Building DOS RTLs
|
|
if not exist obj\dos\t\nul md obj\dos\t
|
|
make OS=DOS MODEL=t all >> %LOGFILE%
|
|
if errorlevel 1 goto builderr
|
|
make OS=DOS MODEL=s all >> %LOGFILE%
|
|
if errorlevel 1 goto builderr
|
|
make OS=DOS MODEL=m all >> %LOGFILE%
|
|
if errorlevel 1 goto builderr
|
|
make OS=DOS MODEL=c all >> %LOGFILE%
|
|
if errorlevel 1 goto builderr
|
|
make OS=DOS MODEL=l all >> %LOGFILE%
|
|
if errorlevel 1 goto builderr
|
|
make OS=DOS MODEL=h all >> %LOGFILE%
|
|
if errorlevel 1 goto builderr
|
|
|
|
|
|
REM ######################################################################
|
|
REM # Build the Windows RTLs.
|
|
REM ######################################################################
|
|
:win16
|
|
if [%1] == [all] goto bwin16
|
|
if [%1] == [all16] goto bwin16
|
|
if [%1] == [win16] goto bwin16
|
|
goto dpmi16
|
|
|
|
:bwin16
|
|
echo Building Windows libraries
|
|
make OS=WIN16 MODEL=s all >> %LOGFILE%
|
|
if errorlevel 1 goto builderr
|
|
make OS=WIN16 MODEL=m all >> %LOGFILE%
|
|
if errorlevel 1 goto builderr
|
|
make OS=WIN16 MODEL=c all >> %LOGFILE%
|
|
if errorlevel 1 goto builderr
|
|
make OS=WIN16 MODEL=l all >> %LOGFILE%
|
|
if errorlevel 1 goto builderr
|
|
|
|
echo Building Windows DLL
|
|
make OS=WIN16 MODEL=l -DDLL all >> %LOGFILE%
|
|
if errorlevel 1 goto builderr
|
|
|
|
REM ######################################################################
|
|
REM # Build the DPMI16 RTL.
|
|
REM ######################################################################
|
|
:dpmi16
|
|
if [%1] == [all] goto bdpmi16
|
|
if [%1] == [all16] goto bdpmi16
|
|
if [%1] == [dpmi16] goto bdpmi16
|
|
goto win32
|
|
|
|
:bdpmi16
|
|
echo Building DPMI16 libraries
|
|
make OS=DPMI16 MODEL=l all >> %LOGFILE%
|
|
if errorlevel 1 goto builderr
|
|
|
|
REM ######################################################################
|
|
REM # Build the Win32 RTLs.
|
|
REM ######################################################################
|
|
:win32
|
|
if [%1] == [all] goto bwin32
|
|
if [%1] == [all32] goto bwin32
|
|
if [%1] == [win32] goto bwin32
|
|
goto dpmi32
|
|
|
|
:bwin32
|
|
echo Building Win32 libraries
|
|
make OS=WIN32 all >> %LOGFILE%
|
|
if errorlevel 1 goto builderr
|
|
echo Building Multi-thread Win32 libraries
|
|
make OS=WIN32 -DMT all >> %LOGFILE%
|
|
if errorlevel 1 goto builderr
|
|
echo Building Win32 DLL
|
|
make OS=WIN32 -DDLL all >> %LOGFILE%
|
|
if errorlevel 1 goto builderr
|
|
echo Building Multi-thread Win32 DLL
|
|
make OS=WIN32 -DMT -DDLL all >> %LOGFILE%
|
|
if errorlevel 1 goto builderr
|
|
|
|
REM ######################################################################
|
|
REM # Build the DPMI32 RTL
|
|
REM ######################################################################
|
|
:dpmi32
|
|
if [%1] == [all] goto bdpmi32
|
|
if [%1] == [all32] goto bdpmi32
|
|
if [%1] == [dpmi32] goto bdpmi32
|
|
goto exit
|
|
|
|
:bdpmi32
|
|
echo Building DPMI32 libraries
|
|
make OS=DPMI32 all >> %LOGFILE%
|
|
if errorlevel 1 goto builderr
|
|
goto exit
|
|
|
|
REM ######################################################################
|
|
REM # Usage
|
|
REM ######################################################################
|
|
|
|
:syntax
|
|
echo Syntax: build {WHAT}
|
|
echo.
|
|
echo WHAT is one of:
|
|
echo all - Builds everything specific to the correct OS
|
|
echo all16 - Builds 16 bit libraries
|
|
echo all32 - Builds 32 bit libraries
|
|
echo dos - Builds the DOS RTLs
|
|
echo dpmi16 - Builds the DPMI16 RTL
|
|
echo dpmi32 - Builds the DPMI32 RTL
|
|
echo win16 - Builds the Windows RTLs
|
|
echo win32 - Builds the Win32 RTLs
|
|
echo.
|
|
goto exit
|
|
|
|
REM ######################################################################
|
|
REM # Cleanup and exit.
|
|
REM ######################################################################
|
|
:builderr
|
|
echo !! Error in %1 build !!
|
|
|
|
REM ######################################################################
|
|
REM # Cleanup and exit.
|
|
REM ######################################################################
|
|
:exit
|
|
set LOGFILE=
|