numam-dpdk/doc/api/generate_examples.py
Dmitry Kozlyuk 53bb9a073f doc: rewrite shell scripts in Python
Shell used in documentation generation could not run on Windows.
Rewrite scripts in Python.
New scripts use proper path separators and handle paths with spaces.

Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
Reviewed-by: Bruce Richardson <bruce.richardson@intel.com>
2022-06-01 11:53:35 +02:00

32 lines
1.1 KiB
Python

#!/usr/bin/env python3
# SPDX-License-Identifier: BSD-3-Clause
# (c) 2018 Luca Boccassi <bluca@debian.org>
# (c) 2022 Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
import os, sys
examples_dir, api_examples = sys.argv[1:]
sources = []
with open(f'{api_examples}.d', 'w') as dep:
print(f'{api_examples}:', end=' ', file=dep)
for root, _, files in os.walk(examples_dir):
for name in files:
is_source = name.endswith('.c')
if is_source or name == 'meson.build':
path = os.path.join(root, name)
if is_source:
sources.append(path)
print(path , end=' ', file=dep)
with open(api_examples, 'w') as out:
print('''/**
@page examples DPDK Example Programs
''', file=out)
for path in sources:
# Produce consistent output with forward slashes on all systems.
# Every \ in paths within examples directory is a separator, not escape.
relpath = os.path.relpath(path, examples_dir).replace('\\', '/')
print(f'@example examples/{relpath}', file=out)
print('*/', file=out)