Лучший способ получить эту информацию - просто посмотреть на источник для SCons.Вы ищете файл SCons / Script / Main.py и, в частности, класс TreePrinter
.Основная идея состоит в том, что все узлы SCons содержат в себе все соответствующие детали для восстановления графа зависимостей.
Простейший тестовый пример, о котором я могу подумать:
import os
env = Environment(ENV = os.environ)
app = env.Program('dummy', 'main.cpp')
for item in app:
for child in item.all_children():
print child
Код для выполненияна самом деле это не так сложно, но я, конечно, не хотел бы полагаться на то, что он не меняется (это не является частью открытого интерфейса для SCons).