Мне нужно написать документацию для моего текущего проекта, в которой перечислены все .c файлы, и для каждого из них перечисляется каждый .h файл, который прямо или косвенно включен в этот файл.
Это большой проект, и хотя у нас есть Makefiles, которые теоретически имеют эту информацию, эти Makefile иногда ошибочны (мы унаследовали этот проект от другой компании). Нам часто приходилось делать make clean ; make
, чтобы наши изменения действительно отражались в перекомпиляции, поэтому я не хочу полагаться на эти Make файлы.
Итак, есть ли инструмент, который позволяет нам указать имя файла .c и путь include и сообщить ли он нам все файлы .h, которые прямо или косвенно включены в файл .c? У нас нет ничего странного, как
#define my_include "some_file.h"
#include my_include
поэтому инструмент не должен быть идеальным. Все, что искало файлы .c и .h во включенном пути для регулярных включений, будет достаточно хорошим.