diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..758cef6
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "lf/onf-make"]
+	path = lf/onf-make
+	url = https://github.com/opencord/onf-make.git
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 41f6167..420e5f7 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -3,6 +3,10 @@
 # -----------------------------------------------------------------------
 # [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
+# -----------------------------------------------------------------------
 # [TODO]
 #    - pre-commit yaml config exists individually within repositories.
 #    - Generally lint config and benavior is consistent for all repos.
@@ -34,7 +38,7 @@
 # .pre-commit-config-yaml 2024-04-19 v0.4
 # -----------------------------------------------------------------------
 
-#ci:
+# ci:
 #  autofix_commit_msg: "Chore: pre-commit autoupdate"
 ##  skip: [sync]
 #  skip:
@@ -45,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
@@ -55,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']
@@ -78,9 +81,9 @@
     hooks:
       - id: yamllint
 
-## -----------------------------------------------------------------------
-## [SOURCE] Documentation
-## -----------------------------------------------------------------------
+  ## -----------------------------------------------------------------------
+  ## [SOURCE] Documentation
+  ## -----------------------------------------------------------------------
   - repo: https://github.com/rstcheck/rstcheck
     rev: v6.2.1
     hooks:
@@ -90,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:
@@ -155,15 +166,9 @@
 # -------------------------------------------------------------------
 exclude: |
     (?x)^(
-        ^jjb/.*             |
         ^makefiles/.*       |
         ^lf/.*              |
         ^.venv/.*           |
-        ^jenkins-scripts/.* |
-        ^lf-ansible/.*      |
-        ^packer/.*          |
-        ^test/.*            |
-        ^jjb/pipeline/voltha/voltha-physical-soak-dt-tests.groovy
     )$
 
 # [SEE ALSO]
diff --git a/Makefile b/Makefile
index 1e52fea..490f957 100644
--- a/Makefile
+++ b/Makefile
@@ -24,8 +24,18 @@
 ##--------------------##
 ##---]  INCLUDES  [---##
 ##--------------------##
-include config.mk
-include makefiles/include.mk
+$(if $(findstring disabled-joey,$(USER)),\
+   $(eval USE_LF_MK := 1)) # special snowflake
+
+##--------------------##
+##---]  INCLUDES  [---##
+##--------------------##
+ifdef USE_LF_MK
+  $(error should not be here)
+  include lf/include.mk
+else
+  include lf/transition.mk
+endif # ifdef USE_LF_MK
 
 # Variables
 VERSION                    ?= $(shell cat ./VERSION)
@@ -170,14 +180,14 @@
 	$(if $(LOCAL_FIX_PERMS),touch "$(go-result-out)")
 	$(if $(LOCAL_FIX_PERMS),chmod o+w "$(go-result-out)")
 
-        # ------------------------------------------ 
+        # ------------------------------------------
         # set -euo pipefail else tee masks $? return
         # ------------------------------------------
 	@echo '** Running test coverage: exit-on-error is currently disabled'
 	-(\
 	    set -euo pipefail; \
 	    $(GO) test -mod=vendor -v -coverprofile "$(go-cover-out)" -covermode count ./... 2>&1 | tee "$(go-result-out)" \
-	)  
+	)
 
 	$(if $(LOCAL_FIX_PERMS),chmod o-w "$(go-result-out)")
 	$(if $(LOCAL_FIX_PERMS),chmod o-w "$(go-cover-out)")
@@ -255,4 +265,3 @@
 	@echo '  gen-coverage-cobertura       Generate cobertura report'
 
 # [EOF]
