Fix unlinking of /dev/shm files.
[vpp.git] / Makefile
index 3ef236a..46c51dd 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -18,7 +18,25 @@ GDB?=gdb
 PLATFORM?=vpp
 SAMPLE_PLUGIN?=no
 
-MINIMAL_STARTUP_CONF="unix { interactive }"
+,:=,
+define disable_plugins
+$(if $(1), \
+  "plugins {" \
+  $(patsubst %,"plugin %_plugin.so { disable }",$(subst $(,), ,$(1))) \
+  " }" \
+  ,)
+endef
+
+MINIMAL_STARTUP_CONF="                                                 \
+unix {                                                                         \
+       interactive                                                     \
+       cli-listen /run/vpp/cli.sock                                    \
+       gid $(shell id -g)                                              \
+       $(if $(wildcard startup.vpp),"exec startup.vpp",)               \
+}                                                                      \
+$(if $(DPDK_CONFIG), "dpdk { $(DPDK_CONFIG) }",)                       \
+$(call disable_plugins,$(DISABLED_PLUGINS))                            \
+"
 
 GDB_ARGS= -ex "handle SIGUSR1 noprint nostop"
 
@@ -37,8 +55,10 @@ else ifeq ($(filter rhel centos fedora opensuse,$(OS_ID)),$(OS_ID))
 PKG=rpm
 endif
 
+# +libganglia1-dev if building the gmond plugin
+
 DEB_DEPENDS  = curl build-essential autoconf automake bison libssl-dev ccache
-DEB_DEPENDS += debhelper dkms git libtool libganglia1-dev libapr1-dev dh-systemd
+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 nasm indent
 DEB_DEPENDS += python-all python-dev python-virtualenv python-pip libffi6
@@ -61,9 +81,12 @@ else
        RPM_DEPENDS += python-virtualenv
        RPM_DEPENDS_GROUPS = 'Development Tools'
 endif
+
+# +ganglia-devel if building the ganglia plugin
+
 RPM_DEPENDS += chrpath libffi-devel rpm-build
 RPM_DEPENDS += https://kojipkgs.fedoraproject.org//packages/nasm/2.12.02/2.fc26/x86_64/nasm-2.12.02-2.fc26.x86_64.rpm
-EPEL_DEPENDS = libconfuse-devel ganglia-devel epel-rpm-macros
+EPEL_DEPENDS = libconfuse-devel epel-rpm-macros
 ifeq ($(filter rhel centos,$(OS_ID)),$(OS_ID))
        EPEL_DEPENDS += lcov
 else
@@ -139,16 +162,21 @@ help:
        @echo " test-checkstyle     - check PEP8 compliance for test framework"
        @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 "                       It also sets STARTUP_CONF if"
-       @echo "                       startup.conf file is present"
-       @echo " GDB=<path>          - gdb binary to use for debugging"
-       @echo " PLATFORM=<name>     - target platform. default is vpp"
-       @echo " TEST=<filter>       - apply filter to test set, see test-help"
-       @echo " SAMPLE_PLUGIN=yes   - in addition build/run/debug sample plugin"
+       @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 "                            It also sets STARTUP_CONF if"
+       @echo "                            startup.conf file is present"
+       @echo " GDB=<path>               - gdb binary to use for debugging"
+       @echo " PLATFORM=<name>          - target platform. default is vpp"
+       @echo " TEST=<filter>            - apply filter to test set, see test-help"
+       @echo " DPDK_CONFIG=<conf>       - add specified dpdk config commands to"
+       @echo "                            autogenerated startup.conf"
+       @echo "                            (e.g. \"no-pci\" )"
+       @echo " SAMPLE_PLUGIN=yes        - in addition build/run/debug sample plugin"
+       @echo " DISABLED_PLUGINS=<list>  - comma separated list of plugins which"
+       @echo "                            should not be loaded"
        @echo ""
        @echo "Current Argument Values:"
        @echo " V                 = $(V)"
@@ -157,7 +185,9 @@ help:
        @echo " GDB               = $(GDB)"
        @echo " PLATFORM          = $(PLATFORM)"
        @echo " DPDK_VERSION      = $(DPDK_VERSION)"
+       @echo " DPDK_CONFIG       = $(DPDK_CONFIG)"
        @echo " SAMPLE_PLUGIN     = $(SAMPLE_PLUGIN)"
+       @echo " DISABLED_PLUGINS  = $(DISABLED_PLUGINS)"
 
 $(BR)/.bootstrap.ok:
 ifeq ($(findstring y,$(UNATTENDED)),y)