I just tried to use the makefile and deal with the errors in order, I didn't get there
The "Makefile" is for FreeBSD (and probably other BSD); the "GNUmakefile" is for Linux, and should automatically take precedence with gmake. I assume you are using a GNU toolchain on Windows? I could try to produce a makefile which makes isolating errors easier; let me add a no-libcrypto build option first.
Edit: I thought tossing in the hash implementation C files would be a quick fix. Oops. This may take a few minutes.