[2/4] mk: use templated doxygen config, modified on the fly
Checks
Commit Message
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@debian.org>
---
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
Comments
Good idea.
While at putting all in the same file (template),
we can re-organize the template a bit.
31/08/2018 20:20, Luca Boccassi:
> --- /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
> +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
> +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
> +
> +PROJECT_NUMBER = @VERSION@
could be below PROJECT_NAME
> +INPUT += @API_EXAMPLES@
can be at the end of INPUT list
> +OUTPUT_DIRECTORY = @OUTPUT@
> +HTML_OUTPUT = @HTML_OUTPUT@
can be below GENERATE_HTML
> +STRIP_FROM_PATH = @STRIP_FROM_PATH@
> +GENERATE_HTML = YES
> +GENERATE_LATEX = NO
> +GENERATE_MAN = NO
On Mon, 2018-09-03 at 03:03 +0200, Thomas Monjalon wrote:
> Good idea.
> While at putting all in the same file (template),
> we can re-organize the template a bit.
>
> 31/08/2018 20:20, Luca Boccassi:
> > --- /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
> > +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/g
> > eneric \
> > + @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
> > +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
> > +
> > +PROJECT_NUMBER = @VERSION@
>
> could be below PROJECT_NAME
>
> > +INPUT += @API_EXAMPLES@
>
> can be at the end of INPUT list
>
> > +OUTPUT_DIRECTORY = @OUTPUT@
> > +HTML_OUTPUT = @HTML_OUTPUT@
>
> can be below GENERATE_HTML
>
> > +STRIP_FROM_PATH = @STRIP_FROM_PATH@
> > +GENERATE_HTML = YES
> > +GENERATE_LATEX = NO
> > +GENERATE_MAN = NO
Ok, will do in v2
deleted file mode 100644
@@ -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
new file mode 100644
@@ -0,0 +1,96 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright 2013-2017 6WIND S.A.
+
+PROJECT_NAME = DPDK
+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
+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
+
+PROJECT_NUMBER = @VERSION@
+INPUT += @API_EXAMPLES@
+OUTPUT_DIRECTORY = @OUTPUT@
+HTML_OUTPUT = @HTML_OUTPUT@
+STRIP_FROM_PATH = @STRIP_FROM_PATH@
+GENERATE_HTML = YES
+GENERATE_LATEX = NO
+GENERATE_MAN = NO
@@ -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