export 경로 설정 후 makefile에 적용되지 않을때

nickcave의 이미지

안녕하세요,

export path 잡는 과정에서 문제가 있어 질문을 드립니다.

a.sh 란 파일에서 apath라는 경로를 설정 후
export apath="./abc/def/"

~$./a.sh 실행후
apath를 확인해 보면
~$echo $apath

./abc/def 라는 경로가 잘 출력됩니다.

그런데 그 이후 makefile 에서 apath를 출력하게 하면 공백이 출력됩니다..
$(info apath is $(apath ))

$apath 경로를 makefile에도 적용시켜주기 위해 다른 작업이 필요할까요?

미리 감사드립니다.

김정균의 이미지

make를 실행 할 때, 아래와 같이 호출해 주면 됩니다.

[root@host ~]$ make apath=${apath}
nickcave의 이미지

답변 감사합니다.

$ make apath=${apath] 

make 뒤에 apath 를 넣는 방법 말고 혹시 다른 방법이 있을까요?
여러 make file이 포함된 빌드 과정 중에서 apath를 포함한 makefile이 불려야 하는
상황이라서요.

감사합니다.

부모님께 효도합시다.

김정균의 이미지

변수 호출 시에 $() 대신 ${} 로 호출 하시면 됩니다.

[root@host ~]$ export VAR=123
[root@host ~]$ cat Makefile
VAR1=${VAR}
all:
    echo $(VAR1)
[root@host ~]$ make
echo 123
123
[root@host ~]$
nhlsm의 이미지

a.sh 실행후, echo $apath 가 정상 출력이 된다구요? 안되는 걸로 알고 있습니다.
이런 경우는 보통 source 를 사용합니다.

~$ source a.sh

nickcave의 이미지

~$./a.sh 실행후

$ source ./a.sh 

가 맞습니다. 질문을 올릴때 잘못 올렸네요.

부모님께 효도합시다.