Makefile edits to improve library lint target support.
Makefile
--------
o Replace inlined includes with single $(MAKEDIR)/include.mk
o virtualenv install w/dependencies handled by makefiles/virtualenv.mk
o Use '&&' for command separation to improve error handling.
o Added more target documentation.
o Re-home doc8/rst syntax checking into makefiles/lint/doc8.mk.
howto/code/linting.rst
----------------------
o Document supported lint targets on docs.voltha.org.
howto/release/index.rst
howto/release/post-release/
howto/release/vcs/
---------------------------
o Document more release related activity (bugfix branch creation)
makefiles/consts.mk
-------------------
o Define and use more library macros.
config.mk
---------
o Per-repository library makefile configuration, disable linting.
makefiles/virtualenv.mk
-----------------------
o Library virtualenv install with dependences.
o Begin using a consistent install directory.
o Ugh: repository (voltha-docs) submodules each install a full venv.
o Install dependency drive based on existence of activate script.
o Lint targets updated to use activate script as a dependency.
o Update activate macro to run: set -u && activate && set +u
makefiles/patches/include.mk
----------------------------
o Update to use virtualenv.mk defined macros.
makefiles/lint/doc8.mk
makefiles/lint/python/flake8.mk
makefiles/lint/json.mk
makefiles/lint/python/pylint.mk
makefiles/lint/robot.mk
makefiles/lint/shell.mk
makefiles/lint/yaml.mk
-------------------------------
o All library linting defines consistent targets and logic.
o Support two library targets: lint-all and lint-modified.
o Default to checking all available sources.
o Linting can be disabled per-repository via {project}/config.mk
Change-Id: I7b7b5e523c867183d44244a0da21cfa3584e9a50
diff --git a/makefiles/lint/include.mk b/makefiles/lint/include.mk
index 0f653c9..96f6bce 100644
--- a/makefiles/lint/include.mk
+++ b/makefiles/lint/include.mk
@@ -15,12 +15,29 @@
# limitations under the License.
# -----------------------------------------------------------------------
+# -----------------------------------------------------------------------
+# Intent: Display help banner early before library lint help targets.
+# -----------------------------------------------------------------------
help::
@echo
@echo "[LINT]"
+## Disable python linting in bulk ?
+ifdef NO-LINT-PYTHON
+ NO-LINT-FLAKE8 := true
+ NO-LINT-PYLINT := true
+endif
+
+# Define early else {flake8,pylint}.mk will complain:
+# PYTHON_FILES ?= $(error)
+have-python-files := $(if $(strip $(PYTHON_FILES)),true)
+
+##--------------------##
+##---] INCLUDES [---##
+##--------------------##
+include $(MAKEDIR)/lint/doc8.mk
include $(MAKEDIR)/lint/json.mk
-include $(MAKEDIR)/lint/python.mk
+include $(MAKEDIR)/lint/python/include.mk
include $(MAKEDIR)/lint/robot.mk
include $(MAKEDIR)/lint/shell.mk
include $(MAKEDIR)/lint/yaml.mk