Move to library-ish type build system