Make dependency generation a side-effect of build
Make dependency generation a side-effect of build

We do not express to Make that the compilation rules will also create
dependency files, because then it would try to run the compilation rules
to satisfy `include` directives. Instead, the *.d files just "show up"
concurrently with the first compilation, and are thereafter included
when they exist.

This change reduces the number of compiler invocations required to
build, as well as the total amount of work performed by the compiler.

kulp/tenyr,kulp/tenyr,kulp/tenyr