While the .*.d dependency files get build nicely during the initial
build, they never got actually used: make's $(wildcard ) function acts
like the shell's, i.e. *.d doesn't match any file name starting with
'.' and hence none of the files would ever be used.
For the clean: rules the issue is the same, except here it should have
been very obvious that removing *.d won't do what was intended.