[VOL-5051] - Triage bbsim build

[VOL-5092] - verify_bbsim_unit-test repository failures in jenkins job history.

makefiles/*
-----------
  o Merge in latest library makefiles.
  o Some legacy retained:
      tools.mk => makefiles/docker/include.mk
      makefiles/lint/docker/*.mk (replace with docker/include.mk.new)

Makefile
--------
  o Remove bogus foobar target.
  o Target docs-lint now maps to library target lint-doc8.

docs/Makefile
-------------
  o venv install now handled by makefiles/virtualenv.mk
  o Replaced inlined doc8 lint target with makefiles/lint/doc8 (lint-doc8)
  o Use std defines for SHELL= and other constants.
  o Replace separator ';' with '&&' in commands using venv (detect errors).

config.mk
---------
  o Enable lint targets for doc8, docker & json.
  o More lint checks can be enabled but cleanup is needed first.

docs/Makefile
requirements.txt
----------------
  o Identified a few python module problems documented in VOL-5092.
  o Makefile wild target(%) matching stray dependencies so hardcode sphinx targets to act on.
  o Added hyphen/success to "make docs" until VOL-5092 can be straightened out.

Change-Id: Ibe4006747ee610bfe8ac0fdbb339e5e18e6e9176
diff --git a/makefiles/include.mk b/makefiles/include.mk
index 1255f45..6b5283d 100644
--- a/makefiles/include.mk
+++ b/makefiles/include.mk
@@ -20,18 +20,44 @@
 
 $(if $(DEBUG),$(warning ENTER))
 
-MAKEDIR ?= $(error MAKEDIR= is required)
-
 ## -----------------------------------------------------------------------
+## Define vars based on relative import (normalize symlinks)
+## Usage: include makefiles/onf/include.mk
 ## -----------------------------------------------------------------------
-help::
-	@echo "USAGE: $(MAKE) [options] [target] ..."
-        # @echo "  test                          Sanity check chart versions"
+onf-mk-abs    ?= $(abspath $(lastword $(MAKEFILE_LIST)))
+onf-mk-top    := $(subst /include.mk,$(null),$(onf-mk-abs))
+ONF_MAKEDIR   := $(onf-mk-top)
 
-include $(MAKEDIR)/consts.mk
-include $(MAKEDIR)/commands.mk
-include $(MAKEDIR)/todo.mk
-include $(MAKEDIR)/lint/include.mk
+MAKEDIR ?= $(ONF_MAKEDIR)#                   # Two dirs needed, local and common
+
+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)/virtualenv.mk#        # lint-{jjb,python} depends on venv
+
+include $(ONF_MAKEDIR)/lint/include.mk
+
+# include $(ONF_MAKEDIR)/git-submodules.mk
+# include $(ONF_MAKEDIR)/gerrit/include.mk
+include $(ONF_MAKEDIR)/golang/include.mk
+
+include $(ONF_MAKEDIR)/todo.mk
+include $(ONF_MAKEDIR)/help/variables.mk
+
+##---------------------##
+##---]  ON_DEMAND  [---##
+##---------------------##
+$(if $(USE_DOCKER_MK),$(eval $(ONF_MAKEDIR)/docker/include.mk))
+
+##-------------------##
+##---]  TARGETS  [---##
+##-------------------##
+include $(ONF_MAKEDIR)/targets/clean.mk
+# include $(ONF_MAKEDIR)/targets/check.mk
+include $(ONF_MAKEDIR)/targets/sterile.mk
+# include $(ONF_MAKEDIR)/targets/test.mk
 
 $(if $(DEBUG),$(warning LEAVE))