Symbian build system
It gather info of sources to build from module.mk. This applied for new build system aka python package symbian_builder and old build system aka BuildPackageUpload_AllVersions.pl and BuildPackageUpload_LocalSettings.pl.
Old was dumb and hard to maintain.
New build system gather info from configure.engine too. It auto generates symbian project files for all supported engines, exclude unfinished engines and subengines from release build. Main advantage - it builds in parallel and even errors can't interrupt while all engine not processed.
Build ScummVM inside
Build starts from gathering build rules from configure.engine and module.mk. Changing makefile rules break build system. Any engines may disabled here. Almost all scummvm code packs in static libs. Symbian SDK Before creation scummvm.exe we pack compiled engines and necessary code in static libs. Compilation an packing done automatically by SDK build system according by related .mmp file.
Necessary code mostly comes to the scummvm_base.lib(static lib) and remains builds when making scummvm.exe. We compile with exe only sources without them build scummvm.exe fails.
Anyone free to add and remove files which doesn't use Symbian API directly.