X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=Makefile;h=8050f876e5edefe2c851ef5e1754a2414441e3bd;hb=30d41fff9b649b6bc4c24af8c4059da7ad121de4;hp=53930928059c86250a71c3652b07f69553a9f83d;hpb=7226b84d7418fcbb9b8dd42045aa7a5f18da9679;p=vpp.git diff --git a/Makefile b/Makefile index 53930928059..8050f876e5e 100644 --- a/Makefile +++ b/Makefile @@ -21,9 +21,20 @@ MINIMAL_STARTUP_CONF="unix { interactive }" GDB_ARGS= -ex "handle SIGUSR1 noprint nostop" +# +# OS Detection +# +OS_ID = $(shell grep '^ID=' /etc/os-release | cut -f2- -d= | sed -e 's/\"//g') +OS_VERSION_ID= $(shell grep '^VERSION_ID=' /etc/os-release | cut -f2- -d= | sed -e 's/\"//g') + DEB_DEPENDS = curl build-essential autoconf automake bison libssl-dev ccache -DEB_DEPENDS += debhelper dkms openjdk-8-jdk git libtool libganglia1-dev libapr1-dev dh-systemd +DEB_DEPENDS += debhelper dkms git libtool libganglia1-dev libapr1-dev dh-systemd DEB_DEPENDS += libconfuse-dev git-review exuberant-ctags cscope +ifeq ($(OS_VERSION_ID),14.04) + DEB_DEPENDS += openjdk-8-jdk-headless +else + DEB_DEPENDS += default-jdk-headless +endif RPM_DEPENDS_GROUPS = 'Development Tools' RPM_DEPENDS = redhat-lsb glibc-static java-1.8.0-openjdk-devel yum-utils @@ -34,6 +45,10 @@ ifneq ($(wildcard $(STARTUP_DIR)/startup.conf),) STARTUP_CONF ?= $(STARTUP_DIR)/startup.conf endif +ifeq ($(findstring y,$(UNATTENDED)),y) +CONFIRM=-y +endif + .PHONY: help bootstrap wipe wipe-release build build-release rebuild rebuild-release .PHONY: run run-release debug debug-release build-vat run-vat pkg-deb pkg-rpm .PHONY: ctags cscope @@ -77,19 +92,8 @@ help: @echo " PLATFORM = $(PLATFORM)" @echo " DPDK_VERSION = $(DPDK_VERSION)" -# openjdk-8-jdk is not available in 14.04 repos by default -define use_ppa_for_jdk8 -if [ "$(shell lsb_release -r | awk '{print $$2}')"=="14.04" ]; then \ - sudo apt-get -y install software-properties-common; \ - sudo add-apt-repository -y ppa:openjdk-r/ppa; \ - sudo apt-get update; \ -fi; -endef - $(BR)/.bootstrap.ok: -ifeq ("$(shell lsb_release -si)", "Ubuntu") - $(use_ppa_for_jdk8) - +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" ; \ @@ -118,14 +122,18 @@ endif bootstrap: $(BR)/.bootstrap.ok install-dep: -ifeq ("$(shell lsb_release -si)", "Ubuntu") - $(use_ppa_for_jdk8) - @sudo apt-get -y install $(DEB_DEPENDS) +ifeq ($(OS_ID),ubuntu) +ifeq ($(OS_VERSION_ID),14.04) + @sudo apt-get $(CONFIRM) install software-properties-common + @sudo add-apt-repository $(CONFIRM) ppa:openjdk-r/ppa + @sudo apt-get update +endif + @sudo apt-get $(CONFIRM) install $(DEB_DEPENDS) else ifneq ("$(wildcard /etc/redhat-release)","") - @sudo yum groupinstall -y $(RPM_DEPENDS_GROUPS) - @sudo yum install -y $(RPM_DEPENDS) - @sudo yum install -y --enablerepo=epel $(EPEL_DEPENDS) - @sudo debuginfo-install glibc-2.17-106.el7_2.4.x86_64 openssl-libs-1.0.1e-51.el7_2.4.x86_64 zlib-1.2.7-15.el7.x86_64 + @sudo yum groupinstall $(CONFIRM) $(RPM_DEPENDS_GROUPS) + @sudo yum install $(CONFIRM) $(RPM_DEPENDS) + @sudo yum install $(CONFIRM) --enablerepo=epel $(EPEL_DEPENDS) + @sudo debuginfo-install $(CONFIRM) glibc-2.17-106.el7_2.4.x86_64 openssl-libs-1.0.1e-51.el7_2.4.x86_64 zlib-1.2.7-15.el7.x86_64 else $(error "This option currently works only on Ubuntu or Centos systems") endif