[dpdk-dev,v9,05/11] mk: Add rule for installing documentation
Commit Message
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(-)
@@ -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,\
@@ -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