Meson writing a Ninja buildfile will (whilst generating comments) insert rules to tell Ninja when to reinvoke Meson, iterates over all compilations (within an iteration over all configured machines) to generate their build rules (generating a single extra one for Clang), generates configured-machine static-linking rule, do the same for dynamic linking, & adds a handful of boilerplate rules. A dict is used to deduplicate, as we populate a list.
It creates an out-of-date "phony" build target.
2/3