2010-09-10 3 views
4

Мне нужно добавить некоторые возможности в очень сложный многоуровневый make-файл (много включенных файлов, множество целей, множество переменных), которые были написаны кем-то другим, который, конечно, больше не является с компанией. Здесь есть некоторые люди, которые понимают некоторые из них, но не все.Есть ли отладчик Make? Мне нужно выяснить чужой makefile

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

ответ

2

GNU Make имеет various options для печати некоторую отладочную информацию во время работы. -d распечатает много отладочной информации; возможно, слишком много, и, возможно, не то, что вам нужно, но вы можете попробовать просеивать это. Существуют также варианты, такие как -n для выполнения сухого пробега, -p для печати базы данных правил, -w для распечатки того каталога, в котором вы находитесь, чтобы отслеживать проблемы в сложных рекурсивных марках и --warn-undefined-variables для отслеживания определенных проблем с переменными.

Если ничего не работает, вы можете попробовать Remake, который утверждает, что это исправленный GNU make с отладчиком. Я не использовал его, но с documentation, похоже, он может помочь вам, и у него есть еще несколько советов по поиску ошибок в Makefile.