crazy makefile for crazy stuff