adds a "Makefile.gcc" and minor changes for gcc to compile

Could merge the "Makefile.gcc" into "Makefile", but this felt less invasive as a start.

Seems Clang is quite forgiving about auto-including some #includes stuff (I guess?), anyway, I made those explicit.

Also some casting for the printf format strings. Alternatively could change the types to %lu ... but this seemed like a better first go.