STARTUP_DIR?=$(PWD)
MACHINE=$(shell uname -m)
SUDO?=sudo
+DPDK_CONFIG?=no-pci
,:=,
define disable_plugins
DEB_DEPENDS += python-all python3-all python3-setuptools python-dev
DEB_DEPENDS += python-virtualenv python-pip libffi6 check
DEB_DEPENDS += libboost-all-dev libffi-dev python3-ply libmbedtls-dev
-DEB_DEPENDS += cmake ninja-build uuid-dev python3-jsonschema
+DEB_DEPENDS += cmake ninja-build uuid-dev python3-jsonschema python3-yaml yamllint
ifeq ($(OS_VERSION_ID),14.04)
DEB_DEPENDS += libssl-dev
else ifeq ($(OS_ID)-$(OS_VERSION_ID),debian-8)
RPM_DEPENDS += ninja-build
RPM_DEPENDS += libuuid-devel
RPM_DEPENDS += mbedtls-devel
+RPM_DEPENDS += yamllint
ifeq ($(OS_ID),fedora)
RPM_DEPENDS += dnf-utils
help:
@echo "Make Targets:"
- @echo " install-dep - install software dependencies"
- @echo " wipe - wipe all products of debug build "
- @echo " wipe-release - wipe all products of release build "
- @echo " build - build debug binaries"
- @echo " build-release - build release binaries"
- @echo " build-coverity - build coverity artifacts"
- @echo " rebuild - wipe and build debug binares"
- @echo " rebuild-release - wipe and build release binares"
- @echo " run - run debug binary"
- @echo " run-release - run release binary"
- @echo " debug - run debug binary with debugger"
- @echo " debug-release - run release binary with debugger"
- @echo " test - build and run (basic) functional tests"
- @echo " test-debug - build and run (basic) functional tests (debug build)"
- @echo " test-all - build and run (all) functional tests"
- @echo " test-all-debug - build and run (all) functional tests (debug build)"
- @echo " test-gcov - build and run functional tests (gcov build)"
- @echo " test-shell - enter shell with test environment"
- @echo " test-shell-debug - enter shell with test environment (debug build)"
- @echo " test-wipe - wipe files generated by unit tests"
- @echo " retest - run functional tests"
- @echo " retest-debug - run functional tests (debug build)"
- @echo " test-help - show help on test framework"
- @echo " run-vat - run vpp-api-test tool"
- @echo " pkg-deb - build DEB packages"
- @echo " pkg-deb-debug - build DEB debug packages"
- @echo " vom-pkg-deb - build vom DEB packages"
- @echo " vom-pkg-deb-debug - build vom DEB debug packages"
- @echo " pkg-rpm - build RPM packages"
- @echo " install-ext-deps - install external development dependencies"
- @echo " ctags - (re)generate ctags database"
- @echo " gtags - (re)generate gtags database"
- @echo " cscope - (re)generate cscope database"
- @echo " checkstyle - check coding style"
- @echo " fixstyle - fix coding style"
- @echo " doxygen - (re)generate documentation"
- @echo " bootstrap-doxygen - setup Doxygen dependencies"
- @echo " wipe-doxygen - wipe all generated documentation"
- @echo " checkfeaturelist - check FEATURE.yaml according to schema"
- @echo " featurelist - dump feature list in markdown"
- @echo " json-api-files - (re)-generate json api files"
+ @echo " install-dep - install software dependencies"
+ @echo " wipe - wipe all products of debug build "
+ @echo " wipe-release - wipe all products of release build "
+ @echo " build - build debug binaries"
+ @echo " build-release - build release binaries"
+ @echo " build-coverity - build coverity artifacts"
+ @echo " rebuild - wipe and build debug binaries"
+ @echo " rebuild-release - wipe and build release binaries"
+ @echo " run - run debug binary"
+ @echo " run-release - run release binary"
+ @echo " debug - run debug binary with debugger"
+ @echo " debug-release - run release binary with debugger"
+ @echo " test - build and run (basic) functional tests"
+ @echo " test-debug - build and run (basic) functional tests (debug build)"
+ @echo " test-all - build and run functional and extended tests"
+ @echo " test-all-debug - build and run functional and extended tests (debug build)"
+ @echo " test-gcov - build and run functional tests (gcov build)"
+ @echo " test-shell - enter shell with test environment"
+ @echo " test-shell-debug - enter shell with test environment (debug build)"
+ @echo " test-wipe - wipe files generated by unit tests"
+ @echo " retest - run functional tests"
+ @echo " retest-debug - run functional tests (debug build)"
+ @echo " test-help - show help on test framework"
+ @echo " run-vat - run vpp-api-test tool"
+ @echo " pkg-deb - build DEB packages"
+ @echo " pkg-deb-debug - build DEB debug packages"
+ @echo " vom-pkg-deb - build vom DEB packages"
+ @echo " vom-pkg-deb-debug - build vom DEB debug packages"
+ @echo " pkg-rpm - build RPM packages"
+ @echo " install-ext-deps - install external development dependencies"
+ @echo " ctags - (re)generate ctags database"
+ @echo " gtags - (re)generate gtags database"
+ @echo " cscope - (re)generate cscope database"
+ @echo " checkstyle - check coding style"
+ @echo " fixstyle - fix coding style"
+ @echo " doxygen - (re)generate documentation"
+ @echo " bootstrap-doxygen - setup Doxygen dependencies"
+ @echo " wipe-doxygen - wipe all generated documentation"
+ @echo " checkfeaturelist - check FEATURE.yaml according to schema"
+ @echo " featurelist - dump feature list in markdown"
+ @echo " json-api-files - (re)-generate json api files"
@echo " json-api-files-debug - (re)-generate json api files for debug target"
@echo " docs - Build the Sphinx documentation"
- @echo " docs-venv - Build the virtual environment for the Sphinx docs"
- @echo " docs-clean - Remove the generated files from the Sphinx docs"
- @echo " test-doc - generate documentation for test framework"
- @echo " test-wipe-doc - wipe documentation for test framework"
- @echo " test-cov - generate code coverage report for test framework"
- @echo " test-wipe-cov - wipe code coverage report for test framework"
- @echo " test-checkstyle - check PEP8 compliance for test framework"
- @echo " test-refresh-deps - refresh the Python dependencies for the tests"
+ @echo " docs-venv - Build the virtual environment for the Sphinx docs"
+ @echo " docs-clean - Remove the generated files from the Sphinx docs"
+ @echo " test-doc - generate documentation for test framework"
+ @echo " test-wipe-doc - wipe documentation for test framework"
+ @echo " test-cov - generate code coverage report for test framework"
+ @echo " test-wipe-cov - wipe code coverage report for test framework"
+ @echo " test-checkstyle - check PEP8 compliance for test framework"
+ @echo " test-refresh-deps - refresh the Python dependencies for the tests"
@echo ""
@echo "Make Arguments:"
@echo " V=[0|1] - set build verbosity level"
@echo " STARTUP_CONF=<path> - startup configuration file"
@echo " (e.g. /etc/vpp/startup.conf)"
- @echo " STARTUP_DIR=<path> - startup drectory (e.g. /etc/vpp)"
+ @echo " STARTUP_DIR=<path> - startup directory (e.g. /etc/vpp)"
@echo " It also sets STARTUP_CONF if"
@echo " startup.conf file is present"
@echo " GDB=<path> - gdb binary to use for debugging"
checkstyle:
@build-root/scripts/checkstyle.sh
+ yamllint $(WS_ROOT)/src
fixstyle:
@build-root/scripts/checkstyle.sh --fix
-featurelist:
+# necessary because Bug 1696324 - Update to python3.6 breaks PyYAML dependencies
+# Status: CLOSED CANTFIX
+# https://bugzilla.redhat.com/show_bug.cgi?id=1696324
+centos-pyyaml:
+ifeq ($(OS_ID)-$(OS_VERSION_ID),centos-7)
+ @python3 -m pip install pyyaml
+endif
+ifeq ($(OS_ID)-$(OS_VERSION_ID),centos-8)
+ @sudo -E yum install $(CONFIRM) python3-pyyaml
+endif
+
+featurelist: centos-pyyaml
@build-root/scripts/fts.py --all --markdown
-checkfeaturelist:
+checkfeaturelist: centos-pyyaml
@build-root/scripts/fts.py --validate --git-status
#