debhelper: добавить `prefix=/usr'ко всем неявным вызовам make

У меня есть Makefile это начинается с

prefix      = /opt/$(PACKAGE)

и ожидает make prefix=/usr в случае, если кто-то хочет/opt монтаж. Нет никаких ./configure (и нет необходимости в этом действительно).

Пакет тривиально дебианизируется через

%:
        dh $@ 

как debian/rules за исключением того, что из-за prefix=/usr требование, нужно было бы засорять правила

override_dh_auto_install:
        make prefix=/usr DESTDIR=debian/BUILD install

(также dh_auto_build).

Какой элегантный способ сказать debhelper добавить prefix= все make вызовы (желательно не касаясь make-файла, в противном случае есть много обходных путей)?

2 ответа

Вы можете сделать это:

%:
    prefix=/usr dh $@

Это работает, потому что make преобразует переменную среды в переменные make, см. https://www.gnu.org/software/make/manual/html_node/Environment.html

Просто убедитесь, что ваш основной Makefile использует условное назначение, как в:

prefix ?= /usr/local

Чао, Антонио

Делает экспорт MAKEFLAGS=prefix=/usr в вашем файле правил (или там, где живет этот банальный фрагмент) делайте что хотите?

Другие вопросы по тегам