-
diff --git a/lf/README.md b/lf/README.md
new file mode 100644
index 0000000..9ffb383
--- /dev/null
+++ b/lf/README.md
@@ -0,0 +1,39 @@
+Library makefiles
+=================
+
+$(sandbox-root)/include.mk
+    Source this makefile to import all makefile logic.
+
+$(sandbox-root)/lf/onf-make/
+$(sandbox-root)/lf/onf-make/include.mk
+    repo:onf-make contains common library makefile logic.
+    tag based checkout (frozen) as a git submodule.
+
+$(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/config.mk b/lf/config.mk
similarity index 98%
rename from config.mk
rename to lf/config.mk
index 4303390..18b7145 100644
--- a/config.mk
+++ b/lf/config.mk
@@ -70,6 +70,7 @@
 ##---]  Filesystem exclusions  [---##
 ##---------------------------------##
 onf-excl-dirs := $(null)        # make clean: dirs=
+onf-excl-dirs += lf#            # git submodule
 onf-excl-dirs += .venv#         # $(venv-name)
 onf-excl-dirs += vendor#        # golang / voltha*-go
 onf-excl-dirs += patches#       # voltha docs - python upgrade
diff --git a/lf/include.mk b/lf/include.mk
new file mode 100644
index 0000000..5d52907
--- /dev/null
+++ b/lf/include.mk
@@ -0,0 +1,109 @@
+# -*- makefile -*-
+# -----------------------------------------------------------------------
+# Copyright 2023-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: 2023-2024 Open Networking Foundation Contributors
+# SPDX-License-Identifier: Apache-2.0
+# -----------------------------------------------------------------------
+
+$(if $(DEBUG),$(warning ENTER))
+
+## -----------------------------------------------------------------------
+## Infer path to cloned sandbox root
+## [TODO] Deprecate TOP=
+## -----------------------------------------------------------------------
+lf-sbx-root   := $(abspath $(lastword $(MAKEFILE_LIST)))
+lf-sbx-root   := $(subst /lf/include.mk,$(null),$(lf-sbx-root))
+
+## -----------------------------------------------------------------------
+## Define vars based on relative import (normalize symlinks)
+## Usage: include makefiles/onf/include.mk
+## -----------------------------------------------------------------------
+onf-mk-abs    := $(abspath $(lastword $(MAKEFILE_LIST)))
+onf-mk-top    := $(subst /include.mk,$(null),$(onf-mk-abs))
+onf-mk-lib    := $(onf-mk-top)/onf-make/makefiles
+onf-mk-loc    := $(onf-mk-top)/local
+
+TOP           ?= $(patsubst %/makefiles/include.mk,%,$(onf-mk-abs))
+
+## -----------------------------------------------------------------------
+## This variable is a bridge to help transition away from legacy makefiles.
+## -----------------------------------------------------------------------
+legacy-mk     := $(lf-sbx-root)/makefiles
+
+## ------------------------------------------------------
+## Two distinct vars needed to access library or project
+## ------------------------------------------------------
+ONF_MAKEDIR ?= $(onf-mk-lib)
+MAKEDIR     ?= $(onf-mk-loc)
+
+# -----------------------------------------------------------------------
+# Load per-repository conditionals
+# Load late else alter MAKEFILE_LIST
+# NOTE: config.mk can be removed if dynamic feature detection by
+#       file extension is added.
+# -----------------------------------------------------------------------
+include $(wildcard $(lf-sbx-root)/config.mk $(lf-sbx-root)/lf/config.mk)
+
+## -----------------------------------------------------------------------
+## Load makefiles in order:
+##   1) Library constants and logic loaded first
+##   2) Parameterize and augment targets from local (repo specific)
+## -----------------------------------------------------------------------
+include $(onf-mk-lib)/include.mk
+include $(onf-mk-loc)/include.mk
+
+## Define late so caller (?- env --ignore-environment -?)
+GIT ?= /usr/bin/env git
+
+## -----------------------------------------------------------------------
+## 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.
+## -----------------------------------------------------------------------
+.PHONY: update-git-submodules
+update-git-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.
+## -----------------------------------------------------------------------
+.PHONY: git-submodules
+git-submodules : $(onf-mk-lib)/include.mk
+
+$(onf-mk-lib)/include.mk:
+
+	$(call banner-enter,(Checkout git submodules))
+
+	$(GIT) submodule update --init --recursive
+
+	$(call banner-leave,(Checkout git submodules))
+
+## -----------------------------------------------------------------------
+## -----------------------------------------------------------------------
+help-git :
+	@printf '  %-33.33s %s\n' 'git-submodules' \
+	  'Init and recursive checkout of git submodule(s)'
+	@printf '  %-33.33s %s\n' 'update-git-submodules' \
+	  'Update git submodule(s) to the latest version'
+
+$(if $(DEBUG),$(warning LEAVE))
+
+# [EOF]
diff --git a/lf/local/include.mk b/lf/local/include.mk
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/lf/local/include.mk
diff --git a/lf/onf-make b/lf/onf-make
new file mode 160000
index 0000000..78fca2d
--- /dev/null
+++ b/lf/onf-make
@@ -0,0 +1 @@
+Subproject commit 78fca2dfde43820c5b0449e6ec00be7547acf4d6
diff --git a/lf/transition.mk b/lf/transition.mk
new file mode 100644
index 0000000..ea4e845
--- /dev/null
+++ b/lf/transition.mk
@@ -0,0 +1,62 @@
+# -*- makefile -*-
+# -----------------------------------------------------------------------
+# 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
+# -----------------------------------------------------------------------
+
+$(if $(DEBUG),$(warning ENTER))
+
+##-------------------##
+##---]  GLOBALS  [---##
+##-------------------##
+lf-sbx-root   := $(abspath $(lastword $(MAKEFILE_LIST)))
+lf-sbx-root   := $(subst /lf/transition.mk,$(null),$(lf-sbx-root))
+
+legacy-mk   ?= $(lf-sbx-root)/makefiles
+onf-mk-dir  ?= $(lf-sbx-root)/lf/onf-make/makefiles
+
+sandbox-root := $(lf-sbx-root)
+
+# set default shell options
+SHELL = bash -e -o pipefail
+
+# dependency of virtualenv::sterile
+clean ::
+
+##--------------------##
+##---]  INCLUDES  [---##
+##--------------------##
+include $(lf-sbx-root)/lf/config.mk
+include $(legacy-mk)/include.mk
+
+# [EOF]
+
+ifdef paste-into-repository-makefile
+
+$(if $(findstring disabled-joey,$(USER)),\
+   $(eval USE_LF_MK := 1)) # special snowflake
+
+##--------------------##
+##---]  INCLUDES  [---##
+##--------------------##
+ifdef USE_LF_MK
+  include lf/include.mk
+else
+  include lf/transition.mk
+endif # ifdef USE_LF_MK
+
+endif # paste-into-repository-makefile
diff --git a/makefiles/commands/include.mk b/makefiles/commands/include.mk
index 1df1085..f64574a 100644
--- a/makefiles/commands/include.mk
+++ b/makefiles/commands/include.mk
@@ -25,7 +25,7 @@
 
 $(if $(DEBUG),$(warning ENTER))
 
-include $(ONF_MAKEDIR)/commands/kail.mk
+include $(legacy-mk)/commands/kail.mk
 
 $(if $(DEBUG),$(warning LEAVE))
 
diff --git a/makefiles/commands/kail/godownloader.sh b/makefiles/commands/kail/godownloader.sh
index 77ad5bf..63354bb 100755
--- a/makefiles/commands/kail/godownloader.sh
+++ b/makefiles/commands/kail/godownloader.sh
@@ -1,8 +1,25 @@
 #!/bin/sh
-set -e
+# -----------------------------------------------------------------------
+# SPDX-License-Identifier: LicenseRef-MIT
+# SPDX-FileCopyrightText: Copyright (c) 2017-2019 Nick Galbreath
+# -----------------------------------------------------------------------
 # Code generated by godownloader on 2019-05-28T19:49:53Z. DO NOT EDIT.
 # Copyright 2019 - (disable makefiles/lint/license.mk)
-#
+# -----------------------------------------------------------------------
+# Intent:
+#   https://pkg.go.dev/github.com/golangci/godownloader
+#   https://github.com/boz/kail/blob/v0.15.1/godownloader.sh
+#   https://github.com/golangci/godownloader/blob/8788aabdf9391ad712052a4185e8047f8c2fcac5/LICENSE.md
+# -----------------------------------------------------------------------
+# Background:
+#   o The project has been deendent on godwnloader.sh to install kail.
+#   o godownloader.sh was deprecated, replaced by goreleaser.
+#   o A static of the script was checked in, exactly what is needed.
+#   o godownloader has been forked, use download if released and persistent:
+#       https://github.com/kamilsk/godownloader
+# -----------------------------------------------------------------------
+
+set -e
 
 usage() {
   this=$1
@@ -39,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
@@ -122,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"
 }
@@ -190,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 ee27e10..5325305 100644
--- a/makefiles/docker/include.mk
+++ b/makefiles/docker/include.mk
@@ -18,7 +18,7 @@
 $(if $(DEBUG),$(warning ENTER))
 
 # Per-repository
-include $(ONF_MAKEDIR)/docker/config/$(--repo-name--).mk
+include $(legacy-mk)/docker/config/$(--repo-name--).mk
 
 # ------------------- ##
 # ---]  GLOBALS  [--- ##
diff --git a/makefiles/gerrit/include.mk b/makefiles/gerrit/include.mk
index 1c5ad2c..4227229 100644
--- a/makefiles/gerrit/include.mk
+++ b/makefiles/gerrit/include.mk
@@ -18,7 +18,7 @@
 ##--------------------##
 ##---]  INCLUDES  [---##
 ##--------------------##
-include $(ONF_MAKEDIR)/gerrit/help.mk
+include $(legacy-mk)/gerrit/help.mk
 
 # -----------------------------------------------------------------------
 # -----------------------------------------------------------------------
diff --git a/makefiles/git/include.mk b/makefiles/git/include.mk
index 68525dc..be8b80e 100644
--- a/makefiles/git/include.mk
+++ b/makefiles/git/include.mk
@@ -29,14 +29,14 @@
 ##--------------------##
 ##---]  INCLUDES  [---##
 ##--------------------##
-include $(ONF_MAKEDIR)/git/help.mk
-include $(ONF_MAKEDIR)/git/required.mk
+include $(legacy-mk)/git/help.mk
+include $(legacy-mk)/git/required.mk
 
 ## Special snowflake: per-repository logic loader
--include $(ONF_MAKEDIR)/git/byrepo/$(--repo-name--).mk
+-include $(legacy-mk)/git/byrepo/$(--repo-name--).mk
 
 # Dynamic loading when targets are requested by name
-include $(ONF_MAKEDIR)/git/submodules.mk
+include $(legacy-mk)/git/submodules.mk
 
 endif # --onf-make-git--
 
diff --git a/makefiles/include.mk b/makefiles/include.mk
index 012d505..79c2aaf 100644
--- a/makefiles/include.mk
+++ b/makefiles/include.mk
@@ -35,34 +35,34 @@
 
 TOP ?= $(patsubst %/makefiles/include.mk,%,$(onf-mk-abs))
 
-include $(ONF_MAKEDIR)/consts.mk
-include $(ONF_MAKEDIR)/help/include.mk       # render target help
-include $(ONF_MAKEDIR)/utils/include.mk      # dependency-less helper macros
-include $(ONF_MAKEDIR)/etc/include.mk        # banner macros
-include $(ONF_MAKEDIR)/commands/include.mk   # Tools and local installers
+include $(legacy-mk)/consts.mk
+include $(legacy-mk)/help/include.mk       # render target help
+include $(legacy-mk)/utils/include.mk      # dependency-less helper macros
+include $(legacy-mk)/etc/include.mk        # banner macros
+include $(legacy-mk)/commands/include.mk   # Tools and local installers
 
-include $(ONF_MAKEDIR)/virtualenv.mk#        # lint-{jjb,python} depends on venv
-include $(ONF_MAKEDIR)/lint/include.mk
+include $(legacy-mk)/virtualenv.mk#        # lint-{jjb,python} depends on venv
+include $(legacy-mk)/lint/include.mk
 
-include $(ONF_MAKEDIR)/gerrit/include.mk
-include $(ONF_MAKEDIR)/git/include.mk
-include $(ONF_MAKEDIR)/jjb/include.mk
+include $(legacy-mk)/gerrit/include.mk
+include $(legacy-mk)/git/include.mk
+include $(legacy-mk)/jjb/include.mk
 
-# include $(ONF_MAKEDIR)/release/include.mk
+# include $(legacy-mk)/release/include.mk
 
-include $(ONF_MAKEDIR)/todo.mk
-include $(ONF_MAKEDIR)/help/variables.mk
+include $(legacy-mk)/todo.mk
+include $(legacy-mk)/help/variables.mk
 
 ##---------------------##
 ##---]  ON_DEMAND  [---##
 ##---------------------##
-$(if $(USE-ONF-GERRIT-MK),$(eval include $(ONF_MAKEDIR)/gerrit/include.mk))
-$(if $(USE-ONF-DOCKER-MK),$(eval include $(ONF_MAKEDIR)/docker/include.mk))
+$(if $(USE-ONF-GERRIT-MK),$(eval include $(legacy-mk)/gerrit/include.mk))
+$(if $(USE-ONF-DOCKER-MK),$(eval include $(legacy-mk)/docker/include.mk))
 
 ##-------------------##
 ##---]  TARGETS  [---##
 ##-------------------##
-include $(ONF_MAKEDIR)/targets/include.mk # clean, sterile, tox
+include $(legacy-mk)/targets/include.mk # clean, sterile, tox
 
 $(if $(DEBUG),$(warning LEAVE))
 
diff --git a/makefiles/jjb/include.mk b/makefiles/jjb/include.mk
index 7af018c..ebf2104 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 $(legacy-mk)/jjb/help.mk
+include $(legacy-mk)/jjb/required.mk
 
 ifdef USE-ONF-JJB-MK
   # Dynamic loading when targets are requested by name
-  include $(ONF_MAKEDIR)/jjb/targets.mk
+  include $(legacy-mk)/jjb/targets.mk
 endif
 
 # [EOF]
diff --git a/makefiles/lint/include.mk b/makefiles/lint/include.mk
index 2102fc9..f21af76 100644
--- a/makefiles/lint/include.mk
+++ b/makefiles/lint/include.mk
@@ -36,17 +36,17 @@
 #   NO-LINT-PYLINT := true
 # endif
 
-include $(ONF_MAKEDIR)/lint/groovy.mk
-include $(ONF_MAKEDIR)/lint/jjb.mk
-include $(ONF_MAKEDIR)/lint/json.mk
-include $(ONF_MAKEDIR)/lint/license/include.mk
-include $(ONF_MAKEDIR)/lint/makefile.mk
-include $(ONF_MAKEDIR)/lint/python/include.mk
-include $(ONF_MAKEDIR)/lint/shellcheck/include.mk
-include $(ONF_MAKEDIR)/lint/tox/include.mk
-include $(ONF_MAKEDIR)/lint/yaml/include.mk
+include $(legacy-mk)/lint/groovy.mk
+include $(legacy-mk)/lint/jjb.mk
+include $(legacy-mk)/lint/json.mk
+include $(legacy-mk)/lint/license/include.mk
+include $(legacy-mk)/lint/makefile.mk
+include $(legacy-mk)/lint/python/include.mk
+include $(legacy-mk)/lint/shellcheck/include.mk
+include $(legacy-mk)/lint/tox/include.mk
+include $(legacy-mk)/lint/yaml/include.mk
 
-include $(ONF_MAKEDIR)/lint/help.mk
+include $(legacy-mk)/lint/help.mk
 
 $(if $(DEBUG),$(warning LEAVE))
 
diff --git a/makefiles/lint/include.mk.bk b/makefiles/lint/include.mk.bk
index dbc2e8b..709c32a 100644
--- a/makefiles/lint/include.mk.bk
+++ b/makefiles/lint/include.mk.bk
@@ -9,14 +9,14 @@
 	@echo
 	@echo "[LINT]"
 
-include $(ONF_MAKE)/lint/makefile.mk
-include $(ONF_MAKE)/lint/python.mk
-include $(ONF_MAKE)/lint/shell.mk
+include $(legacy-mk)/lint/makefile.mk
+include $(legacy-mk)/lint/python.mk
+include $(legacy-mk)/lint/shell.mk
 
 ifdef YAML_FILES
-  include $(ONF_MAKE)/lint/yaml/python.mk
+  include $(legacy-mk)/lint/yaml/python.mk
 else
-  include $(ONF_MAKE)/lint/yaml/yamllint.mk
+  include $(legacy-mk)/lint/yaml/yamllint.mk
 endif
 
 $(if $(DEBUG),$(warning LEAVE))
diff --git a/makefiles/lint/python/include.mk b/makefiles/lint/python/include.mk
index 29b4e84..5944bbf 100644
--- a/makefiles/lint/python/include.mk
+++ b/makefiles/lint/python/include.mk
@@ -22,9 +22,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 $(legacy-mk)/lint/python/find_utils.mk
+include $(legacy-mk)/lint/python/flake8.mk
+include $(legacy-mk)/lint/python/pylint.mk
 
 $(if $(DEBUG),$(warning LEAVE))
 
diff --git a/makefiles/lint/shellcheck/include.mk b/makefiles/lint/shellcheck/include.mk
index 329ce8d..5d7309b 100644
--- a/makefiles/lint/shellcheck/include.mk
+++ b/makefiles/lint/shellcheck/include.mk
@@ -22,11 +22,11 @@
 ##--------------------##
 ##---]  INCLUDES  [---##
 ##--------------------##
-# include $(ONF_MAKEDIR)/lint/shellcheck/help.mk
-include $(ONF_MAKEDIR)/lint/shellcheck/find_utils.mk
+# include $(legacy-mk)/lint/shellcheck/help.mk
+include $(legacy-mk)/lint/shellcheck/find_utils.mk
 
 # Standard lint-yaml targets
-include $(ONF_MAKEDIR)/lint/shellcheck/shellcheck.mk
+include $(legacy-mk)/lint/shellcheck/shellcheck.mk
 
 mk-include--onf-lint-shellcheck := true#        # Flag to inhibit re-including
 
diff --git a/makefiles/lint/tox/include.mk b/makefiles/lint/tox/include.mk
index 29dfc8c..ba10793 100644
--- a/makefiles/lint/tox/include.mk
+++ b/makefiles/lint/tox/include.mk
@@ -20,7 +20,7 @@
 
 $(if $(DEBUG),$(warning ENTER))
 
-include $(ONF_MAKEDIR)/lint/tox/tox.mk
+include $(legacy-mk)/lint/tox/tox.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 b618f6a..ad13c8e 100644
--- a/makefiles/lint/yaml/byrepo/voltha-lib-go/include.mk
+++ b/makefiles/lint/yaml/byrepo/voltha-lib-go/include.mk
@@ -20,7 +20,7 @@
 ##--------------------##
 ##---]  INCLUDES  [---##
 ##--------------------##
-include $(ONF_MAKEDIR)/lint/yaml/byrepo/$(--repo-name--)/yamllint.mk
+include $(legacy-mk)/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 575c299..76ceb1a 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) $(legacy-mk)/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 2c9011c..62bfb30 100644
--- a/makefiles/lint/yaml/include.mk
+++ b/makefiles/lint/yaml/include.mk
@@ -22,16 +22,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 $(legacy-mk)/lint/yaml/help.mk
+include $(legacy-mk)/lint/yaml/find_utils.mk
+include $(legacy-mk)/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 $(legacy-mk)/lint/yaml/byrepo/$(--repo-name--)/include.mk
 
 # Standard lint-yaml targets
-include $(ONF_MAKEDIR)/lint/yaml/yamllint.mk
+include $(legacy-mk)/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 20d248c..a858933 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 $(legacy-mk)/python/test/include.mk
 else
-  include $(ONF_MAKEDIR)/python/test/include.mk
+  include $(legacy-mk)/python/test/include.mk
 endif
 
 # [EOF]
diff --git a/makefiles/targets/include.mk b/makefiles/targets/include.mk
index 2e534ea..7d2c99e 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 $(legacy-mk)/targets/clean.mk
+include $(legacy-mk)/targets/check.mk
+include $(legacy-mk)/targets/sterile.mk
+include $(legacy-mk)/targets/test/include.mk
 
 $(if $(DEBUG),$(warning LEAVE))
 
diff --git a/makefiles/targets/test/include.mk b/makefiles/targets/test/include.mk
index 85b8648..30a7e38 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 $(legacy-mk)/targets/test/$(--repo-name--).mk
 
 $(if $(DEBUG),$(warning LEAVE))
 
