diff --git a/Makefile b/Makefile
index bbb46e2..d51c5c5 100644
--- a/Makefile
+++ b/Makefile
@@ -20,32 +20,16 @@
 ##-------------------##
 ##---]  GLOBALS  [---##
 ##-------------------##
-TOP         ?= .
-MAKEDIR     ?= $(TOP)/makefiles
-
-NO-LINT-MAKEFILE := true    # cleanup needed
-NO-LINT-PYTHON   := true    # cleanup needed
-NO-LINT-SHELL    := true    # cleanup needed
-
-export SHELL := bash -e -o pipefail
 
 ##--------------------##
 ##---]  INCLUDES  [---##
 ##--------------------##
-include $(MAKEDIR)/include.mk
+include config.mk
+include makefiles/include.mk
 
 # Variables
 VERSION                    ?= $(shell cat ./VERSION)
 
-# tool containers
-VOLTHA_TOOLS_VERSION ?= 2.4.0
-
-GO                = docker run --rm --user $$(id -u):$$(id -g) -v ${CURDIR}:/app $(shell test -t 0 && echo "-it") -v gocache:/.cache -v gocache-${VOLTHA_TOOLS_VERSION}:/go/pkg voltha/voltha-ci-tools:${VOLTHA_TOOLS_VERSION}-golang go
-GO_JUNIT_REPORT   = docker run --rm --user $$(id -u):$$(id -g) -v ${CURDIR}:/app -i voltha/voltha-ci-tools:${VOLTHA_TOOLS_VERSION}-go-junit-report go-junit-report
-GOCOVER_COBERTURA = docker run --rm --user $$(id -u):$$(id -g) -v ${CURDIR}:/app/src/github.com/opencord/voltha-lib-go/v7 -i voltha/voltha-ci-tools:${VOLTHA_TOOLS_VERSION}-gocover-cobertura gocover-cobertura
-GOLANGCI_LINT     = docker run --rm --user $$(id -u):$$(id -g) -v ${CURDIR}:/app $(shell test -t 0 && echo "-it") -v gocache:/.cache -v gocache-${VOLTHA_TOOLS_VERSION}:/go/pkg voltha/voltha-ci-tools:${VOLTHA_TOOLS_VERSION}-golangci-lint golangci-lint
-
-
 ## -----------------------------------------------------------------------
 ## Local Development Helpers
 ## -----------------------------------------------------------------------
@@ -65,32 +49,59 @@
 ## build the library
 ## -----------------------------------------------------------------------
 build: local-protos
-## ${GO} build -mod=vendor ./...
+	$(call banner-enter,Target $@)
 	${GO} build -mod=vendor ./...
-
-## lint and unit tests
+	$(call banner-leave,Target $@)
 
 ## -----------------------------------------------------------------------
 ## -----------------------------------------------------------------------
 lint-mod:
+	$(call banner-entry,Target $@)
 	@echo "Running dependency check..."
 	@${GO} mod verify
 	@echo "Dependency check OK. Running vendor check..."
 	@git status > /dev/null
 	@git diff-index --quiet HEAD -- go.mod go.sum vendor || (echo "ERROR: Staged or modified files must be committed before running this test" && git status -- go.mod go.sum vendor && exit 1)
 	@[[ `git ls-files --exclude-standard --others go.mod go.sum vendor` == "" ]] || (echo "ERROR: Untracked files must be cleaned up before running this test" && git status -- go.mod go.sum vendor && exit 1)
-	${GO} mod tidy
-	${GO} mod vendor
+
+	$(HIDE)$(MAKE) --no-print-directory mod-update
+
 	@git status > /dev/null
 	@git diff-index --quiet HEAD -- go.mod go.sum vendor || (echo "ERROR: Modified files detected after running go mod tidy / go mod vendor" && git status -- go.mod go.sum vendor && git checkout -- go.mod go.sum vendor && exit 1)
 	@[[ `git ls-files --exclude-standard --others go.mod go.sum vendor` == "" ]] || (echo "ERROR: Untracked files detected after running go mod tidy / go mod vendor" && git status -- go.mod go.sum vendor && git checkout -- go.mod go.sum vendor && exit 1)
 	@echo "Vendor check OK."
