raw/ifpga/base: add PMCI sensor driver
[dpdk.git] / doc / api / generate_examples.py
1 #!/usr/bin/env python3
2 # SPDX-License-Identifier: BSD-3-Clause
3 # (c) 2018 Luca Boccassi <bluca@debian.org>
4 # (c) 2022 Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
5
6 import os, sys
7
8 examples_dir, api_examples = sys.argv[1:]
9
10 sources = []
11 with open(f'{api_examples}.d', 'w') as dep:
12     print(f'{api_examples}:', end=' ', file=dep)
13     for root, _, files in os.walk(examples_dir):
14         for name in files:
15             is_source = name.endswith('.c')
16             if is_source or name == 'meson.build':
17                 path = os.path.join(root, name)
18                 if is_source:
19                     sources.append(path)
20                 print(path , end=' ', file=dep)
21
22 with open(api_examples, 'w') as out:
23     print('''/**
24 @page examples DPDK Example Programs
25 ''', file=out)
26     for path in sources:
27         # Produce consistent output with forward slashes on all systems.
28         # Every \ in paths within examples directory is a separator, not escape.
29         relpath = os.path.relpath(path, examples_dir).replace('\\', '/')
30         print(f'@example examples/{relpath}', file=out)
31     print('*/', file=out)