[dpdk-dev,v9,05/11] mk: Add rule for installing documentation

Message ID 1449178671-32288-6-git-send-email-mario.alfredo.c.arevalo@intel.com (mailing list archive)
State Rejected, archived
Headers

Commit Message

Mario Carrillo Dec. 3, 2015, 9:37 p.m. UTC
  Add hierarchy-file support to the DPDK documentation,
when invoking "make install-doc" documentation files will
be installed in: $(DESTDIR)/$(docdir) where
docdir=$(datarootdir)/doc/dpdk
datarootdir=$(prefix)/share
prefix=/usr/local by default, you can override "prefix",
"datarootdir" and "docdir" vars.
also if "make doc" was invoked previously, html and pdf documentation
will be included in this path
This hierarchy is based on:
http://www.freedesktop.org/software/systemd/man/file-hierarchy.html
and variables are based on:
https://www.gnu.org/prep/standards/html_node/Directory-Variables.html
https://www.gnu.org/prep/standards/html_node/DESTDIR.html

Suggested-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Signed-off-by: Mario Carrillo <mario.alfredo.c.arevalo@intel.com>
---
 mk/rte.sdkinstall.mk | 17 +++++++++++++++++
 mk/rte.sdkroot.mk    |  5 +++--
 2 files changed, 20 insertions(+), 2 deletions(-)
  

Patch

diff --git a/mk/rte.sdkinstall.mk b/mk/rte.sdkinstall.mk
index 1502399..e5e319d 100644
--- a/mk/rte.sdkinstall.mk
+++ b/mk/rte.sdkinstall.mk
@@ -47,11 +47,14 @@  exec_prefix ?= $(prefix)
 includedir ?= $(prefix)/include/dpdk
 bindir ?= $(exec_prefix)/bin
 libdir ?= $(exec_prefix)/lib
+datarootdir ?= $(prefix)/share
+docdir ?= $(datarootdir)/doc/dpdk
 HSLINKS := $(shell find  $(RTE_OUTPUT)/include/ -name *.h)
 BINARY_FILES := $(patsubst %.map,,$(wildcard $(RTE_OUTPUT)/app/*))
 NIC_FILES := $(wildcard $(RTE_SDK)/tools/*.py)
 LIBS := $(wildcard $(RTE_OUTPUT)/lib/*)
 MODULES := $(wildcard $(RTE_OUTPUT)/kmod/*)
+DOCS := $(wildcard $(RTE_SDK)/doc/* $(RTE_OUTPUT)/doc/*)
 BINARY_FILES += $(NIC_FILES)
 include $(RTE_OUTPUT)/.config
 RTE_EXEC_ENV := $(CONFIG_RTE_EXEC_ENV:"%"=%)
@@ -153,6 +156,20 @@  install-mod:
 	done \
 	fi
 #
+# install documentation in /usr/local/share/doc/dpdk
+# by default, "docdir", "prefix" and "datarootdir" vars can be overriden.
+#
+.PHONY: install-doc
+install-doc:
+	@echo ================== Installing documentation
+	@if [ ! -z "${DOCS}" ]; then \
+	[ -d $(DESTDIR)/$(docdir) ] || mkdir -p $(DESTDIR)/$(docdir); \
+	for DOC in ${DOCS}; do \
+	cp -rf $$DOC ${DESTDIR}/${docdir}; \
+	echo installing: $$DOC; \
+	done \
+	fi
+#
 # uninstall: remove all built sdk
 #
 UNINSTALL_TARGETS := $(addsuffix _uninstall,\
diff --git a/mk/rte.sdkroot.mk b/mk/rte.sdkroot.mk
index e652218..f56341d 100644
--- a/mk/rte.sdkroot.mk
+++ b/mk/rte.sdkroot.mk
@@ -97,8 +97,9 @@  test fast_test ring_test mempool_test perf_test coverage:
 testall:
 	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdktestall.mk $@
 
-.PHONY: install install-headers install-bin install-lib install-mod uninstall
-install install-headers install-bin install-lib install-mod uninstall:
+.PHONY: install install-headers install-bin install-lib install-mod \
+install-doc uninstall
+install install-headers install-bin install-lib install-mod install-doc uninstall:
 	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkinstall.mk $@
 
 .PHONY: doc help