diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 2c36136..6302502 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -4,7 +4,8 @@
 # [NOTE] - Propogate .pre-commit-config.yaml edits to all repositories!
 # -----------------------------------------------------------------------
 # [NOTE] - Common config file source lives in repo:onf-make
-#    - https://gerrit.opencord.org/plugins/gitiles/onf-make/+/refs/heads/master/.pre-commit-config.yaml
+#    - https://gerrit.opencord.org/plugins/gitiles/
+#            onf-make/+/refs/heads/master/.pre-commit-config.yaml
 # -----------------------------------------------------------------------
 # [TODO]
 #    - pre-commit yaml config exists individually within repositories.
@@ -37,7 +38,7 @@
 # .pre-commit-config-yaml 2024-04-19 v0.4
 # -----------------------------------------------------------------------
 
-#ci:
+# ci:
 #  autofix_commit_msg: "Chore: pre-commit autoupdate"
 ##  skip: [sync]
 #  skip:
@@ -48,7 +49,6 @@
 
 repos:
   - repo: https://github.com/pre-commit/pre-commit-hooks
-#    rev: c4a0b883114b00d8d76b479c820ce7950211c99b  # frozen: v4.5.0
     rev: v4.5.0
     hooks:
       - id: trailing-whitespace
@@ -58,10 +58,10 @@
       - id: check-merge-conflict
       - id: check-xml
       - id: check-yaml
-#      - id: debug-statements
+      # - id: debug-statements
       - id: end-of-file-fixer
       - id: fix-encoding-pragma
-#     - id: double-quote-string-fixer
+      # - id: double-quote-string-fixer
       - id: requirements-txt-fixer
       - id: mixed-line-ending
         args: ['--fix=lf']
@@ -81,9 +81,9 @@
     hooks:
       - id: yamllint
 
-## -----------------------------------------------------------------------
-## [SOURCE] Documentation
-## -----------------------------------------------------------------------
+  ## -----------------------------------------------------------------------
+  ## [SOURCE] Documentation
+  ## -----------------------------------------------------------------------
   - repo: https://github.com/rstcheck/rstcheck
     rev: v6.2.1
     hooks:
@@ -93,61 +93,69 @@
     rev: v0.13.0
     hooks:
       - id: markdownlint
-#      - id: markdownlint_docker
+      # - id: markdownlint_docker
 
-## -----------------------------------------------------------------------
-## [SOURCE] Docker
-## -----------------------------------------------------------------------
+  ## -----------------------------------------------------------------------
+  ## [SOURCE] Docker
+  ## -----------------------------------------------------------------------
   - repo: https://github.com/hadolint/hadolint
     rev: v2.12.0
     hooks:
-      - id: hadolint
-#      - id: hadolint-docker
+      # - id: hadolint       # local tool install
+      - id: hadolint-docker
 
-## -----------------------------------------------------------------------
-## [SOURCE] Golang
-## -----------------------------------------------------------------------
+  ## -----------------------------------------------------------------------
+  ## [SOURCE] Golang
+  ## -----------------------------------------------------------------------
   - repo: https://github.com/golangci/golangci-lint
     rev: v1.41.1
     hooks:
       - id: golangci-lint
 
-## -----------------------------------------------------------------------
-## [SOURCE] REUSE License Checking
-## -----------------------------------------------------------------------
-#  - repo: https://github.com/fsfe/reuse-tool
-#    rev: v3.0.2
-#    hooks:
-#      - id: reuse
-#     - id: add-license-headers
-#
-# - repo: https://github.com/ansys/pre-commit-hooks
-#   rev: v0.2.9
-#   hooks:
-#     - id: add-license-headers
-#   args:
-# - --custom_copyright=custom copyright phrase
-# - --custom_template=template_name
-# - --custom_license=license_name
-# - --ignore_license_check
-# - --start_year=2023
+  ## -----------------------------------------------------------------------
+  ## [SOURCE] REUSE License Checking
+  ## -----------------------------------------------------------------------
+  - repo: https://github.com/fsfe/reuse-tool
+    rev: v3.0.2
+    hooks:
+      - id: reuse
+      # - id: add-license-headers
 
