2009-07-28 2 views
8

Я пытаюсь выкопать один проект на основе autotools, на самом деле большой. Я работаю над небольшой частью этого, подкаталога. И мне нужно постоянно добавлять/перемещать/удалять файлы и каталоги внутри этой маленькой части.Регенерировать файлы .Plo без запуска ./configure

Выполнение ./configure на верхнем уровне каждый раз, не только отнимает много времени, но приводит к тому, что все дерево объектов становится недействительным (извините за термины, но я вроде как новый в этом). Поэтому я выяснил, как восстановить Makefile.in из Makefile.am (путем запуска automake path/to/my/part), и я выяснил, как восстановить Makefile из Makefile.in в дереве сборки (путем запуска ./config.status путь/к/моя/часть). Но я все еще не могу понять: как восстановить все файлы зависимостей (.deps/* .Plo внутри каждого подкаталога в дереве сборки). Действительно, запуск configure снова решает проблему. Итак, мой вопрос: как восстановить файлы зависимостей без снова запустить configure? Заранее спасибо.

ответ

9

Может быть, ответ немного поздно ...

Я предполагаю, что вы очистили свой path/to/my/part и регенерируют Makefile командами, перечисленных в вашем вопросе.

Затем выполнить

rm .deps/* 

удалить старые зависимостей и

grep "^include " Makefile | sed -e 's/^include .\///;s/\$(DEPDIR)/.deps/' | xargs touch 

для запроса Makefile зависимостей и генерировать пустые фиктивные файлы. В настоящее время

make 

должен скомпилировать ваш код и восстановить его в качестве побочного эффекта.

Примечание: Я полагаю, что ваш DEPDIR должен быть установлен по умолчанию (.deps), и что нет никаких дальнейших include директивы в вашем Makefile.am. Однако изменение этого должно быть простым.