makefiles suck