summaryrefslogtreecommitdiffstats
path: root/core/prebuilt.mk
diff options
context:
space:
mode:
authorYing Wang <wangying@google.com>2011-02-01 12:57:45 -0800
committerYing Wang <wangying@google.com>2011-02-01 13:07:01 -0800
commit5b316b604d1d24352b546a32946e000d8d5457ed (patch)
tree50ef1ae6cd986b1ec764e69394c9082079b4a06a /core/prebuilt.mk
parent91aea02de8e389aa2f9c01ab189c30323f7c9569 (diff)
downloadbuild-5b316b604d1d24352b546a32946e000d8d5457ed.zip
build-5b316b604d1d24352b546a32946e000d8d5457ed.tar.gz
build-5b316b604d1d24352b546a32946e000d8d5457ed.tar.bz2
Fix dependency of prebuilt target non-static Java libraries.
Change-Id: I498b96ce737e5fc9076de39108252284ee53218f
Diffstat (limited to 'core/prebuilt.mk')
-rw-r--r--core/prebuilt.mk16
1 files changed, 13 insertions, 3 deletions
diff --git a/core/prebuilt.mk b/core/prebuilt.mk
index b4717e0..f5eebc8 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