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.