반응형
안드로이드에서 Android.mk 파일에서는 app을 어떻게 빌드할지를 기술합니다.
아래는 packages/apps/DeskClock/Android.mk 파일에 기술된 내용입니다.
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_STATIC_JAVA_LIBRARIES := android-support-v13
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_PACKAGE_NAME := DeskClock
LOCAL_OVERRIDES_PACKAGES := AlarmClock
LOCAL_SDK_VERSION := current
include $(BUILD_PACKAGE)
# Use the following include to make our test apk.
include $(call all-makefiles-under,$(LOCAL_PATH))
이 Android.mk 파일을 보면 $(call ....) 이라는 구문이 있습니다. include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_STATIC_JAVA_LIBRARIES := android-support-v13
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_PACKAGE_NAME := DeskClock
LOCAL_OVERRIDES_PACKAGES := AlarmClock
LOCAL_SDK_VERSION := current
include $(BUILD_PACKAGE)
# Use the following include to make our test apk.
include $(call all-makefiles-under,$(LOCAL_PATH))
이런 내용은 어디에 정의된 걸까요??
저는 (call all-makefiles-under) 라는 구문이 어디에 저장되어있는지 궁금해서 구글링을 해봤습니다.
all-makefiles-under는 아래 같이 간단하게 정의가 되어있습니다.
define all-makefiles-under
$(wildcard $(1)/*/Android.mk)
endef
wildcard가 정확히 무엇을 하는지 모르지만, 첫번째 인자로 넘어오는 경로의 하위에 있는 모든 Android.mk에 무언가를 한다는 것은 알 수가 있습니다.$(wildcard $(1)/*/Android.mk)
endef
wildcard character는 * 을 의미하는데.. 이와같지 않을까 생각합니다.
이 정의는 build/core/definitions.mk 에 정의되어있습니다. 더 많은 정보를 보시려면 이 파일에 가서 보셔야 합니다.
반응형
'안드로이드' 카테고리의 다른 글
[안드로이드] AIDL에 Parcelable 데이터 사용하기 (2) | 2012.07.04 |
---|---|
[안드로이드] Framework에 Service 추가하기 (0) | 2012.06.21 |
[안드로이드] InputStream ↔ String 변환하기 (0) | 2012.05.30 |
[안드로이드] onDestroy() 언제 호출되나? (0) | 2012.03.07 |
[안드로이드] 안드로이드 빌드 시스템 (0) | 2012.03.05 |
[안드로이드] Android의 framework에 resource 추가하기 (0) | 2012.02.14 |
[안드로이드] Target Board에 App 설치 및 실행하기 (0) | 2012.01.11 |
[안드로이드] 특정 App의 Main Activity 실행하기 (0) | 2012.01.10 |
[안드로이드] 안드로이드 프로파일링 4가지 방법 (Android Profiling) (0) | 2011.12.28 |
[안드로이드] adb를 사용하여 app 실행하기 (0) | 2011.12.22 |