makefiles/consts.mk
-------------------
  o Define a non-verbose (no -t) xargs macro.

makefiles/include.mk
--------------------
  o Define a path variable (local-mk-dir=) to access per-repo macros.
  o Change global ONF_MAKEDIR= path to $(onf-mk-dir).

makefiles/lint/doc8/doc8.ini
makefiles/lint/doc8/doc8.mk
makefiles/lint/doc8/help.mk
makefiles/lint/doc8/include.mk
makefiles/lint/doc8/ini.mk
makefiles/lint/doc8/README.md
-----------------------------
  o per-repository exclusions require using multiple --config doc8.ini.
  o doc8 --config only accepts one flag.
  o lint logic will merge configs into one.
  o Added a conditional var to facilitate using --config doc8.ini.

makefiles/main/tempdir/
-----------------------
  o Added logic to create and cleanup a tempdir for internal use.

Signed-off-by: Joey Armstrong <jarmstrong@linuxfoundation.org>
Change-Id: Ic1c54e982d6e24465bd38f02f60a3b700a7d9e33
diff --git a/makefiles/lint/doc8/README.md b/makefiles/lint/doc8/README.md
new file mode 100644
index 0000000..0596967
--- /dev/null
+++ b/makefiles/lint/doc8/README.md
@@ -0,0 +1,17 @@
+doc8
+====
+
+The doc8 tool can be configured by modifying doc8.ini files.
+Common config changes can be added in repo:onf-make/makefiles/lint/doc8.
+per-repository changes can be added in lf/local/makefiles/lint/doc8/doc8.ini.
+
+The makefile target lint-doc8 will merge these two config files into
+a single config prior to invoking the doc8 tool.
+
+Common exclusions are added in repo:onf-make/makefiles/lint/doc8/doc.ini.
+
+[TODO]
+  - Deploy repo:onf-make to all voltha repositories.
+  - Create lf/local/lib/makefiles/doc8/doc.ini and configure.
+  - Once all repositories have been updated delete lint/doc8/excl.mk
+
diff --git a/makefiles/lint/doc8/doc8.ini b/makefiles/lint/doc8/doc8.ini
index 3fe7969..fd87fdc 100644
--- a/makefiles/lint/doc8/doc8.ini
+++ b/makefiles/lint/doc8/doc8.ini
@@ -1,26 +1,5 @@
 [doc8]
 
-# -----------------------------------------------------------------------
-# Copyright 2017-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: 2017-2024 Open Networking Foundation Contributors
-# SPDX-License-Identifier: Apache-2.0
-# -----------------------------------------------------------------------
-# Intent:
-# -----------------------------------------------------------------------
-    
 ## -----------------------------------------------------------------------
 # $ doc8  -h
 # 
diff --git a/makefiles/lint/doc8/doc8.mk b/makefiles/lint/doc8/doc8.mk
index 9bb71fc..2c499ac 100644
--- a/makefiles/lint/doc8/doc8.mk
+++ b/makefiles/lint/doc8/doc8.mk
@@ -1,12 +1,12 @@
 # -*- makefile -*-
 # -----------------------------------------------------------------------
-# Copyright 2017-2024 Open Networking Foundation Contributors
+# Copyright 2017-2022 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.
 # You may obtain a copy of the License at
 #
-# http:#www.apache.org/licenses/LICENSE-2.0
+# 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,
@@ -14,11 +14,6 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 # -----------------------------------------------------------------------
-# SPDX-FileCopyrightText: 2017-2024 Open Networking Foundation Contributors
-# SPDX-License-Identifier: Apache-2.0
-# -----------------------------------------------------------------------
-# Intent:
-# -----------------------------------------------------------------------
 
 $(if $(DEBUG),$(eval LINT_DOC8_DEBUG=1))
 
@@ -37,7 +32,9 @@
 # use only one.  Repos have more special exclusions so pass onf-make
 # doc8 config as command line args so local makefiles to use --config
 # -----------------------------------------------------------------------
-# lint-doc8-args += --config $(ONF_MAKEDIR)/lint/doc8/doc8.ini
+ifdef USE_DOC8_INI
+  lint-doc8-args += --config $(ONF_MAKEDIR)/lint/doc8/doc8.ini
+endif
 
 ## -----------------------------------------------------------------------
 ## -----------------------------------------------------------------------
@@ -72,7 +69,9 @@
 ## -----------------------------------------------------------------------
 ## Usage: make lint-doc8 LINT_DOC8_DEBUG=1
 ## -----------------------------------------------------------------------
-lint-doc8: lint-doc8-cmd-version
+lint-doc8: \
+  lint-doc8-cmd-version \
+  lint-doc8-ini-tmp
 
 	$(call banner-enter,Target $@)
 	$(activate) && doc8 $(lint-doc8-excl) $(lint-doc8-args)
