I have a patch ready to support -M, -MM, and -MMD flags. The patch itself isn't too interesting since it just extends the existing code path used for -MD and updates the help/man pages.
However, I wanted to see if anyone objected to a behavior change regarding the -MD flag. Plan to change the behavior to match gcc's so that system headers are included in the output. The old behavior can be achieved with the new -MMD flag.