X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=vpp%2FMakefile.am;h=52ce0655c1fde64d6513db70e7f64a972810a899;hb=6cc6f9175c46d9a98db43f47da35119e2b59aa00;hp=eef0ff6fedc53869a1b29a46e9fea52b905ca28d;hpb=cb9cadad578297ffd78fa8a33670bdf1ab669e7e;p=vpp.git diff --git a/vpp/Makefile.am b/vpp/Makefile.am index eef0ff6fedc..52ce0655c1f 100644 --- a/vpp/Makefile.am +++ b/vpp/Makefile.am @@ -13,92 +13,141 @@ AUTOMAKE_OPTIONS = foreign subdir-objects -AM_CFLAGS = -Wall @Q_PLATFORM_DEFINE@ @Q_PLATFORM_PLUGPATH@ @DPDK@ +AM_CFLAGS = -Wall @DPDK@ @IPSEC@ @VCGN@ @IPV6SR@ noinst_PROGRAMS = BUILT_SOURCES = bin_PROGRAMS = CLEANFILES = -lib_LTLIBRARIES = -bin_PROGRAMS += vpe +bin_PROGRAMS += vpp -vpe_SOURCES = \ +vpp_SOURCES = \ vnet/main.c \ app/vpe_cli.c \ app/version.c \ oam/oam.c \ stats/stats.c -vpe_SOURCES += \ - api/api.c \ - api/custom_dump.c +vpp_SOURCES += \ + vpp-api/api.c \ + vpp-api/custom_dump.c # comment out to disable stats upload to gmond -vpe_SOURCES += \ - api/gmon.c +vpp_SOURCES += \ + vpp-api/gmon.c nobase_include_HEADERS = \ - api/vpe_all_api_h.h \ - api/vpe_msg_enum.h \ - api/vpe.api.h + vpp-api/vpe_all_api_h.h \ + vpp-api/vpe_msg_enum.h \ + vpp-api/vpe.api.h # install the API definition, so we can produce java bindings, etc. -apidir = $(prefix)/api -api_DATA = api/vpe.api +apidir = $(prefix)/vpp-api +api_DATA = vpp-api/vpe.api -BUILT_SOURCES += api/vpe.api.h app/version.c +BUILT_SOURCES += vpp-api/vpe.api.h app/version.h -.PHONY: app/version.c +app/version.o: app/version.h -app/version.c: - @pushd ../../../vpp ; \ - branch=`git rev-parse --abbrev-ref HEAD` ; \ - popd ; \ - if [ x$$GITTAG = "x" ] ; then \ - GITTAG=$$USER-private ; \ - fi ; \ - vppversion -p vpe -b $${branch}@$${GITTAG} -o $@ +.PHONY: app/version.h -vpe_LDADD = -lvlibapi -lvlibmemory -lvlib_unix -lvlib +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 \"$$(git rev-parse --show-toplevel)\"" >> $@ + @echo "#define VPP_BUILD_VER \"$$(../../scripts/version)\"" >> $@ -vpe_LDADD += -l:libvnet.a +# Generate a plugin configuration script. Misconfiguring a +# plugin can cause very subtle problems. -vpe_LDADD += -lsvm -lsvmdb -lrt +bin_SCRIPTS = vpp_plugin_configure -vpe_LDADD += -lvnetplugin +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 CONFIGURE " $@ + @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" >> $@ + +vpp_LDADD = -lvlibapi -lvlibmemory -lvlib_unix -lvlib + +vpp_LDADD += -lvnet + +vpp_LDADD += -lsvm -lsvmdb -lrt + +vpp_LDADD += -lvnetplugin if WITH_DPDK -vpe_LDADD += -l:libdpdk.a +vpp_LDFLAGS = -Wl,--whole-archive +if ENABLE_DPDK_SHARED +vpp_LDFLAGS += -ldpdk +else +vpp_LDFLAGS += -l:libdpdk.a +endif +vpp_LDFLAGS += -Wl,--no-whole-archive endif -# These go last +vpp_LDADD += -lvppinfra -lm -lpthread -ldl -vpe_LDADD += -lvppinfra -lm -lpthread -lcrypto -ldl +if WITH_IPV6SR + vpp_LDADD += -lcrypto +endif SUFFIXES = .api.h .api %.api.h: %.api @echo " APIGEN " $@ ; \ - @mkdir -p `dirname $@` ; \ + mkdir -p `dirname $@` ; \ $(CC) $(CPPFLAGS) -E -P -C -x c $^ \ | vppapigen --input - --output $@ --show-name $@ -noinst_PROGRAMS += test_client test_ha +noinst_PROGRAMS += test_client -test_client_SOURCES = api/test_client.c +test_client_SOURCES = vpp-api/test_client.c test_client_LDADD = -lvlibmemoryclient -lvlibapi -lsvm -lvppinfra \ -lpthread -lm -lrt -test_ha_SOURCES = api/test_ha.c +noinst_PROGRAMS += test_client test_ha + +test_ha_SOURCES = vpp-api/test_ha.c test_ha_LDADD = -lvlibmemoryclient -lvlibapi -lsvmdb -lsvm -lvppinfra \ -lpthread -lm -lrt + noinst_PROGRAMS += summary_stats_client -summary_stats_client_SOURCES = api/summary_stats_client.c +summary_stats_client_SOURCES = vpp-api/summary_stats_client.c summary_stats_client_LDADD = -lvlibmemoryclient -lvlibapi -lsvm -lvppinfra \ -lpthread -lm -lrt + +bin_PROGRAMS += vpp_get_metrics + +vpp_get_metrics_SOURCES = vpp-api/vpp_get_metrics.c +vpp_get_metrics_LDADD = -lsvmdb -lsvm -lvppinfra \ + -lpthread -lm -lrt