[완료] 상위 make에서 export한 변수를 sudo로 호출한 하위 make 파일에서 사용하기

neon20의 이미지

상위 Makefile에 export TEST=TEST_MESSAGE 로 변수가 선언되어있고,

다음과 같이

sudo make -C test_make_directory 로 test_make_directory에 있는 Makefile을 호출하였습니다.

이 경우에 하위 makefile에서 상위 makefile의 TEST 변수를 사용할 수 있을까요?

neon20의 이미지

신기한건 2대의 개발서버가 각각 상속이 되는 경우가 있고 되지 않는 경우가 있습니다. 난감하네요...ㅜㅜ

drinkme의 이미지

-C 는 호출 개념이 아니라, 그냥 change directory 정도인 걸로 알고 있습니다.

예전에는 안그랬던거 같은데, 최근에 보니
sudo가 환경변수를 초기화 하는 것 같더군요.

sudo -E make -C test_make_directory

이렇게 해 보세요.

neon20의 이미지

sudo로 호출된 make에서 $(USER) 변수를 확인해 보면 root로 되어있습니다.. 아마 실행순간의 사용자 권한이 root로 바뀌어서 그런게 아닐까 생각이 됩니다..

neon20의 이미지

아무래도..이런 형태로 사용해야겠네요..

'sudo -C test_make_directory TEST=TEST_MESSAGE'

도움말 감사합니다!!