2010-10-12 3 views
7

я вижу в Linux эти вещи, но что это ?:Что Makefiles - сделать установку

./configure 
make 
make install 

и т.д. и т.п.

+1

А вот вопрос, почему разработчик не справляется, я вижу, что много программного обеспечения заставляет меня подчиниться самому себе? – Snoob

+1

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

+0

Есть много предварительно скомпилированных двоичных файлов. Обычно они заканчиваются на .deb или .rpm. Если вы используете дистрибутив типа Ubuntu, вы можете получить большую часть программного обеспечения, предварительно скомпилированного из репозитория. –

ответ

8

make является частью системы сборки обычно используются в системах типа Unix - binutils.

Он ищет файлы, в которых хранятся данные конфигурации и строятся цели.

В частности -

  • ./configure - это скрипт, который настраивает среду для сборки
  • макияжа - называет make с целью сборки по умолчанию. Обычно создает приложение.
  • make install - звонки make с целью построения цели install. Обычно устанавливается приложение.
+0

Почему downvote? –

+0

@Paul Tomlin - о чем вы говорите? – Oded

+0

О, я думаю, это было отменено. Когда я задал этот вопрос, вы были -1. –

5

configure проверяет, есть ли у вас все предпосылки/зависимости для создания программного обеспечения.

make действительно ли сборник.

make install устанавливает программное обеспечение в правильном месте.

3

Make заботится о выполнении (иногда очень сложного) набора инструкций и команд, необходимых для создания источника управления в скомпилированный исполняемый файл или библиотеку.

make (software)

делают это утилита, которая автоматически создает исполняемые программы и библиотеки из исходного кода

4

Это в основном система сборки.

./configure проверяет наличие всех необходимых зависимостей и создает Makefile.
make компилирует программное обеспечение, используя правила Makefile.
make install перемещает программное обеспечение в нужное место в файловой системе.

+2

Это не «в основном» система сборки. Это _is_ система сборки. –

11

./configure - это программа, которая рассматривает вашу конфигурацию системы и создает некоторые из системных зависимостей для вашей программы. make - это программа, которая смотрит на ваш Makefile (который, вероятно, был построен configure) и использует правила там, чтобы построить вашу программу. Makefile может иметь несколько «целей», которые являются наборами правил для разных целей - по умолчанию обычно просто компилировать и связывать вашу программу. Когда вы говорите make без аргументов, он запускает цель по умолчанию. Когда вы говорите make install, вы используете цель install, в которой обычно устанавливаются двоичные файлы или библиотеки, созданные по умолчанию в конечных местоположениях. clean - еще одна распространенная цель Makefile, которая удаляет все сгенерированные файлы, такие как промежуточные файлы объектов.

0

Существует также make clean

Вот хорошая ссылка: http://makepp.sourceforge.net/1.19/makepp_tutorial.html

+0

нигде в ссылочном документе не упоминается «/ clean». Кроме того, вы говорите: «/ clean» - это команда или цель? В буквальном смысле это не так. При предоставлении технических ответов вы должны быть точными. –

+0

Прошу прощения за то, что вы не точнее. Вот пример простого файла make, который я представил для школьного проекта, который мне пришлось выполнить (а также некоторого кода, который можно игнорировать) ... вы можете найти пример в файле «makefile». Поскольку я создал файл makefile, вы можете использовать «/ clean», который удалит файл объекта, сгенерированный «/ make». Это потребует обновления для более сложной компиляции, которая связана с привязкой объектного кода к приложению, но иллюстрирует основную концепцию того, о чем я говорил. http://www.download.bigsistechnologies.com/csc22001p1_burke.tar.gz –

+0

Что с ведущими косами на ваших '/ make' и'/clean' ?? – reinierpost

1

'./configure' представляет собой скрипт, который переносит на несколько систем Unix (Linux, Solaris и т.д.). «./configure» делает несколько вещей: протестируйте среду сборки, устраните проблемы с переносимостью, проверьте другое дополнительное программное обеспечение, проверьте, где вы хотите установить программный пакет и т. д. Вы можете узнать, какие параметры можно настроить по ./configure --help. Просто вызывая «./configure», вы просто настроите пакет с тем, что он считает по умолчанию. Основным выходным файлом из «./configure» обычно является файл «Makefile», который является комбинированным инструкцией по сборке/установке/удалению программного пакета.

«make» использует «Makefile» для создания цели по умолчанию, которая обычно представляет собой целую коллекцию вещей, которые необходимо построить.

«make install» использует «Makefile» для сборки цели «install», которая устанавливает программное обеспечение.

1

Я нашел эту замечательную статью (ознакомьтесь с инструкцией по установке, настройке, установке, настройке программного обеспечения), в которой подробно рассказывается о том, как настроить, сделать и сделать установку. Не слишком мелкий и не слишком глубокий, достаточно, чтобы сделать его удобным для Linux. http://www.codecoffee.com/tipsforlinux/articles/27.html

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