...and do not use MSYS...
What's wrong with MSYS? It works fine for me.
If you run make from within MSYS, it runs it in the "unix-way", i.e. it doesn't use the DOS interpreter. This essentially means that commands like this
if not exist gcc_mswudll mkdir gcc_mswudll
are invalid (the above command is in DOS-style syntax).
In other words, if you open the MSYS window you open a unix-like shell interpreter. The above command would only work under a DOS interpreter.
And, although I haven't used it, I think the same goes for cygwin too...