Sommersoft noticed that without submodules (as RTD currently does),
the "make -qp" failed due to trying to find files within submodules.
The "print-VAR" target doesn't have any dependencies, so it sidesteps
the problem.
If we move ulab's pyi files into the submodule, though, we'll need to
fetch submodules anyway during doc building.
Revisiting this because I noticed the support matrix said that pyruler
had several modules it obviously didn't, such as the recently added
vectorio.
It is less error-prone because we can use the final values instead
of re-coding the Makefile logic in python. The only things we need
to do are invoke make in "print-database" mode, then chase any
indirect references like CIRCUITPY_VECTORIO = $(CIRCUITPY_DISPLAYIO)
It does take longer, about 45s on my laptop.