요약 : Makefile내에 $(waning 디버깅 메세지 ) 적으면 로그로 나온다.
출처 : http://furmuwon.egloos.com/10675703
출처 : http://furmuwon.egloos.com/10675703
이 글은 나의 메모 이기 때문에 확실한 정보가 아닐 수 있다.
Makefile 자체를 debugging 하는 방법은 다음과 같이 Makefile 구문내에 적어주면 된다.
$(warning ###### my debug start)
$(warning ###### Check LOCAL_PATH:($(LOCAL_PATH)))
출력은 이렇게..
Makefile:3: ###### my debug start
Makefile:4: ###### Check 1 LOCAL_PATH:(hardware/어쩌구/저쩌구)
단순 텍스트 출력및 makefile 현재 라인까지의 로컬 변수 내용까지 확인 가능 하다.
Android.mk 에서 아래와 같은 구문이 나왔다.
include $(CLEAR_VARS)
인터넷을 검색해 보면
Local Variables: Clear local variables with CLEAR_VARS (
include $(CLEAR_VARS)
). 라는데 잘 이해가 안되어 위의 Makefile debug 구문을 Android.mk 에 넣어 봤다.
어떤 Android.mk
$(warning ###### Start)
$(warning ###### Check 1 LOCAL_PATH:($(LOCAL_PATH)) )
$(warning ###### Check 1 CLEAR_VARS:($(CLEAR_VARS)) )
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
$(warning ###### Check 2 LOCAL_PATH:($(LOCAL_PATH)) )
$(warning ###### Check 2 CLEAR_VARS:($(CLEAR_VARS)) )
make 하고 돌리니 이렇게 출력이..
Android.mk:1: ###### Start
Android.mk:2: ###### Check 1 LOCAL_PATH:(hardware/Prev)
Android.mk:3: ###### Check 1 CLEAR_VARS:(build/core/clear_vars.mk)
Android.mk:8: ###### Check 2 LOCAL_PATH:(hardware/Current)
Android.mk:9: ###### Check 2 CLEAR_VARS:(build/core/clear_vars.mk)
결국 Android root 디렉토리 밑의 build.core/clear_vars.mk 를 include 한다.
clear_vars.mk 를 열어 보니
###########################################################
## Clear out values of all variables used by rule templates.
###########################################################
LOCAL_MODULE:=
LOCAL_MODULE_PATH:=
LOCAL_MODULE_STEM:=
LOCAL_DONT_CHECK_MODULE:=
LOCAL_CHECKED_MODULE:=
.
.
.
생략
요약하면
Android.mk file 을 작성 할 때 이전에 선언 되어 있던 Makefile 변수를 clear 하고 싶다면
clear_vars.mk 에 적어 주고 include $(CLEAR_VARS) 하면 된다.
'Linux > Android' 카테고리의 다른 글
[Android] Ice Cream Sandwitch 소스를 대충 훑어본 결과... (0) | 2011.11.28 |
---|---|
안드로이드 assets 에 관하여 (0) | 2011.09.23 |
안드로이드 샘플 소스 (0) | 2011.09.08 |
안드로이드 루트 권한 요청하기 소스 코드 (0) | 2011.08.29 |
안드로이드에서 빠른 화면 캡쳐 (0) | 2011.08.29 |