У меня есть проект, который использует автоинструменты GNU для сборки себя. Я пытаюсь изменить так, чтобы autotools генерировал все не версионные управляющие файлы в отдельном каталоге, чтобы я мог сохранить дерево исходных файлов в чистоте от временных файлов. У кого-нибудь есть идеи, как это сделать?
10
Ответы:
Пакет autotools содержит много жестко заданных относительных путей и имен по уважительной причине. Ваш лучший вариант , чтобы подвести итог вывода и помечать их как игнорируются в вашем контроля версий, например , в
.cvsignore
,.hgignore
или какsvn:ignore
атрибут объявления . Некоторые RCS позволяют даже рекурсивно указывать подстановочные знаки.источник
Решение: сделать сборку из исходного кода
Пример с автоматической проверкой
Например, это извлечет и соберет GNU hello и проверит, что исходное дерево не изменилось чуть-чуть.
Подготовка исходного дерева
Эта часть выбирает и готовит каталоги.
Общая часть: повторно используйте это в своем проекте
Эта часть может использоваться с другими проектами на основе autoconf. Просто войдите в свой проект перед запуском. Осторожно: это работает
rm
, если вы играете с вариантами, будьте осторожны, вы несете ответственность в любом случае.Проверить часть
Это проверяет, является ли сборка совершенно исходной.
Вот это выводит это:
Бонус: установка без полномочий root
--prefix="${MYPREFIX?}"
Часть выше , является необязательным. Это позволяет выполнить «make install», которая является локальной для вашей учетной записи. Если вы хотите традиционную «sudo make install» для всей системы, вы можете удалить ее--prefix="${MYPREFIX?}"
.источник