clean ed up Makefile a bunch, but I think I really will need to switch to
autotools

I can compile a shared library, but for some reason gc doesn't work with
it, which is weird, I can probably fix it by actually compiling the gc
library into my library (which makes sense, the gc is part of the
runtime, so it should be built into the executable)