Makefile: fix install target when building out-of-tree
Makefile: detect Apple toolchain instead of relying on uname

This allows cross-compiling for Android on a Mac.
Makefile: implement a "silent rules" approach

The old behavior is still available through `make V=1`. This is similar
to the Linux kernel and newer versions of automake.
Fix warnings by commenting code only needed by disabled code

An #if would probably be better, but I'm not sure if the disabled code
is meant to stay around.