a very messy and probably broken Makefile