Я установил ffmpeg из источников с помощью этой страницы. https://trac.ffmpeg.org/wiki/CentosCompilationGuide
Я заметил, что большая часть этого урока звонит make distclean
после make install
. Но только libvpx звонки make clean
после установки.
Согласно этому документу,
http://www.gnu.org/software/automake/manual/automake.html#Clean
make clean
удаляет все make
созданные файлы и удаляет все созданные make distclean
файлы ./configure
.
очистить
Сотрите из дерева сборки файлы, собранные make all.
очищать
Дополнительно сотри что угодно ./configure создан.
Я понимаю, что make distclean
требуется для следующей установки, но я не мог понять, почему make clean
вызывается после установки.
Установленный ffmpeg работает без проблем. Поэтому я задал этот вопрос, потому что я только хочу улучшить свои знания о Linux. Было бы очень полезно, чтобы кто-то объяснил мне это.
Ответы:
Параметр, используемый после,
make
зависит только от разработчика (разработчиков), который написалMakefile
. Документация, на которую вы позже ссылаетесь, Autotools, является лишь одним из многих способов созданияMakefile
.Типичный стандарт -
make clean
удаляет все промежуточные файлы иmake distclean
делает дерево таким, каким оно было, когда оно не было заархивировано (или что-то довольно близкое), включая удаление любого вывода скрипта configure. Так работает ядро Linux.Другими словами, она полностью зависит от разработчиков для каждой из этих библиотек, и поэтому иногда так
clean
и бываетdistclean
. Между прочим, вам не нужно запускатьclean
/distclean
- я думаю, что они запускают его только для экономии места на диске.make install
обычно копирует файлы в каталог назначения (опять же зависит от разработчиков) - как правило, такие места/usr/lib
или/usr/bin
(также определяется скриптом configure, если это система сборки Autotools)Эти нюансы являются основной причиной, по которой люди используют такие системы управления пакетами, как RPM или Debian.
источник
Насколько я понимаю, это просто для безопасного дискового пространства. После компиляции некоторой программы у вас будет много файлов, например, объектных файлов, которые больше не нужны, потому что они связаны вместе в двоичных файлах. Все можно воссоздать, снова потратив некоторое время процессора.
Возьмите этот пример с текущим
ffmpeg
кодом:git
репо источник занимает 53 160 кБmake clean
уменьшает это до 53 636 кБmake distclean
того, как мы почти на уровне сразу после клонирования: 53 188 кБисточник
Почему шаг libvpx использует
make clean
вместоmake distclean
На момент написания руководства у libvpx не было правила
Makefile
для целиdistclean
, поэтому оноclean
использовалось вместо него.Почему
make (dist)clean
включено послеmake install
make distclean
/make clean
включается после каждогоmake install
просто в качестве меры предосторожности для предоставления «чистого листа» пользователям, которые возвращаются, изменяют параметры конфигурации и перекомпилируют (что происходило чаще, чем ожидалось).В предыдущей версии руководства по компиляции без предупреждения
make distclean
один из этих пользователей иногда сталкивался с неожиданными результатами.Что делать , если
make distclean
/make clean
выдает ошибку?Так:
или это:
Игнорируй это. Это просто означает, что вы, вероятно,
make distclean
дважды пробежали, что безопасно.источник
make distclean
для libvpx.