--- /dev/null
+#!/bin/bash
+# Copyright (C) 2021-2022 Harry Godden (hgn) - All Rights Reserved
+
+# Util
+# ==============================================================================
+error(){
+ echo -e "\033[1;31mError:\e[0m $@"
+ exit 1
+}
+
+warning(){
+ echo -e "\033[1;33mWarning:\e[0m $@"
+}
+
+success(){
+ echo -e "\033[1;32mSuccess:\e[0m $@"
+}
+
+logit(){
+ echo -e "\033[0;37m$@\e[0m"
+}
+
+titleit(){
+ echo ""
+ echo -e "\033[1;35m$@\e[0m"
+ echo "================================================================"
+ echo ""
+}
+
+titleit " vg_build.sh ver: 2.0\n"
+
+# Compile shit
+# ==============================================================================
+
+compiler_cache="ccache"
+
+# Autodetect ccache unavailible
+if ! [ -x "$( command -v $compiler_cache )" ]; then
+ compiler_cache=""
+fi
+
+compile_x(){
+ mkdir $_folder -p
+
+ cmd="$compiler_cache $_compiler
+ $_options
+ $_warnings
+ $_include
+ $_library
+ $_src
+ -o $_folder/$_dst$_ext
+ $_link
+ $_epilogue"
+
+ logit " $cmd\n"
+ $cmd
+
+ if [ $? -ne 0 ]; then
+ error "compiler failed"
+ fi
+
+ success "Compiled item\n"
+}
+
+# Tools scripts
+# ==============================================================================
+enable_tools=false
+
+vg_compile_tools() {
+ if [ $enable_tools = true ]; then source vg/src/tools.sh; fi
+}
+
+tools() {
+ enable_tools=true
+}
+
+$1
+$2
+$3
+$4
+$5
+$6
+$7
+$8
+$9