Commit c4d9daeb authored by Piotr Pelplinski's avatar Piotr Pelplinski Committed by Jim Harris
Browse files

Makefile: Add possibility to uninstall spdk.



Add uninstall target to makefiles to be able to perform
reverse of install target.
Fixes #464

This patch adds 'uninstall' target to makefile.
'make uninstall' will remove spdk_tgt app, headers, libraries
and shared libraries from system directories defined by $DESTDIR.
Additionaly, if there will be any empty directories left after
this operation, they will be removed as well.

Signed-off-by: default avatarPiotr Pelplinski <piotr.pelplinski@intel.com>
Change-Id: I7b07fb4b81081d3914ff09165991fbe3a26b9067
Signed-off-by: default avatarPawel Kaminski <pawelx.kaminski@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/431471


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
parent 7c00bdab
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -44,7 +44,8 @@ DIRS-$(CONFIG_IPSEC_MB) += ipsecbuild
DIRS-$(CONFIG_ISAL) += isalbuild

.PHONY: all clean $(DIRS-y) include/spdk/config.h mk/config.mk mk/cc.mk \
	cc_version cxx_version .libs_only_other .ldflags ldflags
	cc_version cxx_version .libs_only_other .ldflags ldflags install \
	uninstall

ifeq ($(SPDK_ROOT_DIR)/lib/env_dpdk,$(CONFIG_ENV))
ifeq ($(CURDIR)/dpdk/build,$(CONFIG_DPDK_DIR))
@@ -77,6 +78,9 @@ clean: $(DIRS-y)
install: all
	$(Q)echo "Installed to $(DESTDIR)$(CONFIG_PREFIX)"

uninstall: $(DIRS-y)
	$(Q)echo "Uninstalled spdk"

ifneq ($(SKIP_DPDK_BUILD),1)
ifeq ($(CONFIG_ISAL),y)
dpdkbuild: isalbuild
+3 −0
Original line number Diff line number Diff line
@@ -62,3 +62,6 @@ include $(SPDK_ROOT_DIR)/mk/spdk.app.mk

install: $(APP)
	$(INSTALL_APP)

uninstall:
	$(UNINSTALL_APP)
+15 −2
Original line number Diff line number Diff line
@@ -129,9 +129,22 @@ timing_enter make_install
rm -rf /tmp/spdk
mkdir /tmp/spdk
$MAKE $MAKEFLAGS install DESTDIR=/tmp/spdk prefix=/usr
timing_exit make_install

# Test 'make uninstall'
timing_enter make_uninstall
# Create empty file to check if it is not deleted by target uninstall
touch /tmp/spdk/usr/lib/sample_xyz.a
$MAKE $MAKEFLAGS uninstall DESTDIR=/tmp/spdk prefix=/usr
if [[ $(ls -A /tmp/spdk/usr | wc -l) -ne 2 ]] || [[ $(ls -A /tmp/spdk/usr/lib/ | wc -l) -ne 1 ]]; then
	ls -lR /tmp/spdk
	rm -rf /tmp/spdk
timing_exit make_install
	echo "Make uninstall failed"
	exit 1
else
	rm -rf /tmp/spdk
fi
timing_exit make_uninstall

timing_enter doxygen
if [ $SPDK_BUILD_DOC -eq 1 ] && hash doxygen; then
+4 −1
Original line number Diff line number Diff line
@@ -34,7 +34,7 @@
SPDK_ROOT_DIR := $(abspath $(CURDIR)/..)
include $(SPDK_ROOT_DIR)/mk/spdk.common.mk

.PHONY: all clean install
.PHONY: all clean install uninstall

CRYPTO_ENABLED=n

@@ -123,3 +123,6 @@ clean:
	$(Q)rm -rf $(SPDK_ROOT_DIR)/dpdk/build

install: all

uninstall:
	@:
+3 −0
Original line number Diff line number Diff line
@@ -39,4 +39,7 @@ APP = identify
install: $(APP)
	$(INSTALL_EXAMPLE)

uninstall:
	$(UNINSTALL_EXAMPLE)

include $(SPDK_ROOT_DIR)/mk/nvme.libtest.mk
Loading