[VOL-5053] - Pre-release triage build of voltha-lib-go
makefiles/
----------
o Added latest library makefile versions from repo:onf-make.
o Remove inlined GO* macros and replaced with makefile/docker/include.mk
o Proper handling of --it/--tty so jenkins can capture docker output in logs.
pkg/adapters/common/
pkg/config/
pkg/db/
pkg/db/kvstore/
pkg/events/eventif/
---------------------
o Bulk copyright notice end-date updates.
o Run gofmt -s -w on all *.go sources to fix potential job problems.
o Cosmetic edits to force a build for the release.
config.mk
---------
o Ignore more lint targets: groovy (tool needed), jjb (not-needed)
Makefile
--------
o echo enter/leave banners within targets to improve readability.
o Inline set -euo pipefail within testing else tee command masks exit status.
o Added LOCAL_FIX_PERMS= hack to adjust docker volume perms when working locally.
o make test depends on test-go and test-go-coverage.
o test-go: normal test run, exit with status.
o test-go-coverage: test with code -cover but ignore errors until sources can be identified and cleaned up.
o Split test target into
- gen-coverage-coverprofile
- gen-coverage-junit
- gen-coverage-cobertura
- Separate targets help unwrap run-on command and the need to capture exit status.
- Logic can now migrate into a library makefile for other repos to make use of.
Change-Id: Id680c8eb626ff6b7cd27ca783988f659fa1468df
diff --git a/makefiles/include.mk b/makefiles/include.mk
index 023060e..a47a91c 100644
--- a/makefiles/include.mk
+++ b/makefiles/include.mk
@@ -14,25 +14,60 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
-# SPDX-FileCopyrightText: 2022 Open Networking Foundation (ONF) and the ONF Contributors
+# SPDX-FileCopyrightText: 2022-2023 Open Networking Foundation (ONF) and the ONF Contributors
# SPDX-License-Identifier: Apache-2.0
# -----------------------------------------------------------------------
+# https://gerrit.opencord.org/plugins/gitiles/onf-make
+# ONF.makefile.version = 1.0
+# -----------------------------------------------------------------------
+
+ifndef mk-include--onf-make # single-include guard macro
$(if $(DEBUG),$(warning ENTER))
-ONF_MAKE ?= $(MAKEDIR)# fix this -- two distinct makefile imports needed
-ONF_MAKE ?= $(error ONF_MAKE= is required)
-
## -----------------------------------------------------------------------
+## Define vars based on relative import (normalize symlinks)
+## Usage: include makefiles/onf/include.mk
## -----------------------------------------------------------------------
-help::
- @echo "Usage: make [options] [target] ..."
+onf-mk-abs ?= $(abspath $(lastword $(MAKEFILE_LIST)))
+onf-mk-top := $(subst /include.mk,$(null),$(onf-mk-abs))
+ONF_MAKEDIR := $(onf-mk-top)
-include $(ONF_MAKE)/consts.mk
-include $(ONF_MAKE)/help.mk
-include $(ONF_MAKE)/lint/include.mk
-# include $(ONF_MAKE)/python/include.mk
+TOP ?= $(patsubst %/makefiles/include.mk,%,$(onf-mk-abs))
+
+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)/commands/include.mk # Tools and local installers
+
+include $(ONF_MAKEDIR)/virtualenv.mk# # lint-{jjb,python} depends on venv
+include $(ONF_MAKEDIR)/lint/include.mk
+
+include $(ONF_MAKEDIR)/gerrit/include.mk
+include $(ONF_MAKEDIR)/git/include.mk
+include $(ONF_MAKEDIR)/jjb/include.mk
+
+# include $(ONF_MAKEDIR)/release/include.mk
+
+include $(ONF_MAKEDIR)/todo.mk
+include $(ONF_MAKEDIR)/help/variables.mk
+
+##---------------------##
+##---] ON_DEMAND [---##
+##---------------------##
+$(if $(USE-ONF-GERRIT-MK),$(eval include $(ONF_MAKEDIR)/gerrit/include.mk))
+$(if $(USE-ONF-DOCKER-MK),$(eval include $(ONF_MAKEDIR)/docker/include.mk))
+
+##-------------------##
+##---] TARGETS [---##
+##-------------------##
+include $(ONF_MAKEDIR)/targets/include.mk # clean, sterile, tox
$(if $(DEBUG),$(warning LEAVE))
+mk-include--onf-make := true
+
+endif # mk-include--onf-make
+
# [EOF]