LINUX.ORG.RU

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


0

0

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

Я написал:

target: 
        export VAR=123

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

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

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

kpblca ()

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

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

KIV ()

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

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

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

anonymous ()

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

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

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 ()

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

Так?

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 ()

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

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

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