[dpdk-dev] [PATCH v3 2/4] mk: use templated doxygen config, modified on the fly

Luca Boccassi bluca at debian.org
Mon Sep 10 18:13:04 CEST 2018


This will allow the same config file to be used from Meson.
The result has been verified to be identical via diffoscope.

Signed-off-by: Luca Boccassi <bluca at debian.org>
---
v2: reordered generated fields as requested

 doc/api/doxy-api.conf    | 87 ------------------------------------
 doc/api/doxy-api.conf.in | 96 ++++++++++++++++++++++++++++++++++++++++
 mk/rte.sdkdoc.mk         | 16 +++----
 3 files changed, 103 insertions(+), 96 deletions(-)
 delete mode 100644 doc/api/doxy-api.conf
 create mode 100644 doc/api/doxy-api.conf.in

diff --git a/doc/api/doxy-api.conf b/doc/api/doxy-api.conf
deleted file mode 100644
index 66693c3835..0000000000
--- a/doc/api/doxy-api.conf
+++ /dev/null
@@ -1,87 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2013-2017 6WIND S.A.
-
-PROJECT_NAME            = DPDK
-INPUT                   = doc/api/doxy-api-index.md \
-                          drivers/crypto/scheduler \
-                          drivers/mempool/dpaa2 \
-                          drivers/net/bnxt \
-                          drivers/net/bonding \
-                          drivers/net/dpaa \
-                          drivers/net/i40e \
-                          drivers/net/ixgbe \
-                          drivers/net/softnic \
-                          drivers/raw/dpaa2_cmdif \
-                          drivers/raw/dpaa2_qdma \
-                          lib/librte_eal/common/include \
-                          lib/librte_eal/common/include/generic \
-                          lib/librte_acl \
-                          lib/librte_bbdev \
-                          lib/librte_bitratestats \
-                          lib/librte_bpf \
-                          lib/librte_cfgfile \
-                          lib/librte_cmdline \
-                          lib/librte_compat \
-                          lib/librte_compressdev \
-                          lib/librte_cryptodev \
-                          lib/librte_distributor \
-                          lib/librte_efd \
-                          lib/librte_ethdev \
-                          lib/librte_eventdev \
-                          lib/librte_flow_classify \
-                          lib/librte_gro \
-                          lib/librte_gso \
-                          lib/librte_hash \
-                          lib/librte_ip_frag \
-                          lib/librte_jobstats \
-                          lib/librte_kni \
-                          lib/librte_kvargs \
-                          lib/librte_latencystats \
-                          lib/librte_lpm \
-                          lib/librte_mbuf \
-                          lib/librte_member \
-                          lib/librte_mempool \
-                          lib/librte_meter \
-                          lib/librte_metrics \
-                          lib/librte_net \
-                          lib/librte_pci \
-                          lib/librte_pdump \
-                          lib/librte_pipeline \
-                          lib/librte_port \
-                          lib/librte_power \
-                          lib/librte_rawdev \
-                          lib/librte_reorder \
-                          lib/librte_ring \
-                          lib/librte_sched \
-                          lib/librte_security \
-                          lib/librte_table \
-                          lib/librte_timer \
-                          lib/librte_vhost
-FILE_PATTERNS           = rte_*.h \
-                          cmdline.h
-PREDEFINED              = __DOXYGEN__ \
-			   VFIO_PRESENT \
-                          __attribute__(x)=
-
-OPTIMIZE_OUTPUT_FOR_C   = YES
-ENABLE_PREPROCESSING    = YES
-MACRO_EXPANSION         = YES
-EXPAND_ONLY_PREDEF      = YES
-EXTRACT_STATIC          = YES
-DISTRIBUTE_GROUP_DOC    = YES
-HIDE_UNDOC_MEMBERS      = YES
-HIDE_UNDOC_CLASSES      = YES
-HIDE_SCOPE_NAMES        = YES
-GENERATE_DEPRECATEDLIST = NO
-VERBATIM_HEADERS        = NO
-ALPHABETICAL_INDEX      = NO
-
-HTML_TIMESTAMP          = NO
-HTML_DYNAMIC_SECTIONS   = YES
-SEARCHENGINE            = NO
-SORT_MEMBER_DOCS        = NO
-SOURCE_BROWSER          = YES
-
-EXAMPLE_PATH            = examples
-EXAMPLE_PATTERNS        = *.c
-EXAMPLE_RECURSIVE       = YES
diff --git a/doc/api/doxy-api.conf.in b/doc/api/doxy-api.conf.in
new file mode 100644
index 0000000000..c3d8fdef18
--- /dev/null
+++ b/doc/api/doxy-api.conf.in
@@ -0,0 +1,96 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright 2013-2017 6WIND S.A.
+
+PROJECT_NAME            = DPDK
+PROJECT_NUMBER          = @VERSION@
+INPUT                   = @TOPDIR@/doc/api/doxy-api-index.md \
+                          @TOPDIR@/drivers/crypto/scheduler \
+                          @TOPDIR@/drivers/mempool/dpaa2 \
+                          @TOPDIR@/drivers/net/bnxt \
+                          @TOPDIR@/drivers/net/bonding \
+                          @TOPDIR@/drivers/net/dpaa \
+                          @TOPDIR@/drivers/net/i40e \
+                          @TOPDIR@/drivers/net/ixgbe \
+                          @TOPDIR@/drivers/net/softnic \
+                          @TOPDIR@/drivers/raw/dpaa2_cmdif \
+                          @TOPDIR@/drivers/raw/dpaa2_qdma \
+                          @TOPDIR@/lib/librte_eal/common/include \
+                          @TOPDIR@/lib/librte_eal/common/include/generic \
+                          @TOPDIR@/lib/librte_acl \
+                          @TOPDIR@/lib/librte_bbdev \
+                          @TOPDIR@/lib/librte_bitratestats \
+                          @TOPDIR@/lib/librte_bpf \
+                          @TOPDIR@/lib/librte_cfgfile \
+                          @TOPDIR@/lib/librte_cmdline \
+                          @TOPDIR@/lib/librte_compat \
+                          @TOPDIR@/lib/librte_compressdev \
+                          @TOPDIR@/lib/librte_cryptodev \
+                          @TOPDIR@/lib/librte_distributor \
+                          @TOPDIR@/lib/librte_efd \
+                          @TOPDIR@/lib/librte_ethdev \
+                          @TOPDIR@/lib/librte_eventdev \
+                          @TOPDIR@/lib/librte_flow_classify \
+                          @TOPDIR@/lib/librte_gro \
+                          @TOPDIR@/lib/librte_gso \
+                          @TOPDIR@/lib/librte_hash \
+                          @TOPDIR@/lib/librte_ip_frag \
+                          @TOPDIR@/lib/librte_jobstats \
+                          @TOPDIR@/lib/librte_kni \
+                          @TOPDIR@/lib/librte_kvargs \
+                          @TOPDIR@/lib/librte_latencystats \
+                          @TOPDIR@/lib/librte_lpm \
+                          @TOPDIR@/lib/librte_mbuf \
+                          @TOPDIR@/lib/librte_member \
+                          @TOPDIR@/lib/librte_mempool \
+                          @TOPDIR@/lib/librte_meter \
+                          @TOPDIR@/lib/librte_metrics \
+                          @TOPDIR@/lib/librte_net \
+                          @TOPDIR@/lib/librte_pci \
+                          @TOPDIR@/lib/librte_pdump \
+                          @TOPDIR@/lib/librte_pipeline \
+                          @TOPDIR@/lib/librte_port \
+                          @TOPDIR@/lib/librte_power \
+                          @TOPDIR@/lib/librte_rawdev \
+                          @TOPDIR@/lib/librte_reorder \
+                          @TOPDIR@/lib/librte_ring \
+                          @TOPDIR@/lib/librte_sched \
+                          @TOPDIR@/lib/librte_security \
+                          @TOPDIR@/lib/librte_table \
+                          @TOPDIR@/lib/librte_timer \
+                          @TOPDIR@/lib/librte_vhost
+INPUT                   += @API_EXAMPLES@
+FILE_PATTERNS           = rte_*.h \
+                          cmdline.h
+PREDEFINED              = __DOXYGEN__ \
+			   VFIO_PRESENT \
+                          __attribute__(x)=
+
+OPTIMIZE_OUTPUT_FOR_C   = YES
+ENABLE_PREPROCESSING    = YES
+MACRO_EXPANSION         = YES
+EXPAND_ONLY_PREDEF      = YES
+EXTRACT_STATIC          = YES
+DISTRIBUTE_GROUP_DOC    = YES
+HIDE_UNDOC_MEMBERS      = YES
+HIDE_UNDOC_CLASSES      = YES
+HIDE_SCOPE_NAMES        = YES
+GENERATE_DEPRECATEDLIST = NO
+VERBATIM_HEADERS        = NO
+ALPHABETICAL_INDEX      = NO
+
+HTML_TIMESTAMP          = NO
+HTML_DYNAMIC_SECTIONS   = YES
+SEARCHENGINE            = NO
+SORT_MEMBER_DOCS        = NO
+SOURCE_BROWSER          = YES
+
+EXAMPLE_PATH            = @TOPDIR@/examples
+EXAMPLE_PATTERNS        = *.c
+EXAMPLE_RECURSIVE       = YES
+
+OUTPUT_DIRECTORY        = @OUTPUT@
+STRIP_FROM_PATH         = @STRIP_FROM_PATH@
+GENERATE_HTML           = YES
+HTML_OUTPUT             = @HTML_OUTPUT@
+GENERATE_LATEX          = NO
+GENERATE_MAN            = NO
diff --git a/mk/rte.sdkdoc.mk b/mk/rte.sdkdoc.mk
index d023b720fe..c44db6447a 100644
--- a/mk/rte.sdkdoc.mk
+++ b/mk/rte.sdkdoc.mk
@@ -43,15 +43,13 @@ clean: api-html-clean guides-html-clean guides-pdf-clean guides-man-clean
 api-html: $(API_EXAMPLES)
 	@echo 'doxygen for API...'
 	$(Q)mkdir -p $(RTE_OUTPUT)/doc/html