-## -----------------------------------------------------------------------
-## [SOURCE] Python
-## -----------------------------------------------------------------------
-# - repo: https://github.com/psf/black
-#   rev: 22.10.0
-#   hooks:
-#     - id: black
+# - repo: https://github.com/ansys/pre-commit-hooks
+  # rev: v0.2.9
+  # hooks:
+    # - id: add-license-headers
+  # args:
+    # - --custom_copyright=custom copyright phrase
+    # - --custom_template=template_name
+    # - --custom_license=license_name
+    # - --ignore_license_check
+    # - --start_year=2023
+
+  ## -----------------------------------------------------------------------
+  ## [SOURCE] Python
+  ## -----------------------------------------------------------------------
+  - repo: https://github.com/psf/black
+    rev: 22.10.0
+    hooks:
+      - id: black
 
 # - repo: https://github.com/PyCQA/doc8
-#   rev: v1.1.1
-#   hooks:
-#     - id: doc8
+  # rev: v1.1.1
+  # hooks:
+  # - id: doc8
 
-## -----------------------------------------------------------------------
-## [SOURCE] Testing
-## -----------------------------------------------------------------------
+  ## -----------------------------------------------------------------------
+  ## [SOURCE] Spelling
+  ## -----------------------------------------------------------------------
+  - repo: https://github.com/codespell-project/codespell
+    rev: v2.2.4
+    hooks:
+      - id: codespell
+
+  ## -----------------------------------------------------------------------
+  ## [SOURCE] Testing
+  ## -----------------------------------------------------------------------
   - repo: https://github.com/MarketSquare/robotframework-tidy
     rev: 4.11.0
     hooks:
diff --git a/bin/setup.sh b/bin/setup.sh
index 600e995..d72ddae 100755
--- a/bin/setup.sh
+++ b/bin/setup.sh
@@ -33,7 +33,8 @@
 ## -----------------------------------------------------------------------
 function program_paths()
 {
-    declare -g pgm="$(readlink --canonicalize-existing "$0")"
+    declare -g pgm
+    pgm="$(readlink --canonicalize-existing "$0")"
     declare -g pgmbin="${pgm%/*}"
     declare -g pgmroot="${pgmbin%/*}"
     declare -g pgmname="${pgm%%*/}"
@@ -41,6 +42,8 @@
     readonly pgm
     readonly pgmbin
     readonly pgmroot
+
+    # shellcheck disable=SC2034
     readonly pgmname
 
     return
diff --git a/config.mk b/config.mk
index d11f8a6..5e11699 100644
--- a/config.mk
+++ b/config.mk
@@ -32,7 +32,7 @@
 # NO-LINT-GROOVY    := true#               # Note[1]
 # NO-LINT-JJB       := true#               # Note[2]
 # NO-LINT-JSON      := true#               # Note[1]
-# NO-LINT-MAKEFILE  := true#               # Note[1]
+NO-LINT-MAKEFILE  := true#               # Note[1]
 # NO-LINT-REUSE     := true                # License check
 # NO-LINT-ROBOT     := true
 # NO-LINT-SHELL     := true#               # Note[1]
diff --git a/install/README.md b/install/README.md
index 6ecec93..9ffb383 100644
--- a/install/README.md
+++ b/install/README.md
@@ -12,3 +12,28 @@
 $(sandbox-root)/lf/local/
 $(sandbox-root)/lf/local/include.mk
     per-repository targets and logic to customize makefile behavior.
+
+<!--
+
+# -----------------------------------------------------------------------
+# Copyright 2024 Open Networking Foundation Contributors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http:#www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# -----------------------------------------------------------------------
+# SPDX-FileCopyrightText: 2024 Open Networking Foundation Contributors
+# SPDX-License-Identifier: Apache-2.0
+# -----------------------------------------------------------------------
+# Intent:
+# -----------------------------------------------------------------------
+
+-->
diff --git a/makefiles/commands/kail/godownloader.sh b/makefiles/commands/kail/godownloader.sh
index 54a9fd6..63354bb 100755
--- a/makefiles/commands/kail/godownloader.sh
+++ b/makefiles/commands/kail/godownloader.sh
@@ -56,6 +56,7 @@
   shift $((OPTIND - 1))
   TAG=$1
 }
+
 # this function wraps all the destructive operations
 # if a curl|bash cuts off the end of the script due to
 # network, either nothing will happen or will syntax error
