Мне только что помогли В Makefile присваивают переменную пути, зависящую, если путь существует , и установка переменной работает нормально, если условие истинно.
INFORMIXDIR=$(shell test -d /opt/IBM/informix && echo /opt/IBM/informix )
Итак, я выполнил оба возможных условия подряд
INFORMIXDIR=$(shell test -d /opt/IBM/informix && echo /opt/IBM/informix )
INFORMIXDIR=$(shell test -d /usr/informix && echo /usr/informix )
но команда оболочки возвращает нулевое значение, если условие ложно, поэтому оно снова сбрасывается, поэтому не будет работать в системе, где первое условие истинно.
Иногда INFORMIXDIR уже установлен в оболочке, поэтому было бы неплохо рассмотреть это тоже.