Subj : src/sbbs3/sexyz_release/CLAUDE.md mksexyzsrc.sh To : Git commit to main/sbbs/master From : Rob Swindell (on Debian Linux) Date : Sun Aug 23 2026 15:28:54 https://gitlab.synchro.net/main/sbbs/-/commit/9a720937620ffe0eca8a5d0a Added Files: src/sbbs3/sexyz_release/CLAUDE.md mksexyzsrc.sh Log Message: sexyz: derive the source release from the makefile, not by hand The archive's value is that its file set is derived: the sources are whatever GNUmakefile's SRCS names, and the headers are their #include closure. Assembling one by hand loses that, and twice did: the first archive omitted xpprintf.c entirely, and a later one carried three stale sources. mksexyzsrc.sh takes a checkout and an output directory, reads the source list out of the shipped GNUmakefile, computes the header closure with gcc -MM, pins git_branch.h/git_hash.h to HEAD, test-builds the result, and writes both containers named after sexyz.c's own revision string. It fails loudly if a file the makefile names is missing from the tree. CLAUDE.md records what a Linux host cannot discover about this archive: that a GCC link map cannot see what MSVC needs, which is how three defects reached a published archive, and that a cut must be verified on both toolchains before release. Co-Authored-By: Claude Opus 5 (1M context) --- SBBSecho 3.37-Linux * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705) .