+	$(call banner-leave,Target $@)
+
+## -----------------------------------------------------------------------
+## -----------------------------------------------------------------------
+.PHONY: mod-update
+mod-update: mod-tidy mod-vendor
+
+## -----------------------------------------------------------------------
+## -----------------------------------------------------------------------
+.PHONY: mod-tidy
+mod-tidy :
+	$(call banner-enter,Target $@)
+	${GO} mod tidy
+	$(call banner-leave,Target $@)
+
+## -----------------------------------------------------------------------
+## -----------------------------------------------------------------------
+.PHONY: mod-vendor
+mod-vendor : mod-tidy
+mod-vendor :
+	$(call banner-enter,Target $@)
+	$(if $(LOCAL_FIX_PERMS),chmod o+w $(CURDIR))
+	${GO} mod vendor
+	$(if $(LOCAL_FIX_PERMS),chmod o-w $(CURDIR))
+	$(call banner-leave,Target $@)
 
 ## -----------------------------------------------------------------------
 ## -----------------------------------------------------------------------
 lint: lint-mod
 
 ## -----------------------------------------------------------------------
+## Coverage report: Static code analysis
 ## -----------------------------------------------------------------------
 sca:
 	@$(RM) -r ./sca-report
@@ -103,26 +114,136 @@
 ## -----------------------------------------------------------------------
 ## -----------------------------------------------------------------------
 test: local-protos
+
+	$(call banner-enter,Target $@)
 	@mkdir -p ./tests/results
-	@${GO} test -mod=vendor -v -coverprofile ./tests/results/go-test-coverage.out -covermode count ./... 2>&1 | tee ./tests/results/go-test-results.out ;\
-	RETURN=$$? ;\
-	${GO_JUNIT_REPORT} < ./tests/results/go-test-results.out > ./tests/results/go-test-results.xml ;\
-	${GOCOVER_COBERTURA} < ./tests/results/go-test-coverage.out > ./tests/results/go-test-coverage.xml ;\
-	exit $$RETURN
+
+        # No stream redirects, exit with shell status
+	$(MAKE) test-go
+
+        # Redirect I/O, ignore shell exit status (for now)
+	$(MAKE) test-go-cover
+
+	$(call banner-leave,Target $@)
 
 ## -----------------------------------------------------------------------
 ## -----------------------------------------------------------------------
-clean: distclean
+.PHONY: test-go
+test-go :
+
+	$(call banner-enter,Target $@)
+	@echo "** Testing attempt #1: exit-with-error-status: enabled"
+	-$(GO) test -mod=vendor ./...
+	$(call banner-leave,Target $@)
 
 ## -----------------------------------------------------------------------
 ## -----------------------------------------------------------------------
