[dpdk-dev] [PATCH v3] doc: automate examples file list for API doc

Ferruh Yigit ferruh.yigit at intel.com
Wed Feb 8 18:54:55 CET 2017


These files are linked to API documentation as usage samples, list of
files created automatically during doc creation.

Remove manually updated old one.

Signed-off-by: Ferruh Yigit <ferruh.yigit at intel.com>
---

v3:
* use only find tool to create list of files, remove awk
* update line order of INPUT line.
---
 doc/api/doxy-api.conf |   1 -
 doc/api/examples.dox  | 115 --------------------------------------------------
 mk/rte.sdkdoc.mk      |  12 +++++-
 3 files changed, 11 insertions(+), 117 deletions(-)
 delete mode 100644 doc/api/examples.dox

diff --git a/doc/api/doxy-api.conf b/doc/api/doxy-api.conf
index b8a5fd8..fdcf13c 100644
--- a/doc/api/doxy-api.conf
+++ b/doc/api/doxy-api.conf
@@ -30,7 +30,6 @@
 
 PROJECT_NAME            = DPDK
 INPUT                   = doc/api/doxy-api-index.md \
-                          doc/api/examples.dox \
                           drivers/net/bonding \
                           drivers/net/i40e \
                           drivers/net/ixgbe \
diff --git a/doc/api/examples.dox b/doc/api/examples.dox
deleted file mode 100644
index 9a48f5f..0000000
--- a/doc/api/examples.dox
+++ /dev/null
@@ -1,115 +0,0 @@
-/**
- at page examples DPDK Example Programs
-
- at example bond/main.c
- at example cmdline/commands.c
- at example cmdline/main.c
- at example cmdline/parse_obj_list.c
- at example distributor/main.c
- at example dpdk_qat/crypto.c
- at example dpdk_qat/main.c
- at example ethtool/ethtool-app/ethapp.c
- at example ethtool/ethtool-app/main.c
- at example ethtool/lib/rte_ethtool.c
- at example exception_path/main.c
- at example helloworld/main.c
- at example ip_fragmentation/main.c
- at example ip_pipeline/config_check.c
- at example ip_pipeline/config_parse.c
- at example ip_pipeline/config_parse_tm.c
- at example ip_pipeline/cpu_core_map.c
- at example ip_pipeline/init.c
- at example ip_pipeline/main.c
- at example ip_pipeline/pipeline/pipeline_common_be.c
- at example ip_pipeline/pipeline/pipeline_common_fe.c
- at example ip_pipeline/pipeline/pipeline_firewall_be.c
- at example ip_pipeline/pipeline/pipeline_firewall.c
- at example ip_pipeline/pipeline/pipeline_flow_actions_be.c
- at example ip_pipeline/pipeline/pipeline_flow_actions.c
- at example ip_pipeline/pipeline/pipeline_flow_classification_be.c
- at example ip_pipeline/pipeline/pipeline_flow_classification.c
- at example ip_pipeline/pipeline/pipeline_master_be.c
- at example ip_pipeline/pipeline/pipeline_master.c
- at example ip_pipeline/pipeline/pipeline_passthrough_be.c
- at example ip_pipeline/pipeline/pipeline_passthrough.c
- at example ip_pipeline/pipeline/pipeline_routing_be.c
- at example ip_pipeline/pipeline/pipeline_routing.c
- at example ip_pipeline/thread.c
- at example ip_pipeline/thread_fe.c
- at example ip_reassembly/main.c
- at example ipv4_multicast/main.c
- at example kni/main.c
- at example l2fwd-crypto/main.c
- at example l2fwd-jobstats/main.c
- at example l2fwd-keepalive/main.c
- at example l2fwd/main.c
- at example l3fwd-acl/main.c
- at example l3fwd/main.c
- at example l3fwd-power/main.c
- at example l3fwd-vf/main.c
- at example link_status_interrupt/main.c
- at example load_balancer/config.c
- at example load_balancer/init.c
- at example load_balancer/main.c
- at example load_balancer/runtime.c
- at example multi_process/client_server_mp/mp_client/client.c
- at example multi_process/client_server_mp/mp_server/args.c
- at example multi_process/client_server_mp/mp_server/init.c
- at example multi_process/client_server_mp/mp_server/main.c
- at example multi_process/l2fwd_fork/flib.c
- at example multi_process/l2fwd_fork/main.c
- at example multi_process/simple_mp/main.c
- at example multi_process/simple_mp/mp_commands.c
- at example multi_process/symmetric_mp/main.c
- at example netmap_compat/bridge/bridge.c
- at example netmap_compat/lib/compat_netmap.c
- at example packet_ordering/main.c
- at example performance-thread/common/arch/x86/ctx.c
- at example performance-thread/common/lthread.c
- at example performance-thread/common/lthread_cond.c
- at example performance-thread/common/lthread_diag.c
- at example performance-thread/common/lthread_mutex.c
- at example performance-thread/common/lthread_sched.c
- at example performance-thread/common/lthread_tls.c
- at example performance-thread/l3fwd-thread/main.c
- at example performance-thread/pthread_shim/main.c
- at example performance-thread/pthread_shim/pthread_shim.c
- at example ptpclient/ptpclient.c
- at example qos_meter/main.c
- at example qos_meter/rte_policer.c
- at example qos_sched/app_thread.c
- at example qos_sched/args.c
- at example qos_sched/cfg_file.c
- at example qos_sched/cmdline.c
- at example qos_sched/init.c
- at example qos_sched/main.c
- at example qos_sched/stats.c
- at example quota_watermark/qw/args.c
- at example quota_watermark/qwctl/commands.c
- at example quota_watermark/qwctl/qwctl.c
- at example quota_watermark/qw/init.c
- at example quota_watermark/qw/main.c
- at example rxtx_callbacks/main.c
- at example server_node_efd/server/args.c
- at example server_node_efd/server/init.c
- at example server_node_efd/server/main.c
- at example server_node_efd/node/node.c
- at example skeleton/basicfwd.c
- at example tep_termination/main.c
- at example tep_termination/vxlan.c
- at example tep_termination/vxlan_setup.c
- at example timer/main.c
- at example vhost/main.c
- at example vhost_xen/main.c
- at example vhost_xen/vhost_monitor.c
- at example vhost_xen/xenstore_parse.c
- at example vmdq_dcb/main.c
- at example vmdq/main.c
- at example vm_power_manager/channel_manager.c
- at example vm_power_manager/channel_monitor.c
- at example vm_power_manager/guest_cli/main.c
- at example vm_power_manager/guest_cli/vm_power_cli_guest.c
- at example vm_power_manager/main.c
- at example vm_power_manager/power_manager.c
- at example vm_power_manager/vm_power_cli.c
-*/
diff --git a/mk/rte.sdkdoc.mk b/mk/rte.sdkdoc.mk
index 21d9bdf..39c67a9 100644
--- a/mk/rte.sdkdoc.mk
+++ b/mk/rte.sdkdoc.mk
@@ -54,6 +54,8 @@ RTE_PDF_DPI ?= 300
 
 RTE_GUIDES := $(filter %/, $(wildcard $(RTE_SDK)/doc/guides/*/))
 
+API_EXAMPLES := $(RTE_OUTPUT)/doc/html/examples.dox
+
 .PHONY: help
 help:
 	@cat $(RTE_SDK)/doc/build-sdk-quick.txt
@@ -66,12 +68,13 @@ all: api-html guides-html guides-pdf
 clean: api-html-clean guides-html-clean guides-pdf-clean guides-man-clean
 
 .PHONY: api-html
-api-html: api-html-clean
+api-html: api-html-clean $(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) -rR showversion && \
+	    echo INPUT           += $(API_EXAMPLES)   && \
 	    echo OUTPUT_DIRECTORY = $(RTE_OUTPUT)/doc && \
 	    echo HTML_OUTPUT      = html/api          && \
 	    echo GENERATE_HTML    = YES               && \
@@ -85,6 +88,13 @@ api-html-clean:
 	$(Q)rm -f $(RTE_OUTPUT)/doc/html/api/*
 	$(Q)rmdir -p --ignore-fail-on-non-empty $(RTE_OUTPUT)/doc/html/api 2>&- || true
 
+$(API_EXAMPLES):
+	$(Q)mkdir -p $(RTE_OUTPUT)/doc/html
+	@printf '/**\n' > $(API_EXAMPLES)
+	@printf '@page examples DPDK Example Programs\n\n' >> $(API_EXAMPLES)
+	@find examples -type f -name '*.c' -printf '@example %p\n' >> $(API_EXAMPLES)
+	@printf '*/\n' >> $(API_EXAMPLES)
+
 guides-pdf-clean: guides-pdf-img-clean
 guides-pdf-img-clean:
 	$(Q)rm -f $(RTE_SDK)/doc/guides/*/img/*.pdf
-- 
2.9.3



More information about the dev mailing list