https://gitlab.synchro.net/main/sbbs/-/commit/65a87245298b8d1ae359c784
Added Files:
src/doors/.gitignore build.sh
Log Message:
doors: add a top-level build.sh that builds every buildable door
Building the doors meant knowing which of them ship a build.sh, which are
plain make trees, and what has to be built before what. src/doors/build.sh
is an umbrella over the per-door build systems: it drives all 21 buildable targets, keeps going when one fails, and prints a pass/fail summary,
exiting non-zero if anything failed.
It does not replace the per-door scripts and passes them no argument they
would not accept on their own. It does encode the two build-order facts
that are not obvious: the legacy doors link ../odoors, so libODoors is
built first whenever one of them is selected, and GAC's three games need
its gamesdk art tools, so gac-sdk is ordered ahead of them.
Named targets build a subset, "clean"/"clean all" and "debug" match what
the door scripts accept, -l lists the targets and -q keeps per-target logs
in .build-logs/ and shows only the tail of a failure. Cleaning is done
here rather than by forwarding "clean" down, because the legacy makefiles
are inconsistent about having a clean target at all.
u32rr is the one door left out, and -l says why: it is an unfinished
rewrite whose only make target is a testmain harness, and its link line
names a library directory that has never existed on this platform.
Also ignore the build output of the five legacy doors that build in-tree.
The others are already covered, either by their own .gitignore or by the
root one matching the gcc.<platform>.* directories Common.gmake creates.
Co-Authored-By: Claude Opus 4.8 (1M context) <
[email protected]>
--- SBBSecho 3.37-Linux
* Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)