Signed-off-by: Thomas Monjalon <thomas.monjalon at 6wind.com>
---
 Makefile |   30 ++++++++++++++++++++++++++++--
 1 file changed, 28 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index 4ff4c1d..100864d 100644
--- a/Makefile
+++ b/Makefile
@@ -30,6 +30,7 @@
 # OF THE POSSIBILITY OF SUCH DAMAGE.

 SOLIB = librte_pmd_virtio.so
+DOC = dpdk-virtio-net-pmd.rst

 CC = $(CROSS)gcc
 override CPPFLAGS += -Wall -Wextra -Werror
@@ -39,6 +40,12 @@ override LDFLAGS  += -shared
 S ?= .
 O ?= .

+prefix ?= /usr/local
+exec_prefix ?= $(prefix)
+libdir ?= $(exec_prefix)/lib
+datarootdir ?= $(prefix)/share
+docdir ?= $(datarootdir)/doc/dpdk
+
 all : $O/$(SOLIB)

 $O :
@@ -52,19 +59,38 @@ endif
                -I$(RTE_INCLUDE) -include $(RTE_INCLUDE)/rte_config.h \
                -o $@ $<

+install : $(DESTDIR)$(libdir)/$(SOLIB)
+$(DESTDIR)$(libdir)/$(SOLIB): $O/$(SOLIB)
+       install -D -m 644 $< $@
+
+install : $(DESTDIR)$(docdir)/$(DOC)
+$(DESTDIR)$(docdir)/$(DOC) : $S/README.rst
+       install -D -m 644 $< $@
+
 clean :
        - rm -f $O/$(SOLIB)
 ifneq '$(abspath $O)' '$(CURDIR)'
        - rmdir -p $O 2>&-
 endif

+uninstall :
+       - rm -f $(DESTDIR)$(libdir)/$(SOLIB)
+       - rmdir -p $(DESTDIR)$(libdir) 2>&-
+       - rm -f $(DESTDIR)$(docdir)/$(DOC)
+       - rmdir -p $(DESTDIR)$(docdir) 2>&-
+
 help :
        @ echo 'rules:'
        @ echo '    all (default)'
        @ echo '    clean'
-       @ echo 'variables:'
+       @ echo '    install'
+       @ echo '    uninstall'
+       @ echo 'build variables:'
        @ echo '    RTE_INCLUDE (e.g. ../dpdk/build/include),'
        @ echo '    CPPFLAGS, CFLAGS, LDFLAGS,'
        @ echo '    S (source directory), O (build directory)'
+       @ echo 'install variables:'
+       @ echo '    DESTDIR (optional),'
+       @ echo '    prefix, exec_prefix, libdir, datarootdir, docdir'

-.PHONY : all clean help
+.PHONY : all clean install uninstall help
-- 
1.7.10.4

Reply via email to