diff --git a/makefiles/lint/robot/include.mk b/makefiles/lint/robot/include.mk
index 283c729..0aa2914 100644
--- a/makefiles/lint/robot/include.mk
+++ b/makefiles/lint/robot/include.mk
@@ -1,6 +1,6 @@
 # -*- makefile -*-
 # -----------------------------------------------------------------------
-# Copyright 2017-2022 Open Networking Foundation
+# Copyright 2017-2024 Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -14,52 +14,16 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 # -----------------------------------------------------------------------
+# NOTE: The doc8 command runs recursively on directories so targets
+#       *-mod and *-src are not yet supported.
+# -----------------------------------------------------------------------
 
-##-------------------##
-##---]  GLOBALS  [---##
-##-------------------##
-.PHONY: lint-robot lint-robot-all lint-robot-modified
-
-have-robot-files := $(if $(strip $(ROBOT_FILES)),true)
-ROBOT_FILES ?= $(error ROBOT_FILES= is required)
-
-## -----------------------------------------------------------------------
-## -----------------------------------------------------------------------
-ifndef NO-LINT-ROBOT
-  lint-robot-mode := $(if $(have-robot-files),modified,all)
-  lint : lint-robot-$(lint-robot-mode)
-endif# NO-LINT-ROBOT
-
-# Consistent targets across lint makefiles
-lint-robot-all      : lint-robot
-lint-robot-modified : lint-robot
-
-LINT_ARGS ?= --verbose --configure LineTooLong:130 -e LineTooLong \
-             --configure TooManyTestSteps:65 -e TooManyTestSteps \
-             --configure TooManyTestCases:50 -e TooManyTestCases \
-             --configure TooFewTestSteps:1 \
-             --configure TooFewKeywordSteps:1 \
-             --configure FileTooLong:2000 -e FileTooLong \
-             -e TrailingWhitespace
-
-## -----------------------------------------------------------------------
-## -----------------------------------------------------------------------
-lint-robot: $(venv-activate-script)
-	@echo
-	@echo '** -----------------------------------------------------------------------'
-	@echo '** robot *.rst syntax checking'
-	@echo '** -----------------------------------------------------------------------'
-#	$(activate) && rflint --version
-	$(activate) && rflint $(LINT_ARGS) $(ROBOT_FILES)
-
-## -----------------------------------------------------------------------
-## Intent: Display command usage
-## -----------------------------------------------------------------------
-help::
-	@echo '  lint-robot          Syntax check python using the robot command'
-  ifdef VERBOSE
-	@echo '  lint-robot-all       robot checking: exhaustive'
-	@echo '  lint-robot-modified  robot checking: only modified'
-  endif
+##--------------------##
+##---]  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
 
 # [EOF]
