+# Enter the source directory
+cd "$SRCDIR"
+
+# Run bootstrap in the source directory prior to configure
+./bootstrap
+
+
+# Build type
+# oot : out-of-tree build
+# dist : build via make dist
+# oot-dist: build via make dist out-of-tree
+# * : normal tree build
+#
+# Make sure to move to the build_path and configure
+# before continuing
+BUILD_PATH=$SRCDIR
+case "$build" in
+oot)
+ echo "Out of tree build"
+ BUILD_PATH=$WORKSPACE/oot
+
+ mkdir -p "$BUILD_PATH"
+ cd "$BUILD_PATH"
+
+ CPPFLAGS="$CPPFLAGS" LDFLAGS="$LDFLAGS" "$SRCDIR/configure" --prefix="$PREFIX" $CONF_OPTS
+ ;;
+
+dist)
+ echo "Distribution tarball in-tree build"
+
+ # Initial configure and generate tarball
+ CPPFLAGS="$CPPFLAGS" LDFLAGS="$LDFLAGS" "$SRCDIR/configure"
+ $MAKE dist
+
+ BUILD_PATH="$(mktemp -d)"
+ cp ./*.tar.* "$BUILD_PATH/"
+ cd "$BUILD_PATH"
+
+ # Ignore level 1 of tar
+ $TAR xvf ./*.tar.* --strip 1
+
+ # Build in extracted source tree
+ CPPFLAGS="$CPPFLAGS" LDFLAGS="$LDFLAGS" "$BUILD_PATH/configure" --prefix="$PREFIX" $CONF_OPTS
+ ;;
+
+oot-dist)
+ echo "Distribution tarball out of tree build"
+ BUILD_PATH="$(mktemp -d)"
+ cd "$BUILD_PATH"
+
+ # Initial configure and generate tarball
+ CPPFLAGS="$CPPFLAGS" LDFLAGS="$LDFLAGS" "$SRCDIR/configure"
+ $MAKE dist
+
+ NEWSRC_PATH="$(mktemp -d)"
+ cp ./*.tar.* "$NEWSRC_PATH/"
+ cd "$NEWSRC_PATH"
+
+ # Ignore level 1 of tar
+ $TAR xvf ./*.tar.* --strip 1
+
+ BUILD_PATH="$(mktemp -d)"
+ cd "$BUILD_PATH"
+
+ # Build oot from extracted sources
+ CPPFLAGS="$CPPFLAGS" LDFLAGS="$LDFLAGS" "$NEWSRC_PATH/configure" --prefix="$PREFIX" $CONF_OPTS
+ ;;
+
+*)
+ echo "Standard in-tree build"
+ CPPFLAGS="$CPPFLAGS" LDFLAGS="$LDFLAGS" "$BUILD_PATH/configure" --prefix="$PREFIX" $CONF_OPTS
+ ;;
+esac
+
+# BUILD!
+$MAKE -j "$($NPROC)" V=1
+$MAKE install