At first, welcome to the forum!
Please tell me what Ofront do you use - the command-line vers. or BlackBox subsystem (and original Josef Templ's variant or modified by me)?
My answer about system.mod will depend on your answer. If you do use command-line Ofront, the all its sources (and System.Mod, SYSTEM.Mod, SYSTEM.c0) you can download at official website (file
ofront.tar.gz).
In ZXDev I've used simplified variant of SYSTEM that was adapted for Z80. Look at ZXDev/Lib/SYSTEM.h and ZXDev/Lib/SYSTEM.c
Ofront as a BlackBox subsystem does not use command-line at all. Instead, it gives the default compile options from Ofront/Rsrc/Tool.odc, and all compiling modules use these options.
In XDev the option "Ofront -> Tool... -> generate main program" sets dynamically in a module source with the directive in the module's comments: (*$MAIN*)
In the future, I plan to implement the definition of all (current and future) options in the same manner (like in Turbo Pascal).
Templ's Ofront for BlackBox looking for imported modules in the default directory ("C:\temp") that is defined in Ofront/Rsrc/Strings configuration file (the option "directories").
XDev/Ofront looking for imported modules at the same option, but now paths "%WorkDir%;%Subsys%/Lib" is defined there, and, while compiling, this variables set to the working subsystem - for ZXDev there are "ZXDev/Obj" and "ZXDev/Lib/Obj" for object files (C headers and sources); "ZXDev/Sym" and "ZXDev/Lib/Sym" for symbol files.
And don't forget that
Ofront is really well documented project!