A better generic makefile than @mbcrawfo's