Add self-contained build system