Получить список всех использованных источников

0

Наша команда была назначена для обзора и преломления большого и сложного продукта. В текущем репо много неиспользуемых файлов. Нам нужно выяснить, какие файлы используются, а какие нет.

Есть ли простой способ получить все файлы источников и заголовков, которые используются системой сборки (make) для компиляции продукта?

  • 0
    find . -name "*.c"
  • 0
    @TheParamagnCroissant Как насчет неиспользуемых файлов в хранилище? Похоже, Кентзо хочет найти *.c , которого там быть не должно.
Показать ещё 1 комментарий
Теги:
makefile

2 ответа

1

Если вы ссылаетесь на источники файлов.C и.CPP, вы должны убедиться, что ваша система сборки создает файлы карт. Вы можете проанализировать файлы карт с регулярным выражением, чтобы найти все файлы.o. Это дает вам имя всех исходных файлов.

Файлы заголовков можно найти с помощью grep для строк #include.

Редактировать:

GCC может выводить зависимости с -M или -MM Вы можете проанализировать эти файлы. Если ваш make файл вызывает GCC, вы можете изменить CFLAGS для создания этих файлов. Если другие компиляторы предоставляют эти функции, зависит от компилятора.

  • 0
    К сожалению, кодовая база - это просто кровавый беспорядок. Из-за дубликатов и сложных make-файлов поиск файлов будет очень неприятен. Если возможно, я бы хотел получить эту информацию непосредственно от компилятора после того, как все решено.
0

Попробуйте добавить параметры генерации зависимостей в компилятор. G++ имеет набор опций -M *, которые позволяют создавать зависимости каждого файла в формате Makefile. Я не использовал его много, поэтому я не буду говорить вам точно, что вы должны делать, но, возможно, -MP может выглядеть многообещающе для вашей проблемы...

Просто сохраните эти файлы зависимостей с помощью какого-нибудь причудливого расширения, такого как.ddd, а затем напишите скрипт, чтобы скопировать их где-нибудь.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню