summaryrefslogtreecommitdiffstats
path: root/core/java_library.mk
diff options
context:
space:
mode:
authorYing Wang <wangying@google.com>2010-09-24 18:09:04 -0700
committerYing Wang <wangying@google.com>2010-10-01 14:41:43 -0700
commita83940fa7851b35712e559be2246b56b5666b805 (patch)
tree1eccf193244ca721dc484f30a2a4398a6274a14d /core/java_library.mk
parent46fc2341c535ba624fd2dceec9399ce681a80866 (diff)
downloadbuild-a83940fa7851b35712e559be2246b56b5666b805.zip
build-a83940fa7851b35712e559be2246b56b5666b805.tar.gz
build-a83940fa7851b35712e559be2246b56b5666b805.tar.bz2
Move odex related files to product-specific dir.
For target Java libraries, now the LOCAL_BUILT_MODULE includes both javalib.jar and the .odex file, if dexpreopt is enabled. These 2 files are moved to a product-specific dir in this change. For target Java Libraries, $(intermediates) now points to the product-specific dir. There is still a javalib.jar in the $(intermediates.COMMON) dir, which is used as dependency. Nothing is changed for host Java libraries. Change-Id: I2546dbb940c74537864ca002d1acb49bb731fbbc
Diffstat (limited to 'core/java_library.mk')
-rw-r--r--core/java_library.mk37
1 files changed, 16 insertions, 21 deletions
diff --git a/core/java_library.mk b/core/java_library.mk
index 794b5d6..abc4728 100644
--- a/core/java_library.mk
+++ b/core/java_library.mk
@@ -23,17 +23,15 @@ all_res_assets :=
LOCAL_BUILT_MODULE_STEM := javalib.jar
-intermediates := $(call local-intermediates-dir)
intermediates.COMMON := $(call local-intermediates-dir,COMMON)
-ifndef LOCAL_IS_HOST_MODULE
+# This file will be the one that other modules should depend on.
+common_javalib.jar := $(intermediates.COMMON)/$(LOCAL_BUILT_MODULE_STEM)
+LOCAL_INTERMEDIATE_TARGETS += $(common_javalib.jar)
+
ifeq (true,$(WITH_DEXPREOPT))
ifndef LOCAL_DEX_PREOPT
LOCAL_DEX_PREOPT := true
-
-jar_with_dex := $(intermediates.COMMON)/javalib.dex.jar
-LOCAL_INTERMEDIATE_TARGETS += $(jar_with_dex)
-endif
endif
endif
@@ -43,15 +41,17 @@ include $(BUILD_SYSTEM)/java.mk
ifeq ($(LOCAL_IS_STATIC_JAVA_LIBRARY),true)
# No dex or resources; all we want are the .class files.
-$(LOCAL_BUILT_MODULE): $(full_classes_jar)
+$(common_javalib.jar) : $(full_classes_jar)
@echo "target Static Jar: $(PRIVATE_MODULE) ($@)"
$(copy-file-to-target)
+$(LOCAL_BUILT_MODULE): $(common_javalib.jar)
+ $(copy-file-to-target)
+
else # !LOCAL_IS_STATIC_JAVA_LIBRARY
-ifeq ($(LOCAL_DEX_PREOPT),true)
-$(jar_with_dex): PRIVATE_DEX_FILE := $(built_dex)
-$(jar_with_dex) : $(built_dex) $(java_resource_sources) | $(AAPT)
+$(common_javalib.jar): PRIVATE_DEX_FILE := $(built_dex)
+$(common_javalib.jar) : $(built_dex) $(java_resource_sources) | $(AAPT)
@echo "target Jar: $(PRIVATE_MODULE) ($@)"
$(create-empty-package)
$(add-dex-to-package)
@@ -59,6 +59,7 @@ ifneq ($(extra_jar_args),)
$(add-java-resources-to-package)
endif
+ifeq ($(LOCAL_DEX_PREOPT),true)
dexpreopt_boot_jar_module := $(filter $(LOCAL_MODULE),$(DEXPREOPT_BOOT_JARS_MODULES))
ifneq ($(dexpreopt_boot_jar_module),)
# boot jar's rules are defined in dex_preopt.mk
@@ -76,26 +77,20 @@ built_odex := $(basename $(LOCAL_BUILT_MODULE)).odex
$(built_odex): PRIVATE_MODULE := $(LOCAL_MODULE)
# Make sure the boot jars get dex-preopt-ed first
$(built_odex) : $(DEXPREOPT_BOOT_ODEXS)
-$(built_odex) : $(jar_with_dex) | $(DEXPREOPT) $(DEXOPT)
+$(built_odex) : $(common_javalib.jar) | $(DEXPREOPT) $(DEXOPT)
@echo "Dexpreopt Jar: $(PRIVATE_MODULE) ($@)"
$(hide) rm -f $@
$(call dexpreopt-one-file,$<,$@)
-$(LOCAL_BUILT_MODULE) : $(jar_with_dex) | $(ACP) $(AAPT)
+$(LOCAL_BUILT_MODULE) : $(common_javalib.jar) | $(ACP) $(AAPT)
$(call copy-file-to-target)
$(call dexpreopt-remove-classes.dex,$@)
endif # dexpreopt_boot_jar_module
else # LOCAL_DEX_PREOPT
-$(LOCAL_BUILT_MODULE): PRIVATE_DEX_FILE := $(built_dex)
-$(LOCAL_BUILT_MODULE) : $(built_dex) $(java_resource_sources) | $(AAPT)
- @echo "target Jar: $(PRIVATE_MODULE) ($@)"
- $(create-empty-package)
- $(add-dex-to-package)
-ifneq ($(extra_jar_args),)
- $(add-java-resources-to-package)
-endif
-endif # LOCAL_DEX_PREOPT
+$(LOCAL_BUILT_MODULE) : $(common_javalib.jar) | $(ACP)
+ $(call copy-file-to-target)
+endif # LOCAL_DEX_PREOPT
endif # !LOCAL_IS_STATIC_JAVA_LIBRARY