VOL-4925 - Build and release components.

VERSION
-------
  o Bump version string for a release build.

makefiles
---------
  o Import more library based makefile logic.
  o Several lint targets added, disabled by default but can be used by name.
  o Removed pyenv dependency to support simple checking by shell iteration.

Misc
----
  o Bulk copyright notice update to 2023

Change-Id: I3a6668be96b3e03966f8fb72ceba72c0b947ba6e
diff --git a/makefiles/consts.mk b/makefiles/consts.mk
index 043ec65..ce71862 100644
--- a/makefiles/consts.mk
+++ b/makefiles/consts.mk
@@ -15,14 +15,24 @@
 # limitations under the License.
 # -----------------------------------------------------------------------
 
+$(if $(DEBUG),$(warning ENTER))
+
+##-------------------##
+##---]  GLOBALS  [---##
+##-------------------##
 null         :=#
 space        :=$(null) $(null)
 dot          :=.
+
 HIDE         ?=@
 
-# use bash for pusdh/popd and quick failures.
-# virtual env(s) activate has undefined vars so no -u
-#   ^---+ verify this is still true
-export SHELL := bash -e -o pipefail
+env-clean   = /usr/bin/env --ignore-environment
+xargs-n1    := xargs -0 -t -n1 --no-run-if-empty
+
+have-shell-bash := $(filter bash,$(subst /,$(space),$(SHELL)))
+$(if $(have-shell-bash),$(null),\
+  $(eval export SHELL := /bin/bash -euo pipefail))
+
+$(if $(DEBUG),$(warning LEAVE))
 
 # [EOF]