Okay, I have a rather complex problem, and I’m not understanding the docs enough to see how this would work.
Related Question 1:
I have a TADS folder for my projects; it’s called
tads3projects. In that folder are individual folders for games and modules. Modules are collections of source files, united with a
.h file, which can be pulled into any game project through the game’s individual makefile.
tads3projects/ InventorCore/ (Module) inventorCore.h QuickMaffs/ (Module) quickMaffs.h MyGameProject/ (Game) gameSourceFile.t Makefile.t3m
I have heard that overlapping include lines can be handled by using the
-source argument in the makefile. If
quickMaffs.h both require
#include <file.h> to function, then how would I add these two modules into my game with the game’s makefile without needing to omit
<file.h> from both modules, and remembering to always add
<file.h> to every future game project?
Related Question 2:
If a module has cache files that need to be opened and processed during
preinit, how would I do this without needing to copy the cache files in every future game project?
A lot of this can probably be solved with symlinks, but I would rather not need to show my user folder’s structure in public GitHub commits, and also have to carefully manage symlinks, especially if the makefile can handle this. I had to manage symlinks in the early version of my I Am Prey repo, and I kept having issues with how git handled it, and it became too annoying to manage, so I just hard-copied my modules into the game folder.
I’m now trying to break stuff back out and create a more manageable module library with the makefile, but admittedly every time I think I find new guidance about the makefile,
t3make doesn’t seem to understand me, and the docs don’t clarify things very well.
I’m requesting patience, because I’ll be asking a lot of follow-up questions, as I try to get stuff working based on any answers/help provided. Whatever gets fully nailed down will be the enduring foundation of my module library going forward, so I’m trying to get a single system properly figured out.
Thank you for your time.