LINUX.ORG.RU

Как в секции команд какой либо цели makefile-а объявить переменную ОКРУЖЕНИЯ, чтобы её было видно по env???


0

0

Как в секции команд какой либо цели makefile-а объявить переменную ОКРУЖЕНИЯ, чтобы её было видно по env???

Я написал:

target: 
        export VAR=123

Это не проходит при окончании работы make я не вижу переменную VAR по команде env!!!
anonymous

make запускает для выполнения каждой команды новый шелл (/bin/sh) и соответственно эта переменная становится глобальной именно в новом шелле. Поэтому, наверное, никак?

kpblca
()

Если не секрет для чего это понадобилось? Может найдем другой путь решения проблемы.

KIV
()
Ответ на: комментарий от KIV

Понадобилось для сборки rpm пакета DBD-Oracle (расширение perl) Там необходимо, чтобы перед сборкой была выставлена переменная ORACLE_HOME

А в profile  или  bash_profile  прописывать не хочу!!!

anonymous
()
Ответ на: комментарий от anonymous

Грубо говоря нужно следующее:

dbd_oracle: dbd_oracle.spec dbd_oracle.i386.rpm
        export ORACLE_HOME=/oracle/app/oracle/product/8.1.7.
        rpm -bb dbd_oracle.spec 

anonymous
()
Ответ на: комментарий от anonymous

Точно так, makefile для каждой строки запускает как-бы новый сеанс интерпритатора, и если передать в одной строке несколько команд все они выполняться в одном сеансе.

KIV
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.