From a83940fa7851b35712e559be2246b56b5666b805 Mon Sep 17 00:00:00 2001 From: Ying Wang Date: Fri, 24 Sep 2010 18:09:04 -0700 Subject: 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 --- core/java_library.mk | 37 ++++++++++++++++--------------------- 1 file changed, 16 insertions(+), 21 deletions(-) (limited to 'core/java_library.mk') 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 -- cgit v1.1