This instructs make to run the tinyusb and directory rules before
building any objects. Docs: [1].
After this change, `make clean` started running
the tinyusb submodule rule before cleaning. This appears to have been
caused by one of the `build/*.d` files overlapping with the `tinyusb`
name, triggering that rule. I didn't trace this all the way down to a
root cause, but switching the include to something less broad solved the
issue. Roughly guided by [2].
1: https://www.gnu.org/software/make/manual/html_node/Prerequisite-Types.html
2: http://make.mad-scientist.net/papers/advanced-auto-dependency-generation/