 |
|  |
| Предыдущая тема :: Следующая тема |
| Автор |
Сообщение |
TIM Site Admin

Зарегистрирован: 21.02.2004 Сообщения: 648 Откуда: Санкт-Петербург
|
Добавлено: Вс 25 Апр, 2004 3:58 am Заголовок сообщения: make для самых маленьких ... |
|
|
команда makе используется для управление портами в системах BSD.
для уточнения смотрите man make
после команды указываются переменные и цели для сборки.
Цели.
Цели выполняются в определенной последовательности. При задании промежуточной цели выполняются все предыдущие:
fetch - все необходимые для сборки исходники скачиваются в каталог /usr/ports/distfiles/;
checksum - проверка целостности скачанных исходников;
depends - сборка и установка всех зависимостей для программы;
также: fetch-depends;
extract - распаковка исходников в директорию work;
patch - применение патчей (из /usr/ports/.../files) для исходников;
configure - конфигурирование исходников в соответствии с заданными переменными;
build или all - собственно, сборка программы - цель для make по умолчанию;
также: build-depends;
install - проверка/установка всех зависимостей для работы, установка программы и регистрация её в системе пакетов (/var/db/pkg/)
также возможны цели:
fetch-list - изготовление составной команды для скачивания всех необходимых исходников;
fetch-recursive - выкачивание всего для сборки программы и всех её зависимостей;
fetch-recursive-list - соответственно, изготовление составной команды для скачивания всех необходимых исходников для сборки программы и всех её зависимостей;
pretty-print-run-depends-list и pretty-print-run-depends-list - вывод всех зависимостей для запуска и для сборки программы;
clean - очистка дерева портов от распакованных исходников, объектов и бинарников собранной программы и её зависимостей;
distclean - clean с удалением исходников программы из /usr/ports/distfiles;
reinstall - пересборка программы;
deinstall - деинсталляция прораммы;
deinstall-all - деинсталляция всех установленных программ ;
package - сборка пакета (для pkg_add и т.п.) для собранной и установленной программы;
package-recursive - сборка иерархии пакетов для программы и всех её зависимостей (пример иерархии пакетов - /packages - в дистрибутиве);
readme - создание HTML-странички README.html с кратким описанием порта;
readmes - рекурсивное make readme. При использовании из /usr/ports/ можно получить категоризированный "краткий справочник" всех портов;
search - поиск порта в дереве портов. Подаётся из /usr/ports/. Имя порта задаётся через name=<имя>, если интересует только порт, или key=<имя>, если интересует всё, связанное с программой (порт, зависимые порты, комментарии к портам)
index - создание индексного файла /usr/ports/INDEX;
Переменные.
При помощи переменных возможно подключать/отключать некоторые особенности программ (подробнее см. в Makefile интересующего порта) и частично управлять процессом сборки. Если переменная используется часто, лучше всего её добавить в /etc/make.conf
Переменные задаются <переменная>=<значение>. Если необходимо просто определить переменную используется либо <переменная>=yes, либо используется директива -D (define) команды make - -D<переменная>.
переменные для управления смотрите в man ports,man make.conf. Неплохо также посмотреть собирающие скрипты в /usr/ports/Mk/.
Примеры.
cd /usr/ports/www/mozilla/
make -DWITH_OPTIMIZED_FLAGS install clean
сборка и установка браузера mozilla с оптимизированными флагами и очистка дерева портов от всех "продуктов" сборки.
cd /usr/ports/archivers
make -DNOCLEANDEPENDS clean
приведение категории archivers портов в первозданное состояние;
cd /usr/ports/multimedia/mplayer
make WITH_LANG=ru -DWITHOUT_ARTS PACKAGES=/tmp/mplayer package-recursive
сборка, уcтановка и создание в каталоге /tmp/mplayer всей иерархии пакетов, необходимых для установки при помощи pkg_add проигрывателя mplayer с поддержкой русского языка и без поддержки звукового сервера ARTS;
cd /usr/ports/x11/kdebase3
make FETCH_CMD="wget -t 1 -c" fetch-recursive
выкачивание при помощи wget всех исходников, необходимых для сборки порта kdebase3 - програмной базы KDE;
cd /usr/ports
make search name=apache | more
просмотр информации о портах, имеющих в названии apache;
cd /usr/ports/mail
make readme
создание в /usr/ports/mail/README.html списка программ с их кратким описаниями; |
|
| Вернуться к началу |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|
|