Ответы пользователя по тегу GNU Make
  • Правильно написать Makefile?

    Желательно использовать автоматические генераторы параметров.
    Для ncurses можно рассмотреть ncurses-config (есть в репозиториях Debian, к примеру). Пример вывода для этой утилиты на моей системе:
    froex@froex-desktop:~$ ncurses5-config --cflags
    
    froex@froex-desktop:~$ ncurses5-config --libs
    -lncurses -ltinfo
    froex@froex-desktop:~$ ncurses5-config --libdir
    /usr/lib/x86_64-linux-gnu
    froex@froex-desktop:~$ ncurses5-config --includedir
    /usr/include
    froex@froex-desktop:~$

    Полный список команд можно посмотреть по вызову утилиты с флагом "--help".

    Аналогичная утилита для Postgre называется pg-config.

    В своём Makefile выполняете эти утилиты и подставляете результат их работы в переменные. Синтаксис:
    PGLIBS = $(shell pg-config --libs)
    NCURSESLIBS = $(shell ncurses5-config --libs)

    Подробнее тут

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

    На будущую перспективу можно изучить утилиты, вроде CMake, которые имеют свои технологии поиска путей библиотек и их подстановки.

    Собрать deb и rpm пакет можно с помощью утилиты checkinstall (по умолчанию она не установлена, но есть в стандартных репозиториях Debian).
    Ответ написан