diff --git a/makefiles/lint/doc8/help.mk b/makefiles/lint/doc8/help.mk
index 5dbd23a..1ec6cb8 100644
--- a/makefiles/lint/doc8/help.mk
+++ b/makefiles/lint/doc8/help.mk
@@ -1,12 +1,12 @@
 # -*- makefile -*-
 # -----------------------------------------------------------------------
-# Copyright 2023-2024 Open Networking Foundation 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.
 # You may obtain a copy of the License at
 #
-# http:#www.apache.org/licenses/LICENSE-2.0
+# 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,
@@ -14,11 +14,6 @@
 # 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
-# -----------------------------------------------------------------------
-# Intent:
-# -----------------------------------------------------------------------
 
 $(if $(DEBUG),$(warning ENTER))
 
diff --git a/makefiles/lint/doc8/include.mk b/makefiles/lint/doc8/include.mk
index d1b69cb..83bbcbf 100644
--- a/makefiles/lint/doc8/include.mk
+++ b/makefiles/lint/doc8/include.mk
@@ -1,12 +1,12 @@
 # -*- makefile -*-
 # -----------------------------------------------------------------------
-# Copyright 2017-2024 Open Networking Foundation Contributors
+# Copyright 2017-2022 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.
 # You may obtain a copy of the License at
 #
-# http:#www.apache.org/licenses/LICENSE-2.0
+# 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,
@@ -14,11 +14,6 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 # -----------------------------------------------------------------------
-# SPDX-FileCopyrightText: 2017-2024 Open Networking Foundation Contributors
-# SPDX-License-Identifier: Apache-2.0
-# -----------------------------------------------------------------------
-# Intent:
-# -----------------------------------------------------------------------
 # NOTE: The doc8 command runs recursively on directories so targets
 #       *-mod and *-src are not yet supported.
 # -----------------------------------------------------------------------
@@ -26,9 +21,11 @@
 ##--------------------##
 ##---]  INCLUDES  [---##
 ##--------------------##
-include $(ONF_MAKEDIR)/lint/doc8/doc8.mk
-include $(ONF_MAKEDIR)/lint/doc8/excl.mk
-include $(ONF_MAKEDIR)/lint/doc8/help.mk
-include $(ONF_MAKEDIR)/lint/doc8/install.mk
+include $(onf-mk-top)/lint/doc8/ini.mk
+include $(onf-mk-top)/lint/doc8/excl.mk
+include $(onf-mk-top)/lint/doc8/help.mk
+include $(onf-mk-top)/lint/doc8/install.mk
+
+include $(onf-mk-top)/lint/doc8/doc8.mk
 
 # [EOF]
diff --git a/makefiles/lint/doc8/ini.mk b/makefiles/lint/doc8/ini.mk
index 7a2393f..971bfb4 100644
--- a/makefiles/lint/doc8/ini.mk
+++ b/makefiles/lint/doc8/ini.mk
@@ -17,7 +17,9 @@
 # SPDX-FileCopyrightText: 2023-2024 Open Networking Foundation Contributors
 # SPDX-License-Identifier: Apache-2.0
 # -----------------------------------------------------------------------
-# Intent:
+# Intent: doc8(s) --config switch will only accept one argument and
+#   config(s)/exclusion(s) are needed from multiple sources.
+#   This target will merge doc8.ini from onf-make/ and local/ for use.
 # -----------------------------------------------------------------------
 
 ##-------------------##
@@ -32,18 +34,12 @@
 lint-doc8-ini-tmp : $(lint-doc8-ini-tmp)
 
 # -----------------------------------------------------------------------
-# Intent: Doc8(s) --config switch will only accept one argument and
-#   configs/exclusions are needed from multiple sources.
-#   This target will merge doc8.ini from onf-make/ and local/ for use.
+# doc8 config files to merge: lf/makefiles/{onf-make,local}/
 # -----------------------------------------------------------------------
-# repo:onf-make is special, MAKEDIR=makefiles/local does not exist.
-# -----------------------------------------------------------------------
-lint-doc8-ini-raw := $(ONF_MAKEDIR)/lint/doc8/doc8.ini
-ifneq ($(--repo-name--),onf-make)
-  lint-doc8-ini-raw += $(MAKEDIR)/lint/doc8/doc8.ini
-endif
+lint-doc8-ini-raw := $(onf-mk-dir)/lint/doc8/doc8.ini
+lint-doc8-ini-raw += $(local-mk-dir)/lint/doc8/doc8.ini
 
-lint-doc8-ini-src = $(wildcard $(lint-doc8-ini-raw))
+lint-doc8-ini-src = $(wildcard $(sort $(lint-doc8-ini-raw)))
 $(lint-doc8-ini-tmp):
 
 	$(call banner,Target $@)