Автоинструменты: как очистить файлы, созданные с помощью "./configure" в проекте lighttpd? - PullRequest
23 голосов
/ 29 мая 2010

Я пробую lighttpd для проекта встроенного Linux. Я получил последний пакет с исходным кодом и начал писать мастер-файл Makefile, содержащий все настройки, компиляции, установки (для тестирования) и т. Д.

И наоборот, я хочу убирать каждый шаг. После очистки больше не должно быть сгенерированных файлов. Это важно для повторного тестирования.

Интересно, есть ли способ сделать полную очистку того, что сгенерировано ./configure? Я не знаком с autotools в деталях.

Есть подсказки?

Ответы [ 2 ]

30 голосов
/ 30 мая 2010

Лично я бы действительно использовал для этого функции программного обеспечения для управления версиями (вы должны его использовать). Это сделает очистку независимой от вашего процесса сборки. Смотрите, например svn-cleanup или git clean.

Тем не менее, automake позволяет немного подправить, когда удалять какие файлы. Это имеет (намеренно?) Встроенные ограничения на то, какие файлы, сгенерированные autotools, могут быть удалены таким образом. Взгляните на определения для MOSTLYCLEANFILES, CLEANFILES, DISTCLEANFILES и MAINTAINERCLEANFILES и настройте свои Makefile.am. С их помощью вы можете удалить много вещей с помощью

make mostlyclean
make clean
make distclean
make maintainer-clean

Вы не сможете удалить, например, Makefile или .deps/ таким образом.

Что касается надежности make clean, она должна "работать на 100%", если вы придерживаетесь точного указания файлов и избегаете ручного вмешательства. В противном случае расширяет правила очистки .

4 голосов
/ 03 апреля 2016

В дополнение к ответу Бенджамина Банье имена сгенерированных файлов могут быть перечислены в файле .gitignore, так что они игнорируются, не отслеживаются с помощью git и не раздражают и не мешают при запуске git status , Вы не можете удалить эти файлы с помощью git clean. В этом случае я лично использую команду rm -rf * ; git checkout ..

Но не используйте это, если у вас есть другие игнорируемые файлы, которые вы не хотите удалять!

...