X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=Makefile;h=0f0af4af0082121428b384223fd7a6f0e2d4affa;hb=91f102ed8;hp=ed6b3e9092be25dad0adf4226d95a1c4345b3f1b;hpb=510aaa8911843206f7b9ff48b41e3c7b8c4a99fe;p=vpp.git diff --git a/Makefile b/Makefile index ed6b3e9092b..0f0af4af008 100644 --- a/Makefile +++ b/Makefile @@ -14,6 +14,7 @@ export WS_ROOT=$(CURDIR) export BR=$(WS_ROOT)/build-root CCACHE_DIR?=$(BR)/.ccache +SHELL:=/bin/bash GDB?=gdb PLATFORM?=vpp SAMPLE_PLUGIN?=no @@ -64,12 +65,13 @@ endif DEB_DEPENDS = curl build-essential autoconf automake ccache DEB_DEPENDS += debhelper dkms git libtool libapr1-dev dh-systemd dh-python DEB_DEPENDS += libconfuse-dev git-review exuberant-ctags cscope pkg-config -DEB_DEPENDS += lcov chrpath autoconf indent clang-format libnuma-dev +DEB_DEPENDS += lcov chrpath autoconf libnuma-dev DEB_DEPENDS += python3-all python3-setuptools check -DEB_DEPENDS += libboost-all-dev libffi-dev python3-ply libmbedtls-dev +DEB_DEPENDS += libffi-dev python3-ply libmbedtls-dev DEB_DEPENDS += cmake ninja-build uuid-dev python3-jsonschema python3-yaml DEB_DEPENDS += python3-venv # ensurepip DEB_DEPENDS += python3-dev # needed for python3 -m pip install psutil +DEB_DEPENDS += libnl-3-dev libnl-route-3-dev # python3.6 on 16.04 requires python36-dev LIBFFI=libffi6 # works on all but 20.04 and debian-testing @@ -77,17 +79,21 @@ LIBFFI=libffi6 # works on all but 20.04 and debian-testing ifeq ($(OS_VERSION_ID),18.04) DEB_DEPENDS += python-dev python-all python-pip python-virtualenv DEB_DEPENDS += libssl-dev - DEB_DEPENDS += clang-9 + DEB_DEPENDS += clang-9 clang-format-10 else ifeq ($(OS_VERSION_ID),20.04) DEB_DEPENDS += python3-virtualenv DEB_DEPENDS += libssl-dev DEB_DEPENDS += libelf-dev # for libbpf (af_xdp) + DEB_DEPENDS += clang-format-10 LIBFFI=libffi7 -else ifeq ($(OS_ID)-$(OS_VERSION_ID),debian-9) - DEB_DEPENDS += libssl1.0-dev - DEB_DEPENDS += python-all python-pip - DEB_DEPENDS += python-dev python-all python-pip python-virtualenv +else ifeq ($(OS_VERSION_ID),20.10) + DEB_DEPENDS += python3-virtualenv + DEB_DEPENDS += libssl-dev + DEB_DEPENDS += libelf-dev # for libbpf (af_xdp) + DEB_DEPENDS += clang-format-10 + LIBFFI=libffi8ubuntu1 else ifeq ($(OS_ID)-$(OS_VERSION_ID),debian-10) + DEB_DEPENDS += python3-virtualenv virtualenv DEB_DEPENDS += libssl-dev DEB_DEPENDS += libelf-dev # for libbpf (af_xdp) else @@ -102,7 +108,6 @@ RPM_DEPENDS = redhat-lsb glibc-static RPM_DEPENDS += apr-devel RPM_DEPENDS += numactl-devel RPM_DEPENDS += check check-devel -RPM_DEPENDS += boost boost-devel RPM_DEPENDS += selinux-policy selinux-policy-devel RPM_DEPENDS += ninja-build RPM_DEPENDS += libuuid-devel @@ -110,6 +115,7 @@ RPM_DEPENDS += mbedtls-devel RPM_DEPENDS += ccache RPM_DEPENDS += xmlto RPM_DEPENDS += elfutils-libelf-devel +RPM_DEPENDS += libnl3-devel ifeq ($(OS_ID),fedora) RPM_DEPENDS += dnf-utils @@ -122,7 +128,7 @@ ifeq ($(OS_ID),fedora) RPM_DEPENDS_GROUPS = 'C Development Tools and Libraries' else ifeq ($(OS_ID)-$(OS_VERSION_ID),centos-8) RPM_DEPENDS += yum-utils - RPM_DEPENDS += compat-openssl10 + RPM_DEPENDS += compat-openssl10 openssl-devel RPM_DEPENDS += python2-devel python36-devel python3-ply RPM_DEPENDS += python3-virtualenv python3-jsonschema RPM_DEPENDS += cmake @@ -200,6 +206,7 @@ help: @echo " checkstyle - check coding style" @echo " checkstyle-commit - check commit message format" @echo " checkstyle-test - check test framework coding style" + @echo " checkstyle-test-diff - check test framework coding style (only changed files)" @echo " checkstyle-api - check api for incompatible changes" @echo " fixstyle - fix coding style" @echo " doxygen - (re)generate documentation" @@ -212,6 +219,7 @@ help: @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 " stats-fs-help - Help to build the stats segment file system" @echo "" @echo "Make Arguments:" @echo " V=[0|1] - set build verbosity level" @@ -471,6 +479,10 @@ test-wipe-all: test-checkstyle: @make -C test checkstyle +.PHONY: test-checkstyle-diff +test-checkstyle-diff: + @make -C test checkstyle-diff + .PHONY: test-refresh-deps test-refresh-deps: @make -C test refresh-deps @@ -493,6 +505,14 @@ retest-all-debug: $(eval EXTENDED_TESTS=yes) $(call test,vpp,vpp_debug,retest) +.PHONY: test-start-vpp-in-gdb +test-start-vpp-in-gdb: + $(call test,vpp,vpp,start-gdb) + +.PHONY: test-start-vpp-debug-in-gdb +test-start-vpp-debug-in-gdb: + $(call test,vpp,vpp_debug,start-gdb) + ifeq ("$(wildcard $(STARTUP_CONF))","") define run @echo "WARNING: STARTUP_CONF not defined or file doesn't exist." @@ -508,7 +528,7 @@ endef endif %.files: .FORCE - @find . \( -name '*\.[chyS]' -o -name '*\.java' -o -name '*\.lex' \) -and \ + @find . \( -name '*\.[chyS]' -o -name '*\.java' -o -name '*\.lex' -o -name '*\.py' \) -and \ \( -not -path './build-root*' -o -path \ './build-root/build-vpp_debug-native/dpdk*' \) > $@ @@ -529,6 +549,7 @@ debug: .PHONY: build-coverity build-coverity: $(call make,$(PLATFORM)_coverity,install-packages) + @make -C build-root PLATFORM=vpp TAG=vpp_coverity libmemif-install .PHONY: debug-release debug-release: @@ -613,7 +634,7 @@ compdb: .PHONY: checkstyle checkstyle: checkfeaturelist - @build-root/scripts/checkstyle.sh + @extras/scripts/checkstyle.sh .PHONY: checkstyle-commit checkstyle-commit: @@ -627,7 +648,7 @@ checkstyle-all: checkstyle-commit checkstyle checkstyle-test .PHONY: fixstyle fixstyle: - @build-root/scripts/checkstyle.sh --fix + @extras/scripts/checkstyle.sh --fix .PHONY: checkstyle-api checkstyle-api: @@ -638,9 +659,6 @@ checkstyle-api: # https://bugzilla.redhat.com/show_bug.cgi?id=1696324 .PHONY: centos-pyyaml 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 @@ -653,6 +671,33 @@ featurelist: centos-pyyaml checkfeaturelist: centos-pyyaml @build-root/scripts/fts.py --validate --all + +# Build vpp_stats_fs + +.PHONY: stats-fs-install +stats-fs-install: + @extras/vpp_stats_fs/install.sh install + +.PHONY: stats-fs-start +stats-fs-start: + @extras/vpp_stats_fs/install.sh start + +.PHONY: stats-fs-cleanup +stats-fs-cleanup: + @extras/vpp_stats_fs/install.sh cleanup + +.PHONY: stats-fs-help +stats-fs-help: + @extras/vpp_stats_fs/install.sh help + +.PHONY: stats-fs-force-unmount +stats-fs-force-unmount: + @extras/vpp_stats_fs/install.sh unmount + +.PHONY: stats-fs-stop +stats-fs-stop: + @extras/vpp_stats_fs/install.sh stop + # # Build the documentation #