@@ -139,16 +140,20 @@
 but credit (and pull requests) appreciated.
 ------------------------------------------------------------------------
 EOF
+
 is_command() {
   command -v "$1" >/dev/null
 }
 echoerr() {
   echo "$@" 1>&2
 }
+
 log_prefix() {
+    # shellcheck disable=SC2317
   echo "$0"
 }
 _logp=6
+
 log_set_priority() {
   _logp="$1"
 }
@@ -207,7 +212,7 @@
     armv6*) arch="armv6" ;;
     armv7*) arch="armv7" ;;
   esac
-  echo ${arch}
+  echo "${arch}"
 }
 uname_os_check() {
   os=$(uname_os)
diff --git a/makefiles/docker/include.mk b/makefiles/docker/include.mk
index 1aa7963..958cd35 100644
--- a/makefiles/docker/include.mk
+++ b/makefiles/docker/include.mk
@@ -23,7 +23,7 @@
 $(if $(DEBUG),$(warning ENTER))
 
 # Per-repository
-include $(ONF_MAKEDIR)/docker/config/$(--repo-name--).mk
+include $(onf-mk-dir)/docker/config/$(--repo-name--).mk
 
 # ------------------- ##
 # ---]  GLOBALS  [--- ##
diff --git a/makefiles/etc/include.mk b/makefiles/etc/include.mk
index cc17c2e..0713718 100644
--- a/makefiles/etc/include.mk
+++ b/makefiles/etc/include.mk
@@ -20,7 +20,7 @@
 
 $(if $(DEBUG),$(warning ENTER))
 
-include $(ONF_MAKEDIR)/etc/features.mk
+include $(onf-mk-dir)/etc/features.mk
 
 $(if $(DEBUG),$(warning LEAVE))
 
diff --git a/makefiles/gerrit/include.mk b/makefiles/gerrit/include.mk
index f5d65bf..1773d1e 100644
--- a/makefiles/gerrit/include.mk
+++ b/makefiles/gerrit/include.mk
@@ -23,7 +23,7 @@
 ##--------------------##
 ##---]  INCLUDES  [---##
 ##--------------------##
-include $(ONF_MAKEDIR)/gerrit/help.mk
+include $(onf-mk-dir)/gerrit/help.mk
 
 # -----------------------------------------------------------------------
 # -----------------------------------------------------------------------
diff --git a/makefiles/git/include.mk b/makefiles/git/include.mk
index 9d2558c..81486b6 100644
--- a/makefiles/git/include.mk
+++ b/makefiles/git/include.mk
@@ -23,15 +23,15 @@
 ##--------------------##
 ##---]  INCLUDES  [---##
 ##--------------------##
-include $(ONF_MAKEDIR)/git/help.mk
-include $(ONF_MAKEDIR)/git/required.mk
+include $(onf-mk-dir)/git/help.mk
+include $(onf-mk-dir)/git/required.mk
 
 ## Special snowflakes: per-repository logic
--include $(ONF_MAKEDIR)/git/$(--repo-name--).mk
+-include $(onf-mk-dir)/git/$(--repo-name--).mk
 
 ifdef USE-ONF-GIT-MK
   # Dynamic loading when targets are requested by name
-  include $(ONF_MAKEDIR)/git/submodules.mk
+  include $(onf-mk-dir)/git/submodules.mk
 endif
 
 # [EOF]
diff --git a/makefiles/golang/include.mk b/makefiles/golang/include.mk
index 7ce9b66..4a71c0a 100644
--- a/makefiles/golang/include.mk
+++ b/makefiles/golang/include.mk
@@ -21,6 +21,6 @@
 # ONF.makefiles.include.version = 1.1
 # -----------------------------------------------------------------------
 
-include $(ONF_MAKEDIR)/golang/mod-update.mk
+include $(onf-mk-dir)/golang/mod-update.mk
 
 # [EOF]
diff --git a/makefiles/jjb/include.mk b/makefiles/jjb/include.mk
index 7d213b4..c82c05a 100644
--- a/makefiles/jjb/include.mk
+++ b/makefiles/jjb/include.mk
@@ -23,12 +23,12 @@
 ##--------------------##
 ##---]  INCLUDES  [---##
 ##--------------------##
-include $(ONF_MAKEDIR)/jjb/help.mk
-include $(ONF_MAKEDIR)/jjb/required.mk
+include $(onf-mk-dir)/jjb/help.mk
+include $(onf-mk-dir)/jjb/required.mk
 
 ifdef USE-ONF-JJB-MK
   # Dynamic loading when targets are requested by name
-  include $(ONF_MAKEDIR)/jjb/targets.mk
+  include $(onf-mk-dir)/jjb/targets.mk
 endif
 
 # [EOF]
diff --git a/makefiles/lint/doc8/doc8.mk b/makefiles/lint/doc8/doc8.mk
index 4baf09f..b179b52 100644
--- a/makefiles/lint/doc8/doc8.mk
+++ b/makefiles/lint/doc8/doc8.mk
@@ -38,7 +38,7 @@
 # doc8 config as command line args so local makefiles to use --config
 # -----------------------------------------------------------------------
 ifdef USE_DOC8_INI
-  lint-doc8-args += --config $(ONF_MAKEDIR)/lint/doc8/doc8.ini
+  lint-doc8-args += --config $(onf-mk-dir)/lint/doc8/doc8.ini
 endif
 
 ## -----------------------------------------------------------------------
diff --git a/makefiles/lint/golang/include.mk b/makefiles/lint/golang/include.mk
index f5f363d..c317651 100644
--- a/makefiles/lint/golang/include.mk
+++ b/makefiles/lint/golang/include.mk
@@ -20,7 +20,7 @@
 
 $(if $(DEBUG),$(warning ENTER))
 
-include $(ONF_MAKEDIR)/lint/golang/sca.mk
+include $(onf-mk-dir)/lint/golang/sca.mk
 
 $(if $(DEBUG),$(warning LEAVE))
 
diff --git a/makefiles/lint/include.mk b/makefiles/lint/include.mk
index 3c9a062..ca0c7df 100644
--- a/makefiles/lint/include.mk
+++ b/makefiles/lint/include.mk
@@ -30,18 +30,18 @@
   NO-LINT-PYLINT := true
 endif
 
-include $(ONF_MAKEDIR)/lint/doc8/include.mk
-include $(ONF_MAKEDIR)/lint/golang/include.mk
-include $(ONF_MAKEDIR)/lint/groovy/include.mk
-include $(ONF_MAKEDIR)/lint/jjb.mk
-include $(ONF_MAKEDIR)/lint/json.mk
-include $(ONF_MAKEDIR)/lint/license/include.mk
-include $(ONF_MAKEDIR)/lint/make/include.mk
-include $(ONF_MAKEDIR)/lint/python/include.mk
-include $(ONF_MAKEDIR)/lint/shell/include.mk
-include $(ONF_MAKEDIR)/lint/yaml/include.mk
+include $(onf-mk-dir)/lint/doc8/include.mk
+include $(onf-mk-dir)/lint/golang/include.mk
+include $(onf-mk-dir)/lint/groovy/include.mk
+include $(onf-mk-dir)/lint/jjb.mk
+include $(onf-mk-dir)/lint/json.mk
+include $(onf-mk-dir)/lint/license/include.mk
+include $(onf-mk-dir)/lint/make/include.mk
+include $(onf-mk-dir)/lint/python/include.mk
+include $(onf-mk-dir)/lint/shell/include.mk
+include $(onf-mk-dir)/lint/yaml/include.mk
 
-include $(ONF_MAKEDIR)/lint/help.mk
+include $(onf-mk-dir)/lint/help.mk
 
 $(if $(DEBUG),$(warning LEAVE))
 
diff --git a/makefiles/lint/license/include.mk b/makefiles/lint/license/include.mk
index 21c7636..523c0f7 100644
--- a/makefiles/lint/license/include.mk
+++ b/makefiles/lint/license/include.mk
@@ -28,9 +28,9 @@
 ##--------------------##
 ##---]  INCLUDES  [---##
 ##--------------------##
-include $(ONF_MAKEDIR)/lint/license/help.mk
-include $(ONF_MAKEDIR)/lint/license/install.mk
-include $(ONF_MAKEDIR)/lint/license/reuse.mk
+include $(onf-mk-dir)/lint/license/help.mk
+include $(onf-mk-dir)/lint/license/install.mk
+include $(onf-mk-dir)/lint/license/reuse.mk
 
 # Alias targets
 lint-license     : lint-reuse
diff --git a/makefiles/lint/make/include.mk b/makefiles/lint/make/include.mk
index 2f49e88..03cb9e1 100644
--- a/makefiles/lint/make/include.mk
+++ b/makefiles/lint/make/include.mk
@@ -24,9 +24,9 @@
 $(if $(DEBUG),$(warning ENTER))
 
 ## Bleeding early import handled by makefiles/include.mk
-# include $(ONF_MAKEDIR)/lint/make/warn-undef-vars.mk
+# include $(onf-mk-dir)/lint/make/warn-undef-vars.mk
 
-include $(ONF_MAKEDIR)/lint/make/makefile.mk
+include $(onf-mk-dir)/lint/make/makefile.mk
 
 $(if $(DEBUG),$(warning LEAVE))
 
diff --git a/makefiles/lint/make/warn-undef-vars.mk b/makefiles/lint/make/warn-undef-vars.mk
index 048d56d..36e25f9 100644
--- a/makefiles/lint/make/warn-undef-vars.mk
+++ b/makefiles/lint/make/warn-undef-vars.mk
@@ -26,7 +26,9 @@
 ##   o Definitions only exist for lint target use.
 ##   o Decrease warning volume until undef sources can be cleaned up.
 ## -----------------------------------------------------------------------
-$(if $(findstring --warn-undefined-variables,$(MAKEFLAGS)),\
+$(if $(findstring $(MAKEFLAGS),--warn-undefined-variables),\
+	$(eval IS-WARN-UNDEFINED-VARIABLES := true))
+$(if $(findstring $(MAKECMDGOALS),int lint-make),\
 	$(eval IS-WARN-UNDEFINED-VARIABLES := true))
 
 ifdef IS-WARN-UNDEFINED-VARIABLES
@@ -64,6 +66,13 @@
   $(call define-if-undef,DOC8_SOURCE)
   $(call define-if-undef,have-python-files)
 
+  $(call define-if-undef,DEBUG-onf-mk-paths)
+  $(call define-if-undef,LINT_DOC8_DEBUG)
+
+  $(call define-if-undef,lint-shell-all)
+  $(call define-if-undef,lint-shell-mod)
+  $(call define-if-undef,lint-shell-src)
+
 endif # IS-WARN-UNDEFINED-VARIABLES
 
 $(if $(DEBUG),$(warning LEAVE))
diff --git a/makefiles/lint/python/include.mk b/makefiles/lint/python/include.mk
index 4c75e65..172f374 100644
--- a/makefiles/lint/python/include.mk
+++ b/makefiles/lint/python/include.mk
@@ -27,9 +27,9 @@
 ##-------------------##
 $(if $(UNSTABLE),$(eval lint-python-all := true))
 
-include $(ONF_MAKEDIR)/lint/python/find_utils.mk
-include $(ONF_MAKEDIR)/lint/python/flake8.mk
-include $(ONF_MAKEDIR)/lint/python/pylint.mk
+include $(onf-mk-dir)/lint/python/find_utils.mk
+include $(onf-mk-dir)/lint/python/flake8.mk
+include $(onf-mk-dir)/lint/python/pylint.mk
 
 $(if $(DEBUG),$(warning LEAVE))
 
diff --git a/makefiles/lint/robot/include.mk b/makefiles/lint/robot/include.mk
index f71652e..7167015 100644
--- a/makefiles/lint/robot/include.mk
+++ b/makefiles/lint/robot/include.mk
@@ -26,9 +26,9 @@
 ##--------------------##
 ##---]  INCLUDES  [---##
 ##--------------------##
-include $(ONF_MAKEDIR)/lint/robot/robot.mk
-# include $(ONF_MAKEDIR)/lint/robot/excl.mk
-include $(ONF_MAKEDIR)/lint/robot/help.mk
-include $(ONF_MAKEDIR)/lint/robot/install.mk
+include $(onf-mk-dir)/lint/robot/robot.mk
+# include $(onf-mk-dir)/lint/robot/excl.mk
+include $(onf-mk-dir)/lint/robot/help.mk
+include $(onf-mk-dir)/lint/robot/install.mk
 
 # [EOF]
diff --git a/makefiles/lint/shell/include.mk b/makefiles/lint/shell/include.mk
index 1398a36..2b73546 100644
--- a/makefiles/lint/shell/include.mk
+++ b/makefiles/lint/shell/include.mk
@@ -25,9 +25,9 @@
 ##--------------------##
 ##---]  INCLUDES  [---##
 ##--------------------##
-include $(ONF_MAKEDIR)/lint/shell/help.mk
-include $(ONF_MAKEDIR)/lint/shell/install.mk
-include $(ONF_MAKEDIR)/lint/shell/shellcheck.mk
+include $(onf-mk-dir)/lint/shell/help.mk
+include $(onf-mk-dir)/lint/shell/install.mk
+include $(onf-mk-dir)/lint/shell/shellcheck.mk
 
 $(if $(DEBUG),$(warning LEAVE))
 
diff --git a/makefiles/lint/yaml/byrepo/voltha-lib-go/include.mk b/makefiles/lint/yaml/byrepo/voltha-lib-go/include.mk
index 7f2ebfe..c930cdc 100644
--- a/makefiles/lint/yaml/byrepo/voltha-lib-go/include.mk
+++ b/makefiles/lint/yaml/byrepo/voltha-lib-go/include.mk
@@ -25,7 +25,7 @@
 ##--------------------##
 ##---]  INCLUDES  [---##
 ##--------------------##
-include $(ONF_MAKEDIR)/lint/yaml/byrepo/$(--repo-name--)/yamllint.mk
+include $(onf-mk-dir)/lint/yaml/byrepo/$(--repo-name--)/yamllint.mk
 
 $(if $(DEBUG),$(warning LEAVE))
 
diff --git a/makefiles/lint/yaml/byrepo/voltha-lib-go/yamllint.mk b/makefiles/lint/yaml/byrepo/voltha-lib-go/yamllint.mk
index fb56e3a..8143bfe 100644
--- a/makefiles/lint/yaml/byrepo/voltha-lib-go/yamllint.mk
+++ b/makefiles/lint/yaml/byrepo/voltha-lib-go/yamllint.mk
@@ -31,7 +31,7 @@
 ## Add requirement(s) for checking
 ## -------------------------------
 yamllint-cfg  := yamllint.helm
-yamllint-conf = $(wildcard $(yamllint-cfg) $(ONF_MAKEDIR)/lint/yaml/$(yamllint-cfg))
+yamllint-conf = $(wildcard $(yamllint-cfg) $(onf-mk-dir)/lint/yaml/$(yamllint-cfg))
 yamllint-args += $(addprefix --config-file$(space),$(yamllint-conf))
 yamllint-args += --strict
 
diff --git a/makefiles/lint/yaml/include.mk b/makefiles/lint/yaml/include.mk
index 7518d51..7191abe 100644
--- a/makefiles/lint/yaml/include.mk
+++ b/makefiles/lint/yaml/include.mk
@@ -27,16 +27,16 @@
 ##--------------------##
 ##---]  INCLUDES  [---##
 ##--------------------##
-include $(ONF_MAKEDIR)/lint/yaml/help.mk
-# include $(ONF_MAKEDIR)/lint/yaml/find_utils.mk
-include $(ONF_MAKEDIR)/lint/yaml/install.mk
+include $(onf-mk-dir)/lint/yaml/help.mk
+# include $(onf-mk-dir)/lint/yaml/find_utils.mk
+include $(onf-mk-dir)/lint/yaml/install.mk
 
 # [TODO] Consolidate and refactor to support a simpler answer
 # Special snowflake linting requirements
--include $(ONF_MAKEDIR)/lint/yaml/byrepo/$(--repo-name--)/include.mk
+-include $(onf-mk-dir)/lint/yaml/byrepo/$(--repo-name--)/include.mk
 
 # Standard lint-yaml targets
-include $(ONF_MAKEDIR)/lint/yaml/yamllint.mk
+include $(onf-mk-dir)/lint/yaml/yamllint.mk
 
 --onf-mk-lint-yaml-- := true#        # Flag to inhibit re-including
 
diff --git a/makefiles/python/include.mk b/makefiles/python/include.mk
index 70b5ca1..8fb3746 100644
--- a/makefiles/python/include.mk
+++ b/makefiles/python/include.mk
@@ -19,9 +19,9 @@
 # -----------------------------------------------------------------------
 
 ifdef PYTHON_FILES
-  include $(ONF_MAKEDIR)/python/test/include.mk
+  include $(onf-mk-dir)/python/test/include.mk
 else
-  include $(ONF_MAKEDIR)/python/test/include.mk
+  include $(onf-mk-dir)/python/test/include.mk
 endif
 
 # [EOF]
diff --git a/makefiles/release/include.mk b/makefiles/release/include.mk
index 8891df1..a38223e 100644
--- a/makefiles/release/include.mk
+++ b/makefiles/release/include.mk
@@ -23,12 +23,12 @@
 ##--------------------##
 ##---]  INCLUDES  [---##
 ##--------------------##
-include $(ONF_MAKEDIR)/release/help.mk
-include $(ONF_MAKEDIR)/release/required.mk
+include $(onf-mk-dir)/release/help.mk
+include $(onf-mk-dir)/release/required.mk
 
 ifdef USE_VOLTHA_RELEASE_MK
   # Dynamic loading when targets are requested by name
-  include $(ONF_MAKEDIR)/release/targets.mk
+  include $(onf-mk-dir)/release/targets.mk
 endif
 
 # [EOF]
diff --git a/makefiles/release/targets.mk b/makefiles/release/targets.mk
index 2d09188..4789acb 100644
--- a/makefiles/release/targets.mk
+++ b/makefiles/release/targets.mk
@@ -35,10 +35,10 @@
 ##--------------------##
 ##---]  INCLUDES  [---##
 ##--------------------##
-include $(ONF_MAKEDIR)/release/voltha-versions.mk
-include $(ONF_MAKEDIR)/release/targets/voltha-certification.mk
-include $(ONF_MAKEDIR)/release/targets/voltha-e2e.mk
-include $(ONF_MAKEDIR)/release/targets/voltha-nightly-jobs.mk
+include $(onf-mk-dir)/release/voltha-versions.mk
+include $(onf-mk-dir)/release/targets/voltha-certification.mk
+include $(onf-mk-dir)/release/targets/voltha-e2e.mk
+include $(onf-mk-dir)/release/targets/voltha-nightly-jobs.mk
 
 # last-release  := voltha-2.11
 last-release := $(voltha-release-last)
diff --git a/makefiles/targets/include.mk b/makefiles/targets/include.mk
index 20e1bf5..32c99b9 100644
--- a/makefiles/targets/include.mk
+++ b/makefiles/targets/include.mk
@@ -26,10 +26,10 @@
 ##-------------------##
 ##---]  TARGETS  [---##
 ##-------------------##
-include $(ONF_MAKEDIR)/targets/clean.mk
-include $(ONF_MAKEDIR)/targets/check.mk
-include $(ONF_MAKEDIR)/targets/sterile.mk
-include $(ONF_MAKEDIR)/targets/test/include.mk
+include $(onf-mk-dir)/targets/clean.mk
+include $(onf-mk-dir)/targets/check.mk
+include $(onf-mk-dir)/targets/sterile.mk
+include $(onf-mk-dir)/targets/test/include.mk
 
 $(if $(DEBUG),$(warning LEAVE))
 
diff --git a/makefiles/targets/test/include.mk b/makefiles/targets/test/include.mk
index a706bfd..54b9ef8 100644
--- a/makefiles/targets/test/include.mk
+++ b/makefiles/targets/test/include.mk
@@ -24,7 +24,7 @@
 $(if $(DEBUG),$(warning ENTER))
 
 # Special snowflake: repository-dependent test target
--include $(ONF_MAKEDIR)/targets/test/$(--repo-name--).mk
+-include $(onf-mk-dir)/targets/test/$(--repo-name--).mk
 
 $(if $(DEBUG),$(warning LEAVE))
 
diff --git a/makefiles/virtualenv/include.mk b/makefiles/virtualenv/include.mk
index 052f959..1c3d368 100644
--- a/makefiles/virtualenv/include.mk
+++ b/makefiles/virtualenv/include.mk
@@ -136,6 +136,7 @@
 
 ## -----------------------------------------------------------------------
 ## -----------------------------------------------------------------------
+.PHONY: venv-help
 venv-help ::
 	@printf '  %-33.33s %s\n' 'venv-patched' \
 	  'venv patched for v3.10.6+ use'
