Android 빌드스크립트(.sh, .mk)에서 환경변수 설정 관련
글쓴이: yo-tteum / 작성시간: 화, 2013/02/12 - 11:53오전
안드로이드를 빌드하려면 ANDROID 홈에서 source ./build/envsetup.sh 스크립트 실행을 해주고
choosecombo 함수 실행을 통해 환경변수 설정을 하잖아요. 환경변수 설정작업이 끝나고 그 다음에
make를 실행하기 때문에해당 명령을 수행하는 터미널에는 설정된 환경변수값이 남아있어야 하잖아요?
아래는 envsetup.sh 내용의 일부인데 100번 이해가 갑니다.
export를 통해서 ANDROID_TOOLCHAIN의 값을 make할때 참조할 수 있게끔 해두는거죠.
export ANDROID_TOOLCHAIN=$ANDROID_EABI_TOOLCHAIN
그런데 스크립트 내부에 export지시자를 사용하지 않은 변수들은 스크립트가 끝나면 소멸되는거 아닌가요?
그런데 build/core/envsetup.mk 파일을 보면
.mk 파일에서는 export지시자가 안보입니다.
TARGET_OUT_VENDOR_JAVA_LIBRARIES:= $(TARGET_OUT_VENDOR)/framework
위와같이 되어있고, envsetup.mk는 따로 빌드시 호출되지는 않는 것으로 보이는데,
export 지시자가 안붙어있는 변수들은 스크립트 실행이 끝나면 없어지는 것 맞죠?
Forums:
아마도 .mk 파일은 Makefile에서 인클루드
아마도 .mk 파일은 Makefile에서 인클루드 되어 사용되는 것으로
.sh 파일과 다른 문법을 사용할 겁니다.
.mk 는 make 프로그램.
.sh 는 (ba)sh 프로그램.
지나가다? 답변은 아니고 훈수?로... 아마도 전체
지나가다? 답변은 아니고 훈수?로...
아마도 전체 코스에서 mk읽혀질때 변수가 생성되고 심볼되는 모양입니다.
http://www.kandroid.org/ndk/docs/ANDROID-MK.html
--------------------------------------------------------------------------------
open source, open teaching, 천기누설이 꿈~ 은 개뿔...
--------------------------------------------------------------------------------
댓글 달기