-distclean sterile:
+.PHONY: test-go-cover
+test-go : gen-coverage-coverprofile gen-coverage-junit gen-coverage-cobertura
+
+
+## -----------------------------------------------------------------------
+## Intent: Generate coverprofile data
+## -----------------------------------------------------------------------
+cover-dir      := ./tests/results
+go-cover-out   := $(cover-dir)/go-test-coverage.out
+go-result-out := $(cover-dir)/go-test-results.out
+
+.PHONY: gen-coverage-coverprofile
+gen-coverage-coverprofile:
+
+	$(call banner-enter,Target $@)
+	@echo "** Testing attempt #2: exit-with-error-status: disabled"
+
+        # Fix docker volume perms if building locally
+	touch "$(go-cover-out)"
+	$(if $(LOCAL_FIX_PERMS),chmod o+w "$(go-cover-out)")
+
+        # Fix docker volume perms if building locally
+	$(if $(LOCAL_FIX_PERMS),touch "$(go-result-out)")
+	$(if $(LOCAL_FIX_PERMS),chmod o+w "$(go-result-out)")
+
+        # ------------------------------------------ 
+        # set -euo pipefail else tee masks $? return
+        # ------------------------------------------
+	@echo '** Running test coverage: exit-on-error is currently disabled'
+	-(\
+	    set -euo pipefail; \
+	    $(GO) test -mod=vendor -v -coverprofile "$(go-cover-out)" -covermode count ./... 2>&1 | tee "$(go-result-out)" \
+	)  
+
+	$(if $(LOCAL_FIX_PERMS),chmod o-w "$(go-result-out)")
+	$(call banner-leave,Target $@)
+
+## -----------------------------------------------------------------------
+## Intent: Morph coverage data into junit/xml content
+## -----------------------------------------------------------------------
+go-results-xml  := $(cover-dir)/go-test-results.xml
+
+.PHONY: gen-coverage-junit
+gen-coverage-junit : gen-coverage-coverprofile
+gen-coverage-junit:
+	$(call banner-enter,Target $@)
+
+        # Fix docker volume perms if building locally
+	$(if $(LOCAL_FIX_PERMS),touch "$(go-results-xml)")
+	$(if $(LOCAL_FIX_PERMS),chmod o+w "$(go-results-xml)")
+
+	${GO_JUNIT_REPORT} < $(go-result-out) > "$(go-results-xml)"
+
+	$(if $(LOCAL_FIX_PERMS),chmod o-w "$(go-results-xml)")
+	$(call banner-leave,Target $@)
+
+## -----------------------------------------------------------------------
+## Intent: Morph coverage data into cobertura xml
+## -----------------------------------------------------------------------
+go-cover-xml := $(cover-dir)/go-test-coverage.xml
+
+.PHONY: gen-coverage-cobertura
+gen-coverage-cobertura : gen-coverage-junit
+gen-coverage-cobertura :
+
+	$(call banner-enter,Target $@)
+
+        # Fix docker volume perms if building locally
+	$(if $(LOCAL_FIX_PERMS),touch "$(go-cover-xml)")
+	$(if $(LOCAL_FIX_PERMS),chmod o+w "$(coverproifle-xml)")
+
+	${GOCOVER_COBERTURA} < "$(go-cover-out)" > "$(go-cover-xml)"
+
+	$(if $(LOCAL_FIX_PERMS),chmod o-w "$(go-cover-xml)")
+	$(call banner-leave,Target $@)
+
+## -----------------------------------------------------------------------
+## -----------------------------------------------------------------------
+distclean:
 	$(RM) -r ./sca-report ./tests
 
 ## -----------------------------------------------------------------------
 ## -----------------------------------------------------------------------
-mod-update:
-	${GO} mod tidy
-	${GO} mod vendor
+clean :: distclean
+
+## -----------------------------------------------------------------------
+## -----------------------------------------------------------------------
+sterile :: clean
+
+## -----------------------------------------------------------------------
+## -----------------------------------------------------------------------
+help ::
+	@echo "Usage: make [<target>]"
+	@echo "where available targets are:"
+	@echo
+	@echo "build                : Build the library"
+	@echo "clean                : Remove files created by the build"
+	@echo "distclean            : Remove build and testing artifacts and reports"
+	@echo "lint-mod             : Verify the integrity of the 'mod' files"
+	@echo "mod-update           : Update go.mod and the vendor directory"
+	@echo "test                 : Generate reports for all go tests"
+	@echo
+	@echo '[REPORT: coverage]'
+	@echo '  gen-coverage-coverprofile    Generate profiling data'
+	@echo '  gen-coverage-junit           Generate junit coverage report'
+	@echo '  gen-coverage-cobertura       Generate cobertura report'
 
 # [EOF]
+
