X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvpp.am;h=10a4e311252760074c96e270d8e57d4d061ea7a8;hb=d756b35032cdf7fdaaf0d6611388a54d32d72e92;hp=5128e8ac30203631d74230651500c71aa6de5ae7;hpb=99c201964ab7514e55d66ad2ca5bbe68440bd75b;p=vpp.git diff --git a/src/vpp.am b/src/vpp.am index 5128e8ac302..10a4e311252 100644 --- a/src/vpp.am +++ b/src/vpp.am @@ -28,14 +28,16 @@ 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 \ @@ -44,70 +46,50 @@ nobase_include_HEADERS += \ API_FILES += vpp/api/vpe.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. +.PHONY: .version -bin_SCRIPTS = vpp_plugin_configure +VPP_VERSION = $(shell $(srcdir)/scripts/version) -BUILT_SOURCES += vpp_plugin_configure +VPP_BUILD_DATE ?= $$(date) +VPP_BUILD_USER ?= $$(whoami) +VPP_BUILD_HOST ?= $$(hostname) -.PHONY: vpp_plugin_configure - -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 = \ @@ -115,7 +97,6 @@ bin_test_client_SOURCES = \ bin_test_client_LDADD = \ libvlibmemoryclient.la \ - libvlibapi.la \ libsvm.la \ libvppinfra.la \ -lpthread -lm -lrt @@ -127,11 +108,10 @@ 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 @@ -140,7 +120,6 @@ bin_summary_stats_client_SOURCES = \ bin_summary_stats_client_LDADD = \ libvlibmemoryclient.la \ - libvlibapi.la \ libsvm.la \ libvppinfra.la \ -lpthread -lm -lrt @@ -156,4 +135,6 @@ bin_vpp_get_metrics_LDADD = \ libvppinfra.la \ -lpthread -lm -lrt +CLEANFILES += vpp/app/version.h + # vi:syntax=automake