When OSTYPE is mingw, PNG_STATIC and ZLIB_STATIC are defined. The curious thing is that PNG isn't linked at all, it's only used by Makeobj, while zlib is actually linked dynamically (if dynamic link library is available, which it is in the zlib zip provided by mingw). In fact, a few lines down, only libgcc and libstdc++ is set up to link statically. Which leads to another thing: libgcc is linked statically into sim.exe, but dynamically into zlib1.dll and libbz2-2.dll, which I remember having read somewhere is a Bad Thing. Adding -static to force static linking of everything causes some problems when linking with SDL, at least the SDL link libraries I have.
So the question is, should the Makefile go for as much static linking as possible (I don't think statically linking with SDL is practical, and maybe not legal either) or embrace dynamic linking? There is some risk of DLL-hell with the latter, if not all builds use the same versions of GCC, zlib and bzip2.