Misc library edits and cleanup

Makefile
--------
  o Simplify initial bootstrap path construction logic used to load
    the top level library makefile repo:onf-lib/makefiles/include.mk.
  o Remove direct includes (consts.mk) that are loaded by include.mk.

bin/setup.sh
------------
  o Update repo:onf-lib installer script.
  o Re-arrange inlined logic into functions.
  o Added a banner message to display installation progress.
  o Added install_config_mk(), relocate sandbox/config.mk into sandbox/makefiles/onf-lib/config.mk.
  o Added detection logic to handle patching python to v3.10+.

makefiles/etc/include.mk
------------------------
  o Remove dup logic, include.mk mirrored features.mk, changed to simply include features.mk.

makefiles/include.mk
--------------------
  o Relocate display of include/display of help target trailer message
    from top level Makefile into the library makefile hierarchy.

makefiles_include_mk.ex
-----------------------
  o Added git-submodule maintenance helper targets & dependencies that
    consuming repository makefiles can use to automate submodule checkout
    from a clean state.

Change-Id: Id8df17cef09a17325137934d04e58d87ea370621
diff --git a/makefiles_include_mk.ex b/makefiles_include_mk.ex
index 1bad7af..3e79d0a 100644
--- a/makefiles_include_mk.ex
+++ b/makefiles_include_mk.ex
@@ -35,7 +35,7 @@
 ## Define vars based on relative import (normalize symlinks)
 ## Usage: include makefiles/onf/include.mk
 ## -----------------------------------------------------------------------
-onf-mk-abs    ?= $(abspath $(lastword $(MAKEFILE_LIST)))
+onf-mk-abs    := $(abspath $(lastword $(MAKEFILE_LIST)))
 onf-mk-top    := $(subst /include.mk,$(null),$(onf-mk-abs))
 onf-mk-lib    := $(onf-mk-top)/onf-lib/makefiles
 onf-mk-loc    := $(onf-mk-top)/local
@@ -56,6 +56,10 @@
 include $(onf-mk-lib)/include.mk
 include $(onf-mk-loc)/include.mk
 
+## -----------------------------------------------------------------------
+## Intent: Helper targets for maintaining git-submodules (repo:onf-make)
+## -----------------------------------------------------------------------
+
 ## -----------------------------------------
 ## Submodue init target for new repositories
 ## -----------------------------------------
@@ -65,9 +69,29 @@
 	cd $(dir $@) \
 	    && git submodule https://github.com/opencord/onf-make.git onf-lib
 
+## -----------------------------------------------------------------------
+## Intent: This target will update dependent git-submodule to the latest
+##         version available from the remote repository.  Subsequently
+##         a checkin will be needed to make the submodule update permanent.
+## -----------------------------------------------------------------------
 update-submodules:
 	git submodule foreach git pull
 
+## -----------------------------------------------------------------------
+## Intent: On-demand cloning of git submodule(s).
+## -----------------------------------------------------------------------
+## Trigger: include $(onf-mk-lib)/include.mk
+##   - When the make command attempts to include a makefile from the
+##     repo:onf-make submodule, this target/dependency will initialize
+##     and checkout all submodules the current repository depends on.
+## -----------------------------------------------------------------------
+$(onf-mk-lib)/include.mk:
+	@echo
+	@echo "** Checkout git submodule(s)"
+	@echo "** -----------------------------------------------------------------------"
+	git submodule update --init --recursive
+	@echo "** -----------------------------------------------------------------------"
+
 $(if $(DEBUG),$(warning LEAVE))
 
 # [EOF]