diff --git a/makefiles/git-submodules.mk b/makefiles/git-submodules.mk
new file mode 100644
index 0000000..a96121c
--- /dev/null
+++ b/makefiles/git-submodules.mk
@@ -0,0 +1,61 @@
+# -*- makefile -*-
+# -----------------------------------------------------------------------
+# Copyright 2022-2023 Open Networking Foundation (ONF) and the ONF 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: 2022 Open Networking Foundation (ONF) and the ONF Contributors
+# SPDX-License-Identifier: Apache-2.0
+# -----------------------------------------------------------------------
+
+$(if $(DEBUG),$(warning ENTER))
+
+## -----------------------------------------------------------------------
+## Intent: Checkout submodules required by ci-management
+## -----------------------------------------------------------------------
+submodule-deps := $(null)
+submodule-deps += submodules#     # named pseudo target
+submodule-deps += global-jjb
+submodule-deps += lf-ansible
+submodule-deps += packer
+
+.PHONY: $(submodule-deps)
+$(submodule-deps):
+	git submodule init
+	git submodule update
+
+## -----------------------------------------------------------------------
+## -----------------------------------------------------------------------
+sterile ::
+	$(RM) -r $(submodule-deps)
+
+## -----------------------------------------------------------------------
+## -----------------------------------------------------------------------
+help ::
+	@echo
+	@echo '[GIT-SUBMODULES]'
+	@echo '  submodules     Checkout dependent git submodules'
+  ifdef VERBOSE
+	@echo '  global-jjb     Checkout ci-management submodule global-jjb'
+	@echo '  lf-ansible     Checkout ci-management submodule lf-ansible'
+	@echo '  packer         Checkout ci-management submodule packer'
+  endif
+
+## -----------------------------------------------------------------------
+## -----------------------------------------------------------------------
+todo ::
+	@echo "Generalize logc, update to depend on .git/ rather than named targets."
+
+$(if $(DEBUG),$(warning LEAVE))
+
+# [EOF]
diff --git a/makefiles/help/include.mk b/makefiles/help/include.mk
index 81fd3d7..6e6ddff 100644
--- a/makefiles/help/include.mk
+++ b/makefiles/help/include.mk
@@ -20,16 +20,6 @@
 help ::
 	@echo "Usage: $(MAKE) [options] [target] ..."
 	@echo
-	@echo '[Virtual Env]'
-	@echo '  venv           Create a python virtual environment'
-ifdef VENV_NAME
-	@echo "    VENV_NAME=$(VENV_NAME)"
-endif
-	@echo
-	@echo '[CLEAN]'
-	@echo '  clean          Remove generated targets'
-	@echo '  sterile        clean + remove virtual env interpreter install'
-	@echo
 	@echo '[VIEW]'
 	@echo '  reload         Setup to auto-reload sphinx doc changes in browser'
 	@echo '  view-html      View generated documentation'
@@ -37,9 +27,5 @@
 	@echo '[TEST]'
 	@echo '  test           make lint linkcheck'
 	@echo '  test-all       make all-generation-targets'
-	@echo
-	@echo '[HELP]'
-	@echo '  help           Display program help'
-	@echo '  help-verbose   Display additional targets and help'
 
 # [EOF]
diff --git a/makefiles/help/trailer.mk b/makefiles/help/trailer.mk
index d5d5369..dac7e15 100644
--- a/makefiles/help/trailer.mk
+++ b/makefiles/help/trailer.mk
@@ -19,6 +19,18 @@
 
 help ::
 	@echo
+	@echo '[CLEAN]'
+	@echo '  clean          Remove generated targets'
+	@echo '  sterile        clean + remove virtual env interpreter install'
+
+help ::
+	@echo
+	@echo '[HELP]'
+	@echo '  help           Display program help'
+	@echo '  help-verbose   Display additional targets and help'
+
+help ::
+	@echo
 	@echo '[NOTE: python 3.10+]'
 	@echo '  The interpreter is not yet fully supported across foreign repositories.'
 	@echo '  While working locally, if make fails to build a target try:'
diff --git a/makefiles/include.mk b/makefiles/include.mk
index 59aa600..1fe87ab 100644
--- a/makefiles/include.mk
+++ b/makefiles/include.mk
@@ -1,6 +1,6 @@
 # -*- makefile -*-
 # -----------------------------------------------------------------------
-# Copyright 2022 Open Networking Foundation (ONF) and the ONF Contributors
+# Copyright 2022-2023 Open Networking Foundation (ONF) and the ONF Contributors
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -27,6 +27,7 @@
 include $(ONF_MAKE)/help/include.mk
 include $(ONF_MAKE)/lint/include.mk
 include $(ONF_MAKE)/virtualenv.mk
+include $(ONF_MAKE)/git-submodules.mk
 include $(ONF_MAKE)/todo.mk
 include $(ONF_MAKE)/help/variables.mk
 
diff --git a/makefiles/virtualenv.mk b/makefiles/virtualenv.mk
index 8207cfc..9fb5ad9 100644
--- a/makefiles/virtualenv.mk
+++ b/makefiles/virtualenv.mk
@@ -54,10 +54,11 @@
 help ::
 	@echo
 	@echo '[VIRTUAL ENV]'
-	@echo '  venv-name=          Subdir name for virtualenv install'
-	@echo '  venv-activate-script: make macro name'
-	@echo '      $$(target) dependency    : install python virtualenv'
-	@echo '      source $$(macro) && cmd  : configure env and run cmd'
+	@echo '  venv                         Create a python virtual environment'
+	@echo '    venv-name=                 Subdir name for virtualenv install'
+	@echo '  venv-activate-script         make macro name'
+	@echo '      $$(target) dependency    install python virtualenv'
+	@echo '      source $$(macro) && cmd  configure env and run cmd'
 
 $(if $(DEBUG),$(warning LEAVE))
 
