From 3fd580d4e29657b812d3ab3c459487689a5f2da6 Mon Sep 17 00:00:00 2001 From: Ying Wang Date: Tue, 1 Feb 2011 12:57:45 -0800 Subject: [PATCH] Fix dependency of prebuilt target non-static Java libraries. Cherry-picked from Honeycomb to fix a dependency issue when building prebuilt shared library. Change-Id: I0a9cd3835b50dcc130a5f211e89d6bd22478fd42 --- core/prebuilt.mk | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/core/prebuilt.mk b/core/prebuilt.mk index b4717e080..f5eebc889 100644 --- a/core/prebuilt.mk +++ b/core/prebuilt.mk @@ -45,10 +45,20 @@ endif ifeq ($(LOCAL_IS_HOST_MODULE)$(LOCAL_MODULE_CLASS),JAVA_LIBRARIES) # for target java libraries, the LOCAL_BUILT_MODULE is in a product-specific dir, # while the deps should be in the common dir, so we make a copy in the common dir. -common_library_jar := $(call intermediates-dir-for,JAVA_LIBRARIES,$(LOCAL_MODULE),,COMMON)/$(notdir $(LOCAL_BUILT_MODULE)) -$(common_library_jar) : $(LOCAL_PATH)/$(LOCAL_SRC_FILES) | $(ACP) +# For nonstatic library, $(common_javalib_jar) is the dependency file, +# while $(common_classes_jar) is used to link. +common_classes_jar := $(call intermediates-dir-for,JAVA_LIBRARIES,$(LOCAL_MODULE),,COMMON)/classes.jar +common_javalib_jar := $(dir $(common_classes_jar))javalib.jar + +$(common_classes_jar) : $(LOCAL_PATH)/$(LOCAL_SRC_FILES) | $(ACP) $(transform-prebuilt-to-target) -endif + +$(common_javalib_jar) : $(common_classes_jar) | $(ACP) + $(transform-prebuilt-to-target) + +# make sure the classes.jar and javalib.jar are built before $(LOCAL_BUILT_MODULE) +$(LOCAL_BUILT_MODULE) : $(common_javalib_jar) +endif # TARGET JAVA_LIBRARIES ifeq ($(LOCAL_CERTIFICATE),EXTERNAL) # The magic string "EXTERNAL" means this package will be signed with -- 2.11.0