X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=Makefile;h=a35fac59c0b2097227376e3789c012012ba71d20;hb=4c4223edf;hp=4a547b746f54c275b402769676851c91f662f629;hpb=4ba16a44b1f091bacc32fe6fa9f726e9a0d3b0e7;p=vpp.git diff --git a/Makefile b/Makefile index 4a547b746f5..a35fac59c0b 100644 --- a/Makefile +++ b/Makefile @@ -59,19 +59,13 @@ else ifeq ($(filter rhel centos fedora opensuse opensuse-leap opensuse-tumblewee PKG=rpm endif -# on ubuntu 18.04 prefer gcc-8 if it is installed and CC is not set -ifeq ($(OS_VERSION_ID)-$(CC)-$(shell which gcc-8 > /dev/null; echo $$?),18.04-cc-0) - CC = gcc-8 -endif - # +libganglia1-dev if building the gmond plugin DEB_DEPENDS = curl build-essential autoconf automake ccache DEB_DEPENDS += debhelper dkms git libtool libapr1-dev dh-systemd DEB_DEPENDS += libconfuse-dev git-review exuberant-ctags cscope pkg-config DEB_DEPENDS += lcov chrpath autoconf indent clang-format libnuma-dev -DEB_DEPENDS += python-all python3-all python3-setuptools -DEB_DEPENDS += python-virtualenv python-pip check +DEB_DEPENDS += python3-all python3-setuptools check DEB_DEPENDS += libboost-all-dev libffi-dev python3-ply libmbedtls-dev DEB_DEPENDS += cmake ninja-build uuid-dev python3-jsonschema python3-yaml DEB_DEPENDS += python3-venv # ensurepip @@ -80,20 +74,22 @@ DEB_DEPENDS += python3-dev # needed for python3 -m pip install psutil LIBFFI=libffi6 # works on all but 20.04 -ifeq ($(OS_VERSION_ID),16.04) - DEB_DEPENDS += python-dev - DEB_DEPENDS += libssl-dev -else ifeq ($(OS_VERSION_ID),18.04) - DEB_DEPENDS += python-dev +ifeq ($(OS_VERSION_ID),18.04) + DEB_DEPENDS += python-dev python-all python-pip python-virtualenv DEB_DEPENDS += libssl-dev - DEB_DEPENDS += gcc-8 clang-9 + DEB_DEPENDS += clang-9 else ifeq ($(OS_VERSION_ID),20.04) + DEB_DEPENDS += python3-virtualenv + DEB_DEPENDS += libssl-dev LIBFFI=libffi7 else ifeq ($(OS_ID)-$(OS_VERSION_ID),debian-8) DEB_DEPENDS += libssl-dev + DEB_DEPENDS += python-dev python-all python-pip python-virtualenv APT_ARGS = -t jessie-backports 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 DEB_DEPENDS += libssl-dev endif @@ -109,6 +105,8 @@ RPM_DEPENDS += selinux-policy selinux-policy-devel RPM_DEPENDS += ninja-build RPM_DEPENDS += libuuid-devel RPM_DEPENDS += mbedtls-devel +RPM_DEPENDS += ccache +RPM_DEPENDS += xmlto ifeq ($(OS_ID),fedora) RPM_DEPENDS += dnf-utils @@ -122,7 +120,7 @@ ifeq ($(OS_ID),fedora) else ifeq ($(OS_ID)-$(OS_VERSION_ID),centos-8) RPM_DEPENDS += yum-utils RPM_DEPENDS += compat-openssl10 - RPM_DEPENDS += python36-devel python3-ply + RPM_DEPENDS += python2-devel python36-devel python3-ply RPM_DEPENDS += python3-virtualenv python3-jsonschema RPM_DEPENDS += cmake RPM_DEPENDS_GROUPS = 'Development Tools' @@ -132,7 +130,7 @@ else RPM_DEPENDS += python36-ply # for vppapigen RPM_DEPENDS += python3-devel python3-pip RPM_DEPENDS += python-virtualenv python36-jsonschema - RPM_DEPENDS += devtoolset-7 + RPM_DEPENDS += devtoolset-9 RPM_DEPENDS += cmake3 RPM_DEPENDS_GROUPS = 'Development Tools' endif @@ -228,9 +226,11 @@ help: @echo " ctags - (re)generate ctags database" @echo " gtags - (re)generate gtags database" @echo " cscope - (re)generate cscope database" + @echo " compdb - (re)generate compile_commands.json" @echo " checkstyle - check coding style" @echo " checkstyle-commit - check commit message format" @echo " checkstyle-test - check test framework coding style" + @echo " checkstyle-api - check api for incompatible changes" @echo " fixstyle - fix coding style" @echo " doxygen - (re)generate documentation" @echo " bootstrap-doxygen - setup Doxygen dependencies" @@ -320,6 +320,8 @@ ifeq ($(OS_ID),rhel) @sudo -E yum install $(CONFIRM) $(RPM_DEPENDS) @sudo -E debuginfo-install $(CONFIRM) glibc openssl-libs mbedtls-devel zlib else ifeq ($(OS_ID)-$(OS_VERSION_ID),centos-8) + @sudo -E dnf install $(CONFIRM) epel-release + @sudo -E dnf config-manager --set-enabled PowerTools @sudo -E dnf groupinstall $(CONFIRM) $(RPM_DEPENDS_GROUPS) @sudo -E dnf install $(CONFIRM) $(RPM_DEPENDS) else ifeq ($(OS_ID),centos) @@ -659,6 +661,10 @@ gtags: ctags cscope: cscope.files @cscope -b -q -v +.PHONY: compdb +compdb: + @ninja -C build-root/build-vpp_debug-native/vpp -t compdb > compile_commands.json + .PHONY: checkstyle checkstyle: checkfeaturelist @build-root/scripts/checkstyle.sh @@ -677,6 +683,10 @@ checkstyle-all: checkstyle-commit checkstyle checkstyle-test fixstyle: @build-root/scripts/checkstyle.sh --fix +.PHONY: checkstyle-api +checkstyle-api: + @extras/scripts/crcchecker.py --check-patch + # necessary because Bug 1696324 - Update to python3.6 breaks PyYAML dependencies # Status: CLOSED CANTFIX # https://bugzilla.redhat.com/show_bug.cgi?id=1696324