Fix makefile portability 

Improve compatibility with mingw
Usually the problem with creating directories in makefiles is that it's
racy. But since you have a separate rule for it, that might be okay (I
forgot to mention that initially; sorry if I made it sound too big). I
_think_ there should not be a problem with having makefile targets depend
on the directory (as long as there's only one), but I normally just put
`.keep` in them to ensure they exist.

PS, the `@` prefix suppresses output; the `-` prefix ignores errors.