• src/doors/.gitignore build.sh

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Wed Jul 22 21:08:26 2026
    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]>

    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net