2009-11-15 4 views
1

Предположим, мы устанавливаем некоторые библиотеки из своего источника, распространяемые способом продвижения GNU. При использовании «./configure --prefix» укажите, где устанавливать.Каталог файлов, сгенерированных Make во время установки с помощью configure, make and make install

(1) Make генерировать двоичные файлы в текущем каталоге? Выполняет ли установка, а затем копирует их из текущего каталога (который находится там, где выполняется Make) до префикса $? Если ответы да, у меня есть два вопроса, каждый для разных случаев.

(2) Если текущий каталог и префикс $ не совпадают, могу ли я удалить все файлы, созданные Make в текущих каталогах, чтобы сохранить некоторое пространство?

(3) Если текущий каталог и префикс $ равны, будет make install ничего не делать или копировать файлы сами по себе? Могу ли я просто пропустить шаг make install?

ответ

0
  1. Вы абсолютно right: make просто создает файлы в текущем каталоге, а make install копирует его в целевые каталоги на основе $prefix и других переменных, поддерживаемых сценарием configure.

  2. Вы можете уничтожить всю директорию, в которой вы запустили сборку. Он не будет использоваться, потому что, ну, вот что означает «установка»: вы создаете в одном каталоге и файлы помещаются в нужные места вашей системы.

  3. Обычно место назначения и каталог, в котором вы строите, отличаются. Иерархия установленных файлов обычно не связана с иерархией каталогов системы сборки. Просто установите в другой каталог: дешево создать только еще один каталог.

1

Ответ на ваш первый вопрос, вероятно, да.

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

Я думаю, что makefile сможет обрабатывать ситуацию, когда текущий каталог и префикс $ не совпадают, и поступают правильно.

Текущий каталог обычно не был бы местом назначения файлов, созданных make-файлами.

(конечно, это зависит от того, как написано Makefile, так что я не могу дать определенные ответы, но я вообще был впечатлен Makefiles я использовал)

+0

Спасибо. В текущем каталоге я имею в виду тот, из которого выполняется make. – Tim

Смежные вопросы