Вернуться назад

toilet

Официальная страничка проекта: caca.zoy.org/wiki/toilet.

Страничка на GitHub: https://github.com/cacalabs/toilet.

git clone https://github.com/cacalabs/toilet.git
cd toilet

Здесь, в отличие от figlet, нет файла Makefile. Зато есть Makefile.am. Это файл для GNU Automake. am = AutoMake. Его нельзя использовать напрямую командой make. Он служит шаблоном, из которого автоматически генерируется обычный Makefile.

figlet – старый, простой проект. Содержит один ручной Makefile.

toilet – более "правильный" GNU-style проект. Использует autotools:

Установка

Здесь сборка происходит в несколько этапов.

Удаление

В figlet можно было легко понять, куда make install ставит файлы, просто прочитав Makefile. Но у нас Makefile сгенерирован с помощью autotools и вся информация в нём размазана и абстрагирована.

Чтобы понять, куда ставятся данные и что вообще устанавливается, можно запустить:

make install -n
# или:
make install --dry-run

# куда ставятся man-странички:
man -w toilet

# где бинарник:
which toilet

В autotools-проектах цель uninstall обычно генерируется автоматически, если в Makefile.am описана установка.

Проверить, есть ли цель "uninstall" можно так:

make -n uninstall
# или:
make uninstall -n
   # флаг -n означает "ничего не далать – просто показать"

Можно посмотреть в Makefile, есть ли вообще uninstall:

grep uninstall Makefile

Удаляем toilet с помощью uninstall:

sudo make uninstall

И всё! Все файлики удалились. И бинарник, и шрифты, и man-страничка.

Важно! sudo make uninstall нужно запускать из каталога с исходниками – оттуда, откуда изначально происходила установка.

Итого

Повторим всё в одном блоке:

# Скачиваем исходники:
git clone https://github.com/cacalabs/toilet.git
cd toilet

# Собираем бинарник
./bootstrap
./configure
make

# Копируем программу в систему:
sudo make install

# удаляем программу из системы:
sudo make uninstall

какая-то доп. фигня

make ищет файлы с именами: Makefile, makefile, GNUmakefile. А про Makefile.am она не знает.

aclocal – служебная программа из набора GNU Autotools (Autoconf / Automake). Создаёт файл aclocal.m4. Используется перед запуском autoconf или automake. aclocal собирает m4-макросы, которые нужны autoconf.