X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvpp.am;h=60be623627ba2e43370f618a522428451063cf70;hb=2fee16787ed0d622631223567635a77e14c8c076;hp=77010e1f36acda9f2d22cf2cd4a0591bea909ffa;hpb=0eca04d84e39ca16c60bea91d77a1c458300c16c;p=vpp.git diff --git a/src/vpp.am b/src/vpp.am index 77010e1f36a..60be623627b 100644 --- a/src/vpp.am +++ b/src/vpp.am @@ -11,14 +11,16 @@ # 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 \ @@ -28,85 +30,73 @@ 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/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. +.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 +# update version.h only when version changes, to avoid +# unnecessary re-linking of vpp binary -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" >> $@ +.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.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 = \ @@ -114,7 +104,6 @@ bin_test_client_SOURCES = \ bin_test_client_LDADD = \ libvlibmemoryclient.la \ - libvlibapi.la \ libsvm.la \ libvppinfra.la \ -lpthread -lm -lrt @@ -126,24 +115,47 @@ 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 \ + libvlibmemoryclient.la \ + libsvm.la \ + libvppinfra.la \ + -lpthread -lm -lrt + +bin_PROGRAMS += bin/vpp_get_stats + +bin_vpp_get_stats_SOURCES = \ + vpp/app/vpp_get_stats.c + +bin_vpp_get_stats_LDADD = \ + libvppapiclient.la \ + libvlibmemoryclient.la \ + libsvm.la \ + libvppinfra.la \ + -lpthread -lm -lrt + +bin_PROGRAMS += bin/vpp_prometheus_export + +bin_vpp_prometheus_export_SOURCES = \ + vpp/app/vpp_prometheus_export.c + +bin_vpp_prometheus_export_LDADD = \ + libvppapiclient.la \ + libvlibmemoryclient.la \ + libsvm.la \ + libvppinfra.la \ -lpthread -lm -lrt + bin_PROGRAMS += bin/vpp_get_metrics bin_vpp_get_metrics_SOURCES = \ @@ -155,4 +167,6 @@ bin_vpp_get_metrics_LDADD = \ libvppinfra.la \ -lpthread -lm -lrt +CLEANFILES += vpp/app/version.h + # vi:syntax=automake