Ответ 1
Установка
Менее тривиальный установщик скопирует несколько вещей на место, сначала гарантируя существование соответствующих путей (используя mkdir -p
или аналогичный). Обычно что-то вроде этого:
- исполняемый файл идет в
$INSTALL_PATH/bin
- любые библиотеки, созданные для внешнего потребления, входят в
$INSTALL_PATH/lib
или$INSTALL_PATH/lib/yourappname
- man-страницы идут в
$INSTALL_PATH/share/man/man1
и, возможно, в других разделах - другие документы входят
$INSTALL_PATH/share/yourappname
- файлы конфигурации по умолчанию находятся в
$INSTALL_PATH/etc/yourappname
- заголовки для других ссылок, чтобы перейти в
$INSTALL_PATH/include/yourappname
Путь установки
INSTALL_PATH
- это вход в систему сборки и обычно по умолчанию - /usr/local
. Это дает вашему пользователю гибкость для установки под их $HOME без необходимости получения повышенного разрешения.
В простейшем случае просто используйте
INSTALL_PATH?=/usr/local
в верхней части файла makefile. Затем пользователь может переопределить его, установив в свою оболочку переменную среды.
Деинсталляция
Вы также иногда видите make install
, которые создают манифест, чтобы помочь с деинсталляцией. Для выполнения работы манифест может быть даже записан как script.
Другой подход состоит в том, чтобы иметь make uninstall
, который ищет вещи make install
, и удаляет их, если они существуют.