- 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>
202 lines
6.3 KiB
Plaintext
202 lines
6.3 KiB
Plaintext
.autodepend
|
|
|
|
##@QUERY_PRJ_NAME [[Project]]
|
|
# Build the [[Project]] target optional switches are:
|
|
# -DSTATIC - Build the .EXE to the static OWL library instead of the DLL
|
|
# -DNOHELP - DO NOT build the .HLP file if help is in the .MAK file
|
|
# -DDEBUG - Build the .EXE with debug information.
|
|
|
|
#
|
|
##@QUERY_PRJ_NAME [[Project]]
|
|
# Add new files for [[Project]].EXE in the [[Project]] macro precede the file with an @ sign.
|
|
#
|
|
#------------------------------------------------------------------------------------------------
|
|
##--BEGIN-- @QUERY_APPL_MODEL == VALUE_MDI
|
|
##@QUERY_PRJ_NAME [[Project]] 1
|
|
##QUERY_FILENAME_CPP [[MainFile]] 1
|
|
##: <<TMDIClient QUERY_FILENAME_CPP [[TMDIClient]] 1
|
|
##: <<TMDIChild QUERY_FILENAME_CPP [[TMDIChild]] 1
|
|
##<<TDialog QUERY_FILENAME_CPP [[TDialog]] 1
|
|
[[Project]] = @[[MainFile]].obj @[[TMDIClient]].obj @[[TMDIChild]].obj @[[TDialog]].obj
|
|
##--END-- @QUERY_APPL_MODEL == VALUE_MDI
|
|
##--BEGIN-- @QUERY_APPL_MODEL == VALUE_SDI
|
|
##@QUERY_PRJ_NAME [[Project]] 1
|
|
##QUERY_FILENAME_CPP [[MainFile]] 1
|
|
##<<TDialog QUERY_FILENAME_CPP [[TDialog]] 1
|
|
[[Project]] = @[[MainFile]].obj @[[TDialog]].obj
|
|
##--END-- @QUERY_APPL_MODEL == VALUE_MDI
|
|
##@OPT_APPL_PRINTING
|
|
##@QUERY_PRJ_NAME [[Project]]
|
|
[[Project]] = $([[Project]]) @ApxPrint.obj @ApxPrev.obj
|
|
#------------------------------------------------------------------------------------------------
|
|
|
|
|
|
# Root location of the compiler, linker, implib, include files, etc.
|
|
!ifndef BCROOT
|
|
!include "$(MAKEDIR)\BCROOT.INC"
|
|
!endif
|
|
|
|
# Compiler tools:
|
|
##QUERY_FILENAME_CPP [[MainFile]]
|
|
CC = $(BCROOT)\bin\BCC +[[MainFile]].cfg
|
|
TASM = $(BCROOT)\bin\TASM
|
|
TLIB = $(BCROOT)\bin\TLIB
|
|
TLINK = $(BCROOT)\bin\TLINK
|
|
IMPLIB = $(BCROOT)\bin\IMPLIB
|
|
RC = $(BCROOT)\bin\BRCC
|
|
##@OPT_APPL_HELP
|
|
HC = $(BCROOT)\bin\HC31
|
|
|
|
|
|
# Target source code
|
|
!ifndef CPPDIR
|
|
CPPDIR = . # Location of .cpp and .rc files
|
|
!endif
|
|
|
|
##--BEGIN-- @QUERY_DIR_H [[HFile]]
|
|
!ifndef INCDIR
|
|
##HFile != ""
|
|
INCDIR = $(CPPDIR)\..\[[HFile]] # Location of .h and .rh files
|
|
##HFile == ""
|
|
INCDIR = $(CPPDIR) # Location of .h and .rh files
|
|
!endif
|
|
##--END-- @QUERY_DIR_H [[HFile]]
|
|
|
|
# Search paths for the libraries and the include files.
|
|
LIBPATH = $(BCROOT)\LIB
|
|
INCLUDEPATH = $(INCDIR);$(BCROOT)\INCLUDE
|
|
RCINCLUDEPATH = -i$(INCDIR) -i$(BCROOT)\INCLUDE
|
|
|
|
# Linker flags:
|
|
!ifdef DEBUG
|
|
DEBUGFLAG=__DEBUG_
|
|
LFLAGS = -v -Vt -Tw -c -C -s -A=16 -L$(LIBPATH)
|
|
!else
|
|
DEBUGFLAG=
|
|
LFLAGS = -Vt -Tw -c -C -s -A=16 -L$(LIBPATH)
|
|
!endif
|
|
|
|
|
|
#------------------------------------------------------------------------------------------------
|
|
# Rules to build target.EXE
|
|
#------------------------------------------------------------------------------------------------
|
|
|
|
# Compiler rules:
|
|
#------------------------------------------------------------------------------------------------
|
|
.path.obj = $(CPPDIR)
|
|
.cpp.obj:
|
|
$(CC) {$& }
|
|
|
|
|
|
# Link, RC and IMPLIB rules:
|
|
#------------------------------------------------------------------------------------------------
|
|
.path.dll = $(LIBPATH)
|
|
|
|
!ifdef STATIC
|
|
LIBRARIES = $(LIBPATH)\import.lib $(LIBPATH)\mathwl.lib $(LIBPATH)\bivbx.lib $(LIBPATH)\bidsl.lib $(LIBPATH)\owlwl.lib $(LIBPATH)\cwl.lib
|
|
!else
|
|
LIBRARIES = $(LIBPATH)\import.lib $(LIBPATH)\mathwl.lib $(LIBPATH)\bivbx.lib $(LIBPATH)\bidsi.lib $(LIBPATH)\owlwi.lib $(LIBPATH)\cwl.lib $(LIBPATH)\crtldll.lib
|
|
!endif
|
|
|
|
.path.lib = $(.path.dll)
|
|
BLDDIR = .
|
|
|
|
.rc.res:
|
|
$(RC) -r $(RCINCLUDEPATH) -d$(DEBUGFLAG) $&.rc
|
|
|
|
##@QUERY_PRJ_NAME [[Project]]
|
|
##--BEGIN-- QUERY_FILENAME_CPP [[MainFile]]
|
|
##!@OPT_APPL_HELP
|
|
[[Project]].exe: [[MainFile]].mak [[MainFile]].cfg $([[Project]]:@= ) $(LIBRARIES) [[MainFile]].rc [[MainFile]].res
|
|
##@OPT_APPL_HELP
|
|
##--BEGIN-- @QUERY_APPL_HELP [[HelpFile]]
|
|
!ifndef NOHELP
|
|
[[Project]].exe: [[MainFile]].mak [[MainFile]].cfg $([[Project]]:@= ) $(LIBRARIES) [[MainFile]].rc [[MainFile]].res [[HelpFile]].hlp
|
|
!else
|
|
[[Project]].exe: [[MainFile]].mak [[MainFile]].cfg $([[Project]]:@= ) $(LIBRARIES) [[MainFile]].rc [[MainFile]].res
|
|
!endif
|
|
##--END-- @QUERY_APPL_HELP [[HelpFile]]
|
|
##--END-- QUERY_FILENAME_CPP [[MainFile]]
|
|
$(TLINK) $(LFLAGS) @&&|
|
|
##@QUERY_PRJ_NAME [[Project]]
|
|
c0wl $([[Project]]:@=)
|
|
$(BLDDIR)\$&.exe
|
|
$(BLDDIR)\$&
|
|
$(LIBRARIES)
|
|
##QUERY_FILENAME_CPP [[MainFile]] 2
|
|
$(BLDDIR)\[[MainFile]].def
|
|
[[MainFile]].res
|
|
|
|
|
|
|
|
|
##--BEGIN--@OPT_APPL_HELP
|
|
!ifndef NOHELP
|
|
##@QUERY_APPL_HELP [[HelpFile]] 3
|
|
##@OPT_APPL_TOOLBAR
|
|
[[HelpFile]].hlp: [[HelpFile]].hpj mainhelp.rtf toolbar.rtf keys.rtf terms.rtf
|
|
##!@OPT_APPL_TOOLBAR
|
|
[[HelpFile]].hlp: [[HelpFile]].hpj mainhelp.rtf keys.rtf terms.rtf
|
|
$(HC) [[HelpFile]].hpj
|
|
!endif
|
|
##--END--@OPT_APPL_HELP
|
|
|
|
!ifndef STATIC
|
|
DLLFlag=-D_RTLDLL;_BIDSDLL;_OWLDLL
|
|
!else
|
|
DLLFlag=
|
|
!endif
|
|
|
|
# cfg file creation. The file is used to specify compiler options for building each .obj:
|
|
#------------------------------------------------------------------------------------------------
|
|
##QUERY_FILENAME_CPP [[MainFile]]
|
|
[[MainFile]].cfg: [[MainFile]].mak
|
|
!ifdef DEBUG
|
|
# DEBUG .CFG file
|
|
copy &&|
|
|
-DSTRICT
|
|
-D$(DEBUGFLAG)
|
|
-D$(DLLFlag)
|
|
-Fc
|
|
-O1gmpv
|
|
-w
|
|
-WS # Create .EXE
|
|
-v # Source debugging on
|
|
-vi # Inline function expansion
|
|
-c
|
|
-M
|
|
-ml # Compile large memory model (DS != SS)
|
|
-3 # Generate 80286 code
|
|
-H=$&.csm # Pre-compiled header file name
|
|
-H"owl\owlpch.h"
|
|
-D_OWLPCH
|
|
-wpro # Next three are the Enable warning message types:
|
|
-weas
|
|
-wpre
|
|
-I$(INCLUDEPATH) # Location for include files
|
|
-L$(LIBPATH) # Location of .LIB files
|
|
| $&.cfg
|
|
!else
|
|
# Non-Debug .CFG file.
|
|
copy &&|
|
|
-DSTRICT
|
|
-D$(DLLFlag)
|
|
-Fc
|
|
-O1gmpv
|
|
-w
|
|
-WS # Create .EXE
|
|
-vi # Inline function expansion
|
|
-c
|
|
-M
|
|
-ml # Compile large memory model (DS != SS)
|
|
-3 # Generate 80286 code
|
|
-H=$&.csm # Pre-compiled header file name
|
|
-H"owl\owlpch.h"
|
|
-D_OWLPCH
|
|
-wpro # Next three are the Enable warning message types:
|
|
-weas
|
|
-wpre
|
|
-I$(INCLUDEPATH) # Location for include files
|
|
-L$(LIBPATH) # Location of .LIB files
|
|
| $&.cfg
|
|
!endif
|