Makefile: развернуть относительный путь PREFIX

В моем Makefile существует переменная PREFIX для указания, где должны быть размещены готовые файлы. Однако, внутренне, мне нужно использовать абсолютный путь PREFIX, потому что рабочий каталог изменяется.

Я пробовал что-то вроде

PREFIX=../out
REALPREFIX=`readlink -f $(PREFIX)`

который не работал, и не сделал

default: fixprefix $(addprefix $(REALPREFIX)/,$(OBJS))

fixprefix:
        REALPREFIX=`readlink -f $(PREFIX)`

Все, что мне нужно, это абсолютный путь, который следует префикс на OBJS, когда вычисляется список предварительных условий.

Ответ 1

Если вы используете GNUMake, вы можете сделать это:

REALPREFIX = $(realpath $(PREFIX))