Поскольку он также помечен как Autoconf, я предлагаю поместить условие в файл configure.ac, если это возможно.Аналогично так:
AM_CONDITIONAL([CONDITION_NAME], [test x"${SOMEVAR}" != x])
Тогда ваш Makefile.am будет содержать
if CONDITION_NAME
<conditional code>
else
<else :)>
endif
Обновление
Проблема связана с
python setup.py --root=$(DESTDIR) --prefix=$(DESTDIR)$(prefix)
звонят откуда-то.Если DESTDIR
пусто, префикс может расширяться до относительного пути, что не то, что вам нужно.Вы подтвердили, что он вызывается с вашего Makefile.am.Тогда есть две вещи, которые вы можете сделать:
Измените приведенную выше команду на python setup.py --root=${DESTDIR}/// --prefix=${DESTDIR}///$(prefix)
.Тройные косые черты могут быть необходимы, поскольку, AFAIK, POSIX позволяет двойным косым чертам иметь особое значение, но не для трех или более последовательных косых черт.
Измените приведенную выше команду на DESTDIR=${DESTDIR:-///} && python setup.py --root=${DESTDIR} --prefix=${DESTDIR}$(prefix)
Может быть примечательно, что, по моему мнению и ограниченному пониманию всей картины, ничего из этого не должно быть необходимым.Поскольку первоначальный абонент configure
смог точно указать, какой prefix
он действительно хотел использовать.Если ничего не указано, Autoconf уже по умолчанию использует абсолютный путь (/usr/local
).Так что, я думаю, я не совсем понимаю, почему вы столкнулись с вашей проблемой.