aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorPadraig Connolly <padraig.connolly@intel.com>2016-11-29 17:17:20 +0000
committerChris Luke <chris_luke@comcast.com>2017-01-09 15:20:49 +0000
commitd995c757f05f78aa759b0a65c0a7e38088e690a9 (patch)
tree5055f3c18d184f20d949817f2a33e7e52006cf53 /Makefile
parent0d3c1cc7626ac39f25975ebf9d92ba903d470f79 (diff)
vppctl: bash completion for vppctl commands
Added bash completion that will include all commands from build time *Script takes list of commands generated by doxygen-siphon-list *Configured doxygen-siphon makefile to generate just cli commands *List of cli commands put in /usr/share/vpp *Stopped siphon using doxygen bootstrap, uses main bootstrap instead *Added rpm/deb check for installation of packages, separate from bootstrap *NOTE: Once you have installed the vpp .deb/.rpm package you will have to restart bash Change-Id: Ie503e80d5177481f6e7dbe59378f2e0d76f29152 Signed-off-by: Padraig Connolly <padraig.connolly@intel.com>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile46
1 files changed, 39 insertions, 7 deletions
diff --git a/Makefile b/Makefile
index 6af33b08..7c3dded2 100644
--- a/Makefile
+++ b/Makefile
@@ -32,8 +32,8 @@ endif
DEB_DEPENDS = curl build-essential autoconf automake bison libssl-dev ccache
DEB_DEPENDS += debhelper dkms git libtool libganglia1-dev libapr1-dev dh-systemd
-DEB_DEPENDS += libconfuse-dev git-review exuberant-ctags cscope pkg-config
-DEB_DEPENDS += python-dev python-virtualenv python-pip lcov chrpath autoconf
+DEB_DEPENDS += libconfuse-dev git-review exuberant-ctags cscope pkg-config doxygen graphviz
+DEB_DEPENDS += python-dev python-virtualenv python-pip python-pyparsing python-jinja2 lcov chrpath autoconf
ifeq ($(OS_VERSION_ID),14.04)
DEB_DEPENDS += openjdk-8-jdk-headless
else
@@ -41,9 +41,9 @@ else
endif
RPM_DEPENDS_GROUPS = 'Development Tools'
-RPM_DEPENDS = redhat-lsb glibc-static java-1.8.0-openjdk-devel yum-utils
+RPM_DEPENDS = redhat-lsb glibc-static java-1.8.0-openjdk-devel yum-utils doxygen graphviz
RPM_DEPENDS += openssl-devel https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm apr-devel
-RPM_DEPENDS += python-devel python-virtualenv lcov chrpath
+RPM_DEPENDS += python-devel python-virtualenv pyparsing python-jinja2 lcov chrpath
EPEL_DEPENDS = libconfuse-devel ganglia-devel
ifneq ($(wildcard $(STARTUP_DIR)/startup.conf),)
@@ -183,6 +183,35 @@ distversion: $(BR)/scripts/.version
$(BR)/scripts/verdist ${BR} ${prefix}-$(shell $(BR)/scripts/version rpm-version) ${verstring}
mv $(verstring).tar.gz $(BR)/rpm
+deb-depends-check:
+ifeq ($(OS_ID),ubuntu)
+ @MISSING=$$(apt-get install -y -qq -s $(DEB_DEPENDS) | grep "^Inst ") ; \
+ if [ -n "$$MISSING" ] ; then \
+ echo "\nPlease install missing packages: \n$$MISSING\n" ; \
+ echo "by executing \"make install-dep\"\n" ; \
+ exit 1 ; \
+ fi; \
+ exit 0
+endif
+
+rpm-depends-check:
+ifeq ($(OS_ID),centos)
+ @RPM_DEPENDS_ARRAY=($(RPM_DEPENDS)) ; \
+ for i in "$${!RPM_DEPENDS_ARRAY[@]}"; do \
+ if ! yum list installed "$${RPM_DEPENDS_ARRAY[$$i]}" >/dev/null 2>&1; then \
+ if ! [[ "$${RPM_DEPENDS_ARRAY[$$i]}" == *"://"* ]] ; then \
+ MISSING="$$MISSING $${RPM_DEPENDS_ARRAY[$$i]}" ; \
+ fi; \
+ fi; \
+ done; \
+ if [ -n "$$MISSING" ] ; then \
+ echo "\nPlease install missing packages: \n$$MISSING\n" ; \
+ echo "by executing \"make install-dep\"\n" ; \
+ exit 1 ; \
+ fi; \
+ exit 0
+endif
+
build: $(BR)/.bootstrap.ok
$(call make,$(PLATFORM)_debug,vpp-install)
@@ -286,10 +315,10 @@ build-vat:
run-vat:
@sudo $(BR)/install-$(PLATFORM)_debug-native/vpp/bin/vpp_api_test
-pkg-deb:
+pkg-deb: deb-depends-check doxygen-siphon-list
$(call make,$(PLATFORM),install-deb)
-pkg-rpm: dist
+pkg-rpm: dist rpm-depends-check doxygen-siphon-list
$(call make,$(PLATFORM),install-rpm)
ctags: ctags.files
@@ -321,7 +350,7 @@ endef
.PHONY: bootstrap-doxygen doxygen wipe-doxygen
-bootstrap-doxygen:
+bootstrap-doxygen: deb-depends-check rpm-depends-check
$(call make-doxy)
doxygen:
@@ -330,6 +359,9 @@ doxygen:
wipe-doxygen:
$(call make-doxy)
+doxygen-siphon-list:
+ $(call make-doxy)
+
define banner
@echo "========================================================================"
@echo " $(1)"