Для этого и используется переменная окружения $PATH
: вы добавляете в нее каталоги, в которых находятся программы, которые вы хотите запустить.По сути, make
, или ваш make-файл, не может выполнить поиск программы coqtop
по всему компьютеру, поэтому человек, вызывающий make-файл, должен знать, где он находится, и сообщить make-файлу.
Обычно это делаетсячеловеком, который знает, где находится программа, добавив каталог, содержащий программу, в переменную окружения $PATH
, прежде чем они вызовут make
.
Если вы не хотите идти по этому пути, тогда онинеобходимо установить переменную в командной строке make
, которая указывает на местоположение: make DEVEL=$HOME/color/trunk/color/devel
или подобное.Или они могут установить путь в переменной среды (make
всегда импортирует все переменные среды как макросы make-файла).
В качестве другого варианта вы можете использовать (при условии, что вы используете GNU make или make, который поддерживаетit) -include local.mk
затем пусть они создадут файл local.mk
в своем каталоге, который устанавливает эту переменную перед запуском make
;таким образом, они могут один раз создать этот файл с правильным путем и покончить с ним.
Это ваши единственные варианты, если только вы не можете каким-то образом определить путь, по которому вы можете, например, алгоритмическитекущий каталог или каталог, содержащий make-файл (который, по-видимому, отсутствует).