VOL-4925 - Build and release components.
VERSION
-------
o Bump version string for a release build.
makefiles
---------
o Import more library based makefile logic.
o Several lint targets added, disabled by default but can be used by name.
o Removed pyenv dependency to support simple checking by shell iteration.
Misc
----
o Bulk copyright notice update to 2023
Change-Id: I3a6668be96b3e03966f8fb72ceba72c0b947ba6e
diff --git a/makefiles/lint/makefile.mk b/makefiles/lint/makefile.mk
new file mode 100644
index 0000000..61de008
--- /dev/null
+++ b/makefiles/lint/makefile.mk
@@ -0,0 +1,42 @@
+# -*- makefile -*-
+# -----------------------------------------------------------------------
+# Copyright 2022 Open Networking Foundation (ONF) and the ONF Contributors
+# -----------------------------------------------------------------------
+
+##-------------------##
+##---] GLOBALS [---##
+##-------------------##
+xargs-n1-local := $(subst -t,$(null),$(xargs-n1))# inhibit cmd display
+
+# Gather sources to check
+# TODO: implement deps, only check modified files
+make-check-find := find . \( -name makefile -o -name '*.mk' \) -type f -print0
+
+make-check := $(env-clean) $(MAKE)
+make-check-args += --dry-run
+make-check-args += --keep-going
+make-check-args += --warn-undefined-variables
+make-check-args += --no-print-directory
+
+# Quiet internal undef vars
+make-check-args += DEBUG=
+
+##-------------------##
+##---] TARGETS [---##
+##-------------------##
+ifndef NO-LINT-MAKEFILE
+ lint : lint-make
+endif
+
+## -----------------------------------------------------------------------
+## -----------------------------------------------------------------------
+lint-make:
+ $(HIDE)$(env-clean) $(make-check-find) \
+ | $(xargs-n1-local) $(make-check) $(make-check-args)
+
+## -----------------------------------------------------------------------
+## -----------------------------------------------------------------------
+help ::
+ @echo ' lint-make Syntax check [Mm]akefile and *.mk'
+
+# [EOF]