makefiles suck hard - next try