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
в вашем файле правил (или там, где живет этот банальный фрагмент) делайте что хотите?