# See the License for the specific language governing permissions and
# limitations under the License.
-bin_PROGRAMS += bin/vpp
+bin_PROGRAMS += bin/vpp
bin_vpp_SOURCES = \
vpp/vnet/main.c \
vpp/app/vpe_cli.c \
vpp/app/version.c \
vpp/oam/oam.c \
- vpp/stats/stats.c
+ vpp/oam/oam_api.c \
+ vpp/stats/stats.c \
+ vpp/stats/stat_segment.c
bin_vpp_SOURCES += \
vpp/api/api.c \
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/oam/oam.api.h \
vpp/api/vpe.api.h
-API_FILES += vpp/api/vpe.api
+API_FILES += \
+ vpp/api/vpe.api \
+ vpp/stats/stats.api \
+ vpp/oam/oam.api
-BUILT_SOURCES += vpp/app/version.h
+BUILT_SOURCES += .version
vpp/app/version.o: vpp/app/version.h
-.PHONY: vpp/app/version.h
-
-vpp/app/version.h:
- @echo " VERSION " $@
- @echo "#define VPP_BUILD_DATE \"$$(date)\"" > $@
- @echo "#define VPP_BUILD_USER \"$$(whoami)\"" >> $@
- @echo "#define VPP_BUILD_HOST \"$$(hostname)\"" >> $@
- @echo "#define VPP_BUILD_TOPDIR \"$$(cd $(srcdir) && git rev-parse --show-toplevel)\"" >> $@
- @echo "#define VPP_BUILD_VER \"$$($(srcdir)/scripts/version)\"" >> $@
-
-# Generate a plugin configuration script. Misconfiguring a
-# plugin can cause very subtle problems.
-
-bin_SCRIPTS = vpp_plugin_configure
+.PHONY: .version
-BUILT_SOURCES += vpp_plugin_configure
+VPP_VERSION = $(shell $(srcdir)/scripts/version)
-.PHONY: vpp_plugin_configure
+VPP_BUILD_DATE ?= $$(date)
+VPP_BUILD_USER ?= $$(whoami)
+VPP_BUILD_HOST ?= $$(hostname)
-if WITH_DPDK
-PLUGIN_DPDK_ARG="--with-dpdk"
-else
-PLUGIN_DPDK_ARG=""
-endif
+# update version.h only when version changes, to avoid
+# unnecessary re-linking of vpp binary
-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" >> $@
+.version:
+ @if [ "$$(cat .version 2> /dev/null)" != "$(VPP_VERSION)" ] ; then \
+ f="vpp/app/version.h" ;\
+ echo " VERSION $$f ($(VPP_VERSION))" ;\
+ echo $(VPP_VERSION) > .version ;\
+ 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
bin_vpp_LDADD = \
- libvlibapi.la \
libvlibmemory.la \
- libvlib_unix.la \
libvlib.la \
libvnet.la \
libsvm.la \
libsvmdb.la \
- libvnetplugin.la \
- -lrt
+ libvppinfra.la \
+ -lrt -lm -lpthread -ldl
-bin_vpp_LDFLAGS = $(DPDK_LD_FLAGS)
-bin_vpp_LDADD += libvppinfra.la -lm -lpthread -ldl $(DPDK_LD_ADD)
+bin_vpp_LDFLAGS = -Wl,--export-dynamic
-if WITH_IPV6SR
- bin_vpp_LDADD += -lcrypto
-endif
+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 = \
bin_test_client_LDADD = \
libvlibmemoryclient.la \
- libvlibapi.la \
libsvm.la \
libvppinfra.la \
-lpthread -lm -lrt
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 \
+ libsvm.la \
+ libvppinfra.la \
+ -lpthread -lm -lrt
+
+noinst_PROGRAMS += bin/stat_client
+
+bin_stat_client_SOURCES = \
+ vpp/app/stat_client.c \
+ vpp/app/stat_client.h
+
+bin_stat_client_LDADD = \
libvlibmemoryclient.la \
- libvlibapi.la \
libsvm.la \
libvppinfra.la \
-lpthread -lm -lrt
+
+
bin_PROGRAMS += bin/vpp_get_metrics
bin_vpp_get_metrics_SOURCES = \
libvppinfra.la \
-lpthread -lm -lrt
+CLEANFILES += vpp/app/version.h
+
# vi:syntax=automake