xref: /dpdk/doc/api/generate_doxygen.py (revision c56185fc183fc0532d2f03aaf04bbf0989ea91a5)
153bb9a07SDmitry Kozlyuk#!/usr/bin/env python3
253bb9a07SDmitry Kozlyuk# SPDX-License-Identifier: BSD-3-Clause
353bb9a07SDmitry Kozlyuk# (c) 2018 Luca Boccassi <bluca@debian.org>
453bb9a07SDmitry Kozlyuk# (c) 2022 Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
553bb9a07SDmitry Kozlyuk
653bb9a07SDmitry Kozlyukimport os, re, subprocess, sys
753bb9a07SDmitry Kozlyuk
853bb9a07SDmitry Kozlyukpattern = re.compile('^Preprocessing (.*)...$')
953bb9a07SDmitry Kozlyukout_dir, *doxygen_command = sys.argv[1:]
10*c56185fcSBruce Richardsonout_file = os.path.join(out_dir + '.out')
1153bb9a07SDmitry Kozlyukdep_file = f'{out_dir}.d'
1253bb9a07SDmitry Kozlyukwith open(out_file, 'w') as out:
1353bb9a07SDmitry Kozlyuk    subprocess.run(doxygen_command, check=True, stdout=out)
1453bb9a07SDmitry Kozlyukwith open(out_file) as out, open(dep_file, 'w') as dep:
1553bb9a07SDmitry Kozlyuk    print(f'{out_dir}:', end=' ', file=dep)
16fac23f03SLuca Boccassi    for line in sorted(out):
1753bb9a07SDmitry Kozlyuk        match = re.match(pattern, line)
1853bb9a07SDmitry Kozlyuk        if match:
1953bb9a07SDmitry Kozlyuk            print(match.group(1), end=' ', file=dep)
20