-ifneq ($(CONFIG_RTE_MAJOR_ABI),)
-ifneq ($(LIBABIVER),)
-LIBABIVER := $(CONFIG_RTE_MAJOR_ABI)
-endif
+LIBABIVER ?= $(shell cat $(RTE_SRCDIR)/ABI_VERSION)
+SOVER := $(basename $(LIBABIVER))
+ifeq ($(shell grep -s "^DPDK_" $(SRCDIR)/$(EXPORT_MAP)),)
+# EXPERIMENTAL ABI is versioned as 0.major+minor, e.g. 0.201 for 20.1 ABI
+LIBABIVER := 0.$(shell echo $(LIBABIVER) | tr -d '.')
+SOVER := 0.$(shell echo $(SOVER) | tr -d '.')