Allow individual stats API and introduce stats.api
[vpp.git] / src / vpp.am
index 3bb2c1b..9a07cef 100644 (file)
@@ -28,21 +28,25 @@ bin_vpp_SOURCES +=                          \
 if WITH_APICLI
   bin_vpp_SOURCES +=                           \
   vpp/api/api_format.c                         \
-  vpp/api/api_main.c
+  vpp/api/api_main.c                           \
+  vpp/api/plugin.c                             \
+  vpp/api/plugin.h
 endif
 
-# comment out to disable stats upload to gmond
+# uncomment to enable stats upload to gmond
+# bin_vpp_SOURCES +=                           \
+#  vpp/api/gmon.c
 
 bin_vpp_CFLAGS = @APICLI@
-bin_vpp_SOURCES +=                             \
-  vpp/api/gmon.c
 
 nobase_include_HEADERS +=                      \
   vpp/api/vpe_all_api_h.h                      \
   vpp/api/vpe_msg_enum.h                       \
+  vpp/stats/stats.api.h                        \
   vpp/api/vpe.api.h
 
 API_FILES += vpp/api/vpe.api
+API_FILES += vpp/stats/stats.api
 
 BUILT_SOURCES += .version
 
@@ -52,6 +56,10 @@ vpp/app/version.o:   vpp/app/version.h
 
 VPP_VERSION = $(shell $(srcdir)/scripts/version)
 
+VPP_BUILD_DATE ?= $$(date)
+VPP_BUILD_USER ?= $$(whoami)
+VPP_BUILD_HOST ?= $$(hostname)
+
 # update version.h only when version changes, to avoid
 # unnecessary re-linking of vpp binary
 
@@ -60,60 +68,30 @@ VPP_VERSION = $(shell $(srcdir)/scripts/version)
          f="vpp/app/version.h"                                                         ;\
          echo "  VERSION  $$f ($(VPP_VERSION))"                                        ;\
          echo $(VPP_VERSION) > .version                                                ;\
-         echo "#define VPP_BUILD_DATE \"$$(date)\"" > $$f                              ;\
-         echo "#define VPP_BUILD_USER \"$$(whoami)\"" >> $$f                           ;\
-         echo "#define VPP_BUILD_HOST \"$$(hostname)\"" >> $$f                         ;\
+          echo "#define VPP_BUILD_DATE \"$(VPP_BUILD_DATE)\"" > $$f                             ;\
+          echo "#define VPP_BUILD_USER \"$(VPP_BUILD_USER)\"" >> $$f                            ;\
+          echo "#define VPP_BUILD_HOST \"$(VPP_BUILD_HOST)\"" >> $$f                            ;\
          echo -n "#define VPP_BUILD_TOPDIR " >> $$f                                    ;\
          echo "\"$$(cd $(srcdir) && git rev-parse --show-toplevel)\"" >> $$f           ;\
          echo "#define VPP_BUILD_VER \"$(VPP_VERSION)\"" >> $$f                        ;\
        fi
 
-
-# Generate a plugin configuration script. Misconfiguring a
-# plugin can cause very subtle problems.
-
-bin_SCRIPTS = vpp_plugin_configure
-
-BUILT_SOURCES += vpp_plugin_configure
-
-.PHONY: vpp_plugin_configure
-
-if WITH_DPDK
-PLUGIN_DPDK_ARG="--with-dpdk"
-else
-PLUGIN_DPDK_ARG=""
-endif
-
-vpp_plugin_configure:
-       @echo "PLUGIN CFG" $@
-       @echo "#!/bin/bash" > $@
-       @echo " " >> $@
-       @echo "set +eu" >> $@
-       @echo " " >> $@
-       @echo "if [ -f ./configure ] ; then" >> $@
-       @echo "    CFLAGS='$(CFLAGS) $(AM_CFLAGS) -I/usr/include/vpp-dpdk' ./configure --with-plugin-toolkit $(PLUGIN_DPDK_ARG)" >> $@
-       @echo "else" >> $@
-       @echo "    if [ -f ../configure ] ; then" >> $@
-       @echo "        CFLAGS='$(CFLAGS) $(AM_CFLAGS) -I/usr/include/vpp-dpdk' ../configure --with-plugin-toolkit $(PLUGIN_DPDK_ARG)" >> $@
-       @echo "    else" >> $@
-       @echo "        echo Couldnt find ./configure or ../configure " >> $@
-       @echo "        exit 1" >> $@
-       @echo "    fi" >> $@
-       @echo "fi" >> $@
-
 bin_vpp_LDADD = \
-  libvlibapi.la \
   libvlibmemory.la \
   libvlib.la \
   libvnet.la \
   libsvm.la \
   libsvmdb.la \
-  libvnetplugin.la \
-  -lrt
+  libvppinfra.la \
+  -lrt -lm -lpthread -ldl
+
+bin_vpp_LDFLAGS = -Wl,--export-dynamic
 
-bin_vpp_LDFLAGS = $(DPDK_LD_FLAGS)
-bin_vpp_LDADD += libvppinfra.la -lm -lpthread -ldl $(DPDK_LD_ADD)
+bin_PROGRAMS += bin/vppctl
+bin_vppctl_SOURCES = vpp/app/vppctl.c
+bin_vppctl_LDADD = libvppinfra.la
 
+if ENABLE_TESTS
 noinst_PROGRAMS += bin/test_client
 
 bin_test_client_SOURCES = \
@@ -121,7 +99,6 @@ bin_test_client_SOURCES = \
 
 bin_test_client_LDADD = \
   libvlibmemoryclient.la \
-  libvlibapi.la \
   libsvm.la \
   libvppinfra.la \
   -lpthread -lm -lrt
@@ -133,23 +110,21 @@ bin_test_ha_SOURCES = \
 
 bin_test_ha_LDADD = \
   libvlibmemoryclient.la \
-  libvlibapi.la \
-  libsvmdb.la \
   libsvm.la \
   libvppinfra.la \
   -lpthread -lm -lrt
+endif
 
 noinst_PROGRAMS += bin/summary_stats_client
 
 bin_summary_stats_client_SOURCES = \
-  vpp/api/summary_stats_client.c
+   vpp/api/summary_stats_client.c
 
 bin_summary_stats_client_LDADD = \
-  libvlibmemoryclient.la \
-  libvlibapi.la \
-  libsvm.la \
-  libvppinfra.la \
-  -lpthread -lm -lrt
+   libvlibmemoryclient.la \
+   libsvm.la \
+   libvppinfra.la \
+   -lpthread -lm -lrt
 
 bin_PROGRAMS += bin/vpp_get_metrics
 
@@ -162,4 +137,6 @@ bin_vpp_get_metrics_LDADD = \
   libvppinfra.la \
   -lpthread -lm -lrt
 
+CLEANFILES += vpp/app/version.h
+
 # vi:syntax=automake