This feature was designed as an experiment in
Prime's build script, and ended up getting pulled
into the initial dtk-template. It doesn't have
proper configuration options or any usage in the
wild. Projects aiming to port their code will
use CMake or a similar build system instead.
This deduplicates dependencies on custom build rules by writing
them once and using phony targets to collect them.
Uses order_only instead of implicit dependencies to avoid
rebuilding source files when a custom build rule is dirty.
Cleans up typing issues in ninja_syntax.py.
This new setup flow allows users to copy their disc image into
`orig/GAMEID`, run a build, then delete the disc image to save space.
The new `object_base` config option specifies where the disc image is
searched for. Updated README.example.md with new setup instructions,
removing references to Dolphin Emulator.
Progress output now displays % matched, which measures 100% matched
functions across _all_ files, including files that aren't
complete/linked.
Due to this change, all source files need to be built in order to
calculate progress during a normal `ninja` run. In other words,
this makes the `all_source` build the default behavior.
The progress display can be disabled via `configure.py --no-progress`
or `config.progress = False`. This will only compile the source files
needed to link the matching DOL.
Additionally, progress information is automatically emitted as a job
summary in GitHub Actions, so it can be viewed without opening the
build logs.