내가 들어갈 때 쉘에서
echo $demoPath
그것은 인쇄
/usr/local/demo
$demoPath
메이크 파일 에서이 변수의 값을 어떻게 얻을 수 있습니까?
답변
환경 변수를 내 보낸 경우 :
export demoPath=/usr/local/demo
makefile
( make
설정 한 모든 환경 변수를 가져옴) 에서 이름으로 간단히 참조 할 수 있습니다 .
DEMOPATH = ${demoPath} # Or $(demoPath) if you prefer.
환경 변수를 내 보내지 않은 경우 내보낼 때까지 또는 명령 줄에서 명시 적으로 전달하지 않는 한 액세스 할 수 없습니다.
make DEMOPATH="${demoPath}" …
C 쉘 파생물을 사용하는 setenv demoPath /usr/local/demo
경우 export
명령을 대체 하십시오 .
답변
행동을 확인하기 위해 공식 문서를 원하는 사람들을 위해
make의 변수는 make가 실행되는 환경에서 올 수 있습니다. make가 시작할 때 보는 모든 환경 변수는 동일한 이름과 값을 가진 make 변수로 변환됩니다. 그러나 makefile의 명시 적 할당 또는 명령 인수가 환경을 재정의합니다. ( ‘-e’플래그가 지정되면 환경의 값이 메이크 파일의 할당을 재정의합니다.
https://www.gnu.org/software/make/manual/html_node/Environment.html
답변
all:
echo ${PATH}
또는 하나의 명령에 대해서만 PATH를 변경하십시오.
all:
PATH=/my/path:${PATH} cmd