-	$(Q)(cat $(RTE_SDK)/doc/api/doxy-api.conf     && \
-	    printf 'PROJECT_NUMBER = '                && \
-	                     $(MAKE) -rRs showversion && \
-	    echo INPUT           += $(API_EXAMPLES)   && \
-	    echo OUTPUT_DIRECTORY = $(RTE_OUTPUT)/doc && \
-	    echo HTML_OUTPUT      = html/api          && \
-	    echo GENERATE_HTML    = YES               && \
-	    echo GENERATE_LATEX   = NO                && \
-	    echo GENERATE_MAN     = NO                )| \
+	$(Q)(sed -e "s|@VERSION@|`$(MAKE) -rRs showversion`|" \
+	         -e "s|@API_EXAMPLES@|$(API_EXAMPLES)|"       \
+	         -e "s|@OUTPUT@|$(RTE_OUTPUT)/doc|"           \
+	         -e "s|@HTML_OUTPUT@|html/api|"               \
+	         -e "s|@TOPDIR@|./|g"                         \
+	         -e "s|@STRIP_FROM_PATH@|./|g"                \
+	         $(RTE_SDK)/doc/api/doxy-api.conf.in)|        \
 	    doxygen -
 	$(Q)$(RTE_SDK)/doc/api/doxy-html-custom.sh $(RTE_OUTPUT)/doc/html/api/doxygen.css
 
-- 
2.18.0



More information about the dev mailing list