Экспорт переменных среды в оболочку Makefile

Я хочу немедленно развернуть команду оболочки в Makefile, но я хочу, чтобы команда оболочки имела доступ к переменным среды в Makefile. Если я использую $ (shell ...), он сразу расширяется, но нет доступа к переменным. Если я использую обратные кавычки, расширение не является немедленным, и оно вызывает проблемы для меня позже в Makefile. Мне интересно, есть ли какой-нибудь способ сделать немедленное расширение обратных кавычек или передать текущее окружение команде $ (shell).

Например, следующий make-файл:

SOME_VAR := some_val
export SOME_VAR

VAR1 := `echo $SOME_VAR`
export VAR1
VAR2 := `echo $VAR1`

all:
      @echo VAR1=$(VAR1)
      @echo VAR2=$(VAR2)

Будет выводить:

~/tmp/t2> make
VAR1=some_val
VAR2=`echo $SOME_VAR`

Где я хочу это напечатать "VAR2 = some_val". Реальный пример немного сложнее (переменные среды наследуются от родительских make-файлов, и я пытаюсь использовать скрипт perl для редактирования переменных), но принцип тот же.

Любая помощь приветствуется.

Ответы на вопрос(5)

Ваш ответ на вопрос