Elliott Hughes | 7ee3a06 | 2010-02-18 17:20:15 -0800 | [diff] [blame] | 1 | # -*- mode: makefile -*- |
Dan Bornstein | 6ac43c2 | 2009-10-24 15:33:49 -0700 | [diff] [blame] | 2 | # Copyright (C) 2007 The Android Open Source Project |
| 3 | # |
| 4 | # Licensed under the Apache License, Version 2.0 (the "License"); |
| 5 | # you may not use this file except in compliance with the License. |
| 6 | # You may obtain a copy of the License at |
| 7 | # |
| 8 | # http://www.apache.org/licenses/LICENSE-2.0 |
| 9 | # |
| 10 | # Unless required by applicable law or agreed to in writing, software |
| 11 | # distributed under the License is distributed on an "AS IS" BASIS, |
| 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 13 | # See the License for the specific language governing permissions and |
| 14 | # limitations under the License. |
| 15 | |
| 16 | # |
| 17 | # Definitions for building the Java library and associated tests. |
| 18 | # |
| 19 | |
| 20 | # |
| 21 | # Common definitions for host and target. |
| 22 | # |
| 23 | |
Jesse Wilson | d5d3526 | 2010-05-12 23:56:14 -0700 | [diff] [blame] | 24 | # libcore is divided into modules. |
| 25 | # |
| 26 | # The structure of each module is: |
| 27 | # |
| 28 | # src/ |
| 29 | # main/ # To be shipped on every device. |
| 30 | # java/ # Java source for library code. |
| 31 | # native/ # C++ source for library code. |
| 32 | # resources/ # Support files. |
| 33 | # test/ # Built only on demand, for testing. |
| 34 | # java/ # Java source for tests. |
| 35 | # native/ # C++ source for tests (rare). |
| 36 | # resources/ # Support files. |
| 37 | # |
| 38 | # All subdirectories are optional (hence the "2> /dev/null"s below). |
Dan Bornstein | 6ac43c2 | 2009-10-24 15:33:49 -0700 | [diff] [blame] | 39 | |
Narayan Kamath | 0a57ec2 | 2015-07-24 14:34:02 +0100 | [diff] [blame] | 40 | include $(LOCAL_PATH)/openjdk_java_files.mk |
| 41 | include $(LOCAL_PATH)/non_openjdk_java_files.mk |
Jesse Wilson | 32cfe95 | 2010-05-04 16:36:03 -0700 | [diff] [blame] | 42 | |
| 43 | define all-test-java-files-under |
Przemyslaw Szczepaniak | ebe4f19 | 2015-07-09 13:19:15 +0100 | [diff] [blame] | 44 | $(foreach dir,$(1),$(patsubst ./%,%,$(shell cd $(LOCAL_PATH) && (find $(dir)/src/test/java -name "*.java" 2> /dev/null) | grep -v -f java_tests_blacklist))) |
Dan Bornstein | 6ac43c2 | 2009-10-24 15:33:49 -0700 | [diff] [blame] | 45 | endef |
| 46 | |
Dan Bornstein | 6ac43c2 | 2009-10-24 15:33:49 -0700 | [diff] [blame] | 47 | define all-core-resource-dirs |
| 48 | $(shell cd $(LOCAL_PATH) && ls -d */src/$(1)/{java,resources} 2> /dev/null) |
| 49 | endef |
| 50 | |
Jesse Wilson | d5d3526 | 2010-05-12 23:56:14 -0700 | [diff] [blame] | 51 | # The Java files and their associated resources. |
Narayan Kamath | 29c564f | 2015-07-30 12:05:42 +0100 | [diff] [blame] | 52 | core_resource_dirs := \ |
| 53 | luni/src/main/java \ |
| 54 | ojluni/src/main/resources/ |
Dan Bornstein | 6ac43c2 | 2009-10-24 15:33:49 -0700 | [diff] [blame] | 55 | test_resource_dirs := $(call all-core-resource-dirs,test) |
Narayan Kamath | 51525b5 | 2013-11-15 18:02:54 +0000 | [diff] [blame] | 56 | test_src_files := $(call all-test-java-files-under,dalvik dom harmony-tests json luni xml) |
Dan Bornstein | 6ac43c2 | 2009-10-24 15:33:49 -0700 | [diff] [blame] | 57 | |
Jesse Wilson | 7898a91 | 2010-09-13 15:42:41 -0700 | [diff] [blame] | 58 | ifeq ($(EMMA_INSTRUMENT),true) |
Ying Wang | ff053c3 | 2012-08-21 17:20:51 -0700 | [diff] [blame] | 59 | ifneq ($(EMMA_INSTRUMENT_STATIC),true) |
Piotr Jastrzebski | 51b1b69 | 2015-02-16 15:01:09 +0000 | [diff] [blame] | 60 | nojcore_src_files += $(call all-java-files-under, ../external/emma/core ../external/emma/pregenerated) |
Jesse Wilson | 7898a91 | 2010-09-13 15:42:41 -0700 | [diff] [blame] | 61 | core_resource_dirs += ../external/emma/core/res ../external/emma/pregenerated/res |
| 62 | endif |
Ying Wang | ff053c3 | 2012-08-21 17:20:51 -0700 | [diff] [blame] | 63 | endif |
Jesse Wilson | 7898a91 | 2010-09-13 15:42:41 -0700 | [diff] [blame] | 64 | |
Elliott Hughes | 48d0b3f | 2010-12-14 09:48:52 -0800 | [diff] [blame] | 65 | local_javac_flags=-encoding UTF-8 |
| 66 | #local_javac_flags+=-Xlint:all -Xlint:-serial,-deprecation,-unchecked |
| 67 | local_javac_flags+=-Xmaxwarns 9999999 |
Dan Bornstein | 6ac43c2 | 2009-10-24 15:33:49 -0700 | [diff] [blame] | 68 | |
Narayan Kamath | 1a0f184 | 2015-09-07 12:59:53 +0100 | [diff] [blame] | 69 | |
Dan Bornstein | 6ac43c2 | 2009-10-24 15:33:49 -0700 | [diff] [blame] | 70 | # |
Narayan Kamath | 844badd | 2015-09-11 12:43:29 +0100 | [diff] [blame] | 71 | # ICU4J related rules. |
| 72 | # |
| 73 | # We compile icu4j along with core-libart because we're implementing parts of core-libart |
| 74 | # in terms of icu4j. |
| 75 | icu4j_root := ../external/icu/icu4j/ |
| 76 | icu4j_src_files := $(call all-java-files-under,$(icu4j_root)/main/classes) |
| 77 | |
| 78 | # Filter out bits of ICU4J we don't use yet : the SPIs (which we have limited support for), |
Narayan Kamath | f37f781 | 2015-04-01 09:34:24 +0100 | [diff] [blame] | 79 | # the charset encoders and the transliterators. |
| 80 | icu4j_src_files := $(filter-out $(icu4j_root)/main/classes/localespi/%, $(icu4j_src_files)) |
| 81 | icu4j_src_files := $(filter-out $(icu4j_root)/main/classes/charset/%, $(icu4j_src_files)) |
| 82 | icu4j_src_files := $(filter-out $(icu4j_root)/main/classes/translit/%, $(icu4j_src_files)) |
| 83 | |
| 84 | # Not all src dirs contain resources, some instead contain other random files |
| 85 | # that should not be included as resources. The ones that should be included |
| 86 | # can be identifed by the fact that they contain particular subdir trees. |
| 87 | # |
| 88 | define all-icu-subdir-with-subdir |
| 89 | $(patsubst $(LOCAL_PATH)/%/$(2),%,$(wildcard $(LOCAL_PATH)/$(1)/$(2))) |
| 90 | endef |
| 91 | |
Narayan Kamath | 3142d938 | 2015-04-01 11:32:12 +0100 | [diff] [blame] | 92 | icu4j_resource_dirs := $(call all-icu-subdir-with-subdir,$(icu4j_root)/main/classes/*/src,com/ibm/icu) |
| 93 | icu4j_resource_dirs := $(filter-out $(icu4j_root)/main/classes/localespi/%, $(icu4j_resource_dirs)) |
| 94 | icu4j_resource_dirs := $(filter-out $(icu4j_root)/main/classes/charset/%, $(icu4j_resource_dirs)) |
| 95 | icu4j_resource_dirs := $(filter-out $(icu4j_root)/main/classes/translit/%, $(icu4j_resource_dirs)) |
| 96 | |
| 97 | |
Narayan Kamath | f37f781 | 2015-04-01 09:34:24 +0100 | [diff] [blame] | 98 | |
| 99 | # |
Dan Bornstein | 6ac43c2 | 2009-10-24 15:33:49 -0700 | [diff] [blame] | 100 | # Build for the target (device). |
| 101 | # |
| 102 | |
Dan Bornstein | 6ac43c2 | 2009-10-24 15:33:49 -0700 | [diff] [blame] | 103 | include $(CLEAR_VARS) |
Narayan Kamath | 844badd | 2015-09-11 12:43:29 +0100 | [diff] [blame] | 104 | LOCAL_SRC_FILES := $(openjdk_java_files) $(non_openjdk_java_files) $(icu4j_src_files) |
Narayan Kamath | f37f781 | 2015-04-01 09:34:24 +0100 | [diff] [blame] | 105 | LOCAL_JAVA_RESOURCE_DIRS := $(core_resource_dirs) $(icu4j_resource_dirs) |
Brian Carlstrom | 3711c21 | 2013-06-25 15:59:29 -0700 | [diff] [blame] | 106 | LOCAL_NO_STANDARD_LIBRARIES := true |
| 107 | LOCAL_JAVACFLAGS := $(local_javac_flags) |
| 108 | LOCAL_DX_FLAGS := --core-library |
| 109 | LOCAL_MODULE_TAGS := optional |
Narayan Kamath | b985319 | 2015-09-02 13:38:48 +0100 | [diff] [blame] | 110 | ifeq ($(ANDROID_DISABLE_CORE_OBFUSCATION),) |
| 111 | LOCAL_PROGUARD_ENABLED := obfuscation nosystem |
| 112 | LOCAL_PROGUARD_FLAG_FILES := proguard/proguard.flags |
| 113 | endif |
Piotr Jastrzebski | 51b1b69 | 2015-02-16 15:01:09 +0000 | [diff] [blame] | 114 | LOCAL_MODULE := core-all |
Brian Carlstrom | 3711c21 | 2013-06-25 15:59:29 -0700 | [diff] [blame] | 115 | LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/JavaLibrary.mk |
| 116 | LOCAL_REQUIRED_MODULES := tzdata |
Piotr Jastrzebski | 5c3c9df | 2015-04-20 10:56:00 +0100 | [diff] [blame] | 117 | LOCAL_CORE_LIBRARY := true |
Narayan Kamath | 0ebbfbd | 2015-07-30 15:01:19 +0100 | [diff] [blame] | 118 | LOCAL_UNINSTALLABLE_MODULE := true |
Narayan Kamath | 844badd | 2015-09-11 12:43:29 +0100 | [diff] [blame] | 119 | LOCAL_JARJAR_RULES := $(LOCAL_PATH)/jarjar-rules.txt |
Piotr Jastrzebski | 51b1b69 | 2015-02-16 15:01:09 +0000 | [diff] [blame] | 120 | include $(BUILD_JAVA_LIBRARY) |
Dan Bornstein | 6ac43c2 | 2009-10-24 15:33:49 -0700 | [diff] [blame] | 121 | |
Narayan Kamath | b985319 | 2015-09-02 13:38:48 +0100 | [diff] [blame] | 122 | core_all_intermediates := $(call intermediates-dir-for,JAVA_LIBRARIES,core-all,,COMMON) |
Narayan Kamath | 1a0f184 | 2015-09-07 12:59:53 +0100 | [diff] [blame] | 123 | core_proguard_obfuscation_flags := \ |
| 124 | -renamesourcefileattribute SourceFile \ |
Narayan Kamath | 714eff1 | 2015-09-08 17:45:06 +0100 | [diff] [blame] | 125 | -keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,*Annotation*,EnclosingMethod \ |
Narayan Kamath | 1a0f184 | 2015-09-07 12:59:53 +0100 | [diff] [blame] | 126 | -dontwarn \*\* \ |
| 127 | -dontshrink \ |
| 128 | -dontoptimize \ |
| 129 | -applymapping $(core_all_intermediates)/proguard_dictionary |
Narayan Kamath | b985319 | 2015-09-02 13:38:48 +0100 | [diff] [blame] | 130 | |
| 131 | include $(CLEAR_VARS) |
Narayan Kamath | 844badd | 2015-09-11 12:43:29 +0100 | [diff] [blame] | 132 | LOCAL_SRC_FILES := $(openjdk_java_files) $(non_openjdk_java_files) $(icu4j_src_files) |
| 133 | LOCAL_JAVA_RESOURCE_DIRS := $(core_resource_dirs) $(icu4j_resource_dirs) |
Narayan Kamath | b985319 | 2015-09-02 13:38:48 +0100 | [diff] [blame] | 134 | LOCAL_NO_STANDARD_LIBRARIES := true |
| 135 | LOCAL_JAVACFLAGS := $(local_javac_flags) |
| 136 | LOCAL_DX_FLAGS := --core-library |
| 137 | LOCAL_MODULE_TAGS := optional |
| 138 | LOCAL_MODULE := core-all-unobfuscated |
| 139 | LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/JavaLibrary.mk |
| 140 | LOCAL_REQUIRED_MODULES := tzdata |
| 141 | LOCAL_CORE_LIBRARY := true |
| 142 | LOCAL_UNINSTALLABLE_MODULE := true |
Narayan Kamath | c011b24 | 2015-10-05 15:10:52 +0100 | [diff] [blame] | 143 | LOCAL_JARJAR_RULES := $(LOCAL_PATH)/jarjar-rules.txt |
Narayan Kamath | b985319 | 2015-09-02 13:38:48 +0100 | [diff] [blame] | 144 | include $(BUILD_JAVA_LIBRARY) |
| 145 | |
| 146 | |
Brian Carlstrom | 3711c21 | 2013-06-25 15:59:29 -0700 | [diff] [blame] | 147 | include $(CLEAR_VARS) |
Narayan Kamath | 0a57ec2 | 2015-07-24 14:34:02 +0100 | [diff] [blame] | 148 | LOCAL_SRC_FILES := $(openjdk_java_files) |
Piotr Jastrzebski | 51b1b69 | 2015-02-16 15:01:09 +0000 | [diff] [blame] | 149 | LOCAL_JAVA_RESOURCE_DIRS := $(core_resource_dirs) |
| 150 | LOCAL_NO_STANDARD_LIBRARIES := true |
| 151 | LOCAL_JAVACFLAGS := $(local_javac_flags) |
| 152 | LOCAL_DX_FLAGS := --core-library |
| 153 | LOCAL_MODULE_TAGS := optional |
| 154 | LOCAL_MODULE := core-oj |
Narayan Kamath | 647e4a6 | 2015-10-02 10:22:16 +0100 | [diff] [blame] | 155 | LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/JavaLibrary.mk |
Narayan Kamath | b985319 | 2015-09-02 13:38:48 +0100 | [diff] [blame] | 156 | ifeq ($(ANDROID_DISABLE_CORE_OBFUSCATION),) |
| 157 | LOCAL_PROGUARD_ENABLED := obfuscation nosystem |
Narayan Kamath | 1a0f184 | 2015-09-07 12:59:53 +0100 | [diff] [blame] | 158 | LOCAL_PROGUARD_FLAGS := $(core_proguard_obfuscation_flags) |
Narayan Kamath | 647e4a6 | 2015-10-02 10:22:16 +0100 | [diff] [blame] | 159 | LOCAL_ADDITIONAL_DEPENDENCIES += $(core_all_intermediates)/proguard.classes.jar |
Narayan Kamath | b985319 | 2015-09-02 13:38:48 +0100 | [diff] [blame] | 160 | endif |
| 161 | LOCAL_JAVA_LIBRARIES := core-all-unobfuscated |
Piotr Jastrzebski | 51b1b69 | 2015-02-16 15:01:09 +0000 | [diff] [blame] | 162 | LOCAL_REQUIRED_MODULES := tzdata |
Piotr Jastrzebski | 5c3c9df | 2015-04-20 10:56:00 +0100 | [diff] [blame] | 163 | LOCAL_CORE_LIBRARY := true |
Piotr Jastrzebski | 983b2c6 | 2015-04-24 09:13:00 +0100 | [diff] [blame] | 164 | LOCAL_REQUIRED_MODULES := currency.data-target |
Narayan Kamath | 844badd | 2015-09-11 12:43:29 +0100 | [diff] [blame] | 165 | LOCAL_JARJAR_RULES := $(LOCAL_PATH)/jarjar-rules.txt |
Piotr Jastrzebski | 51b1b69 | 2015-02-16 15:01:09 +0000 | [diff] [blame] | 166 | include $(BUILD_JAVA_LIBRARY) |
| 167 | |
| 168 | # Definitions to make the core library. |
| 169 | include $(CLEAR_VARS) |
Narayan Kamath | 844badd | 2015-09-11 12:43:29 +0100 | [diff] [blame] | 170 | LOCAL_SRC_FILES := $(non_openjdk_java_files) $(icu4j_src_files) |
Brian Carlstrom | 3711c21 | 2013-06-25 15:59:29 -0700 | [diff] [blame] | 171 | LOCAL_NO_STANDARD_LIBRARIES := true |
| 172 | LOCAL_JAVACFLAGS := $(local_javac_flags) |
| 173 | LOCAL_DX_FLAGS := --core-library |
| 174 | LOCAL_MODULE_TAGS := optional |
| 175 | LOCAL_MODULE := core-libart |
Narayan Kamath | b985319 | 2015-09-02 13:38:48 +0100 | [diff] [blame] | 176 | ifeq ($(ANDROID_DISABLE_CORE_OBFUSCATION),) |
| 177 | LOCAL_PROGUARD_ENABLED := obfuscation nosystem |
Narayan Kamath | 1a0f184 | 2015-09-07 12:59:53 +0100 | [diff] [blame] | 178 | LOCAL_PROGUARD_FLAGS := $(core_proguard_obfuscation_flags) |
Narayan Kamath | 647e4a6 | 2015-10-02 10:22:16 +0100 | [diff] [blame] | 179 | LOCAL_ADDITIONAL_DEPENDENCIES += $(core_all_intermediates)/proguard.classes.jar |
Narayan Kamath | b985319 | 2015-09-02 13:38:48 +0100 | [diff] [blame] | 180 | endif |
Narayan Kamath | 647e4a6 | 2015-10-02 10:22:16 +0100 | [diff] [blame] | 181 | LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/JavaLibrary.mk |
Narayan Kamath | b985319 | 2015-09-02 13:38:48 +0100 | [diff] [blame] | 182 | LOCAL_JAVA_LIBRARIES := core-all-unobfuscated |
| 183 | LOCAL_CORE_LIBRARY := true |
Brian Carlstrom | 3711c21 | 2013-06-25 15:59:29 -0700 | [diff] [blame] | 184 | LOCAL_REQUIRED_MODULES := tzdata |
Narayan Kamath | f37f781 | 2015-04-01 09:34:24 +0100 | [diff] [blame] | 185 | LOCAL_JARJAR_RULES := $(LOCAL_PATH)/jarjar-rules.txt |
Brian Carlstrom | 3711c21 | 2013-06-25 15:59:29 -0700 | [diff] [blame] | 186 | include $(BUILD_JAVA_LIBRARY) |
Dan Bornstein | 6ac43c2 | 2009-10-24 15:33:49 -0700 | [diff] [blame] | 187 | |
Narayan Kamath | f37f781 | 2015-04-01 09:34:24 +0100 | [diff] [blame] | 188 | # Path to the ICU4C data files in the Android device file system: |
| 189 | icu4c_data := /system/usr/icu |
| 190 | # TODO: It's quite hideous that this double-slash between icu4j and main is required. |
| 191 | # It's because we provide a variable substition of the make-rule generated jar command |
| 192 | # to substitute a processed ICUProperties.config file in place of the original. |
| 193 | # |
| 194 | # We can avoid this by filtering out ICUConfig.properties from our list of resources. |
| 195 | icu4j_config_root := $(LOCAL_PATH)/../external/icu/icu4j//main/classes/core/src |
| 196 | include external/icu/icu4j/adjust_icudt_path.mk |
| 197 | |
Kenny Root | 38375a4 | 2013-04-23 15:50:31 -0700 | [diff] [blame] | 198 | ifeq ($(LIBCORE_SKIP_TESTS),) |
| 199 | # Make the core-tests library. |
| 200 | include $(CLEAR_VARS) |
Narayan Kamath | 51525b5 | 2013-11-15 18:02:54 +0000 | [diff] [blame] | 201 | LOCAL_SRC_FILES := $(test_src_files) |
Brian Carlstrom | 51ee38b | 2010-07-23 15:57:52 -0700 | [diff] [blame] | 202 | LOCAL_JAVA_RESOURCE_DIRS := $(test_resource_dirs) |
| 203 | LOCAL_NO_STANDARD_LIBRARIES := true |
Piotr Jastrzebski | 51b1b69 | 2015-02-16 15:01:09 +0000 | [diff] [blame] | 204 | LOCAL_JAVA_LIBRARIES := core-oj core-libart okhttp core-junit bouncycastle |
Neil Fuller | 62fba1e | 2014-05-29 11:52:06 +0100 | [diff] [blame] | 205 | LOCAL_STATIC_JAVA_LIBRARIES := core-tests-support sqlite-jdbc mockwebserver nist-pkix-tests |
Elliott Hughes | d610834 | 2011-02-22 10:13:54 -0800 | [diff] [blame] | 206 | LOCAL_JAVACFLAGS := $(local_javac_flags) |
Brian Carlstrom | b094af3 | 2010-05-28 17:37:37 -0700 | [diff] [blame] | 207 | LOCAL_MODULE := core-tests |
Elliott Hughes | 73d3e26 | 2012-08-28 17:56:09 -0700 | [diff] [blame] | 208 | LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/JavaLibrary.mk |
Jesse Wilson | 706d535 | 2010-06-08 17:20:09 -0700 | [diff] [blame] | 209 | include $(BUILD_STATIC_JAVA_LIBRARY) |
Elliott Hughes | c5cd6e8 | 2012-10-18 18:13:10 -0700 | [diff] [blame] | 210 | endif |
Jesse Wilson | 706d535 | 2010-06-08 17:20:09 -0700 | [diff] [blame] | 211 | |
Tsu Chiang Chuang | 808558f | 2013-08-21 11:46:49 -0700 | [diff] [blame] | 212 | ifeq ($(LIBCORE_SKIP_TESTS),) |
Kenny Root | b397b19 | 2013-08-29 14:24:47 -0700 | [diff] [blame] | 213 | # Make the core-tests-support library. |
| 214 | include $(CLEAR_VARS) |
| 215 | LOCAL_SRC_FILES := $(call all-test-java-files-under,support) |
| 216 | LOCAL_JAVA_RESOURCE_DIRS := $(test_resource_dirs) |
| 217 | LOCAL_NO_STANDARD_LIBRARIES := true |
Piotr Jastrzebski | 51b1b69 | 2015-02-16 15:01:09 +0000 | [diff] [blame] | 218 | LOCAL_JAVA_LIBRARIES := core-oj core-libart core-junit bouncycastle |
Kenny Root | b397b19 | 2013-08-29 14:24:47 -0700 | [diff] [blame] | 219 | LOCAL_JAVACFLAGS := $(local_javac_flags) |
Kenny Root | b397b19 | 2013-08-29 14:24:47 -0700 | [diff] [blame] | 220 | LOCAL_MODULE := core-tests-support |
| 221 | LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/JavaLibrary.mk |
| 222 | include $(BUILD_STATIC_JAVA_LIBRARY) |
| 223 | endif |
| 224 | |
| 225 | ifeq ($(LIBCORE_SKIP_TESTS),) |
Tsu Chiang Chuang | 808558f | 2013-08-21 11:46:49 -0700 | [diff] [blame] | 226 | # Make the jsr166-tests library. |
| 227 | include $(CLEAR_VARS) |
| 228 | LOCAL_SRC_FILES := $(call all-test-java-files-under, jsr166-tests) |
| 229 | LOCAL_JAVA_RESOURCE_DIRS := $(test_resource_dirs) |
| 230 | LOCAL_NO_STANDARD_LIBRARIES := true |
Piotr Jastrzebski | 51b1b69 | 2015-02-16 15:01:09 +0000 | [diff] [blame] | 231 | LOCAL_JAVA_LIBRARIES := core-oj core-libart core-junit |
Tsu Chiang Chuang | 808558f | 2013-08-21 11:46:49 -0700 | [diff] [blame] | 232 | LOCAL_JAVACFLAGS := $(local_javac_flags) |
| 233 | LOCAL_MODULE := jsr166-tests |
| 234 | LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/JavaLibrary.mk |
| 235 | include $(BUILD_STATIC_JAVA_LIBRARY) |
| 236 | endif |
| 237 | |
Dan Bornstein | 6ac43c2 | 2009-10-24 15:33:49 -0700 | [diff] [blame] | 238 | # |
| 239 | # Build for the host. |
| 240 | # |
| 241 | |
Elliott Hughes | e983a0b | 2015-01-16 10:47:17 -0800 | [diff] [blame] | 242 | ifeq ($(HOST_OS),linux) |
| 243 | |
Tsu Chiang Chuang | 25963ae | 2013-07-23 16:39:20 -0700 | [diff] [blame] | 244 | include $(CLEAR_VARS) |
Narayan Kamath | 0a57ec2 | 2015-07-24 14:34:02 +0100 | [diff] [blame] | 245 | LOCAL_SRC_FILES := $(call all-java-files-under, dex/src/main) |
Tsu Chiang Chuang | 25963ae | 2013-07-23 16:39:20 -0700 | [diff] [blame] | 246 | LOCAL_MODULE_TAGS := optional |
| 247 | LOCAL_MODULE := dex-host |
| 248 | include $(BUILD_HOST_JAVA_LIBRARY) |
| 249 | |
Piotr Jastrzebski | 51b1b69 | 2015-02-16 15:01:09 +0000 | [diff] [blame] | 250 | include $(CLEAR_VARS) |
Narayan Kamath | 844badd | 2015-09-11 12:43:29 +0100 | [diff] [blame] | 251 | LOCAL_SRC_FILES := $(non_openjdk_java_files) $(openjdk_java_files) $(icu4j_src_files) |
Przemyslaw Szczepaniak | e3b37c2 | 2015-09-28 16:24:00 +0100 | [diff] [blame] | 252 | LOCAL_JAVA_RESOURCE_DIRS := $(core_resource_dirs) |
Piotr Jastrzebski | 51b1b69 | 2015-02-16 15:01:09 +0000 | [diff] [blame] | 253 | LOCAL_NO_STANDARD_LIBRARIES := true |
| 254 | LOCAL_JAVACFLAGS := $(local_javac_flags) |
| 255 | LOCAL_DX_FLAGS := --core-library |
| 256 | LOCAL_MODULE_TAGS := optional |
| 257 | LOCAL_MODULE := core-all-hostdex |
| 258 | LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/JavaLibrary.mk |
| 259 | LOCAL_REQUIRED_MODULES := tzdata-host |
Piotr Jastrzebski | 5c3c9df | 2015-04-20 10:56:00 +0100 | [diff] [blame] | 260 | LOCAL_CORE_LIBRARY := true |
Narayan Kamath | 0ebbfbd | 2015-07-30 15:01:19 +0100 | [diff] [blame] | 261 | LOCAL_UNINSTALLABLE_MODULE := true |
Narayan Kamath | c011b24 | 2015-10-05 15:10:52 +0100 | [diff] [blame] | 262 | LOCAL_JARJAR_RULES := $(LOCAL_PATH)/jarjar-rules.txt |
Piotr Jastrzebski | 51b1b69 | 2015-02-16 15:01:09 +0000 | [diff] [blame] | 263 | include $(BUILD_HOST_DALVIK_JAVA_LIBRARY) |
| 264 | |
| 265 | include $(CLEAR_VARS) |
Narayan Kamath | 0a57ec2 | 2015-07-24 14:34:02 +0100 | [diff] [blame] | 266 | LOCAL_SRC_FILES := $(openjdk_java_files) |
Piotr Jastrzebski | 51b1b69 | 2015-02-16 15:01:09 +0000 | [diff] [blame] | 267 | LOCAL_JAVA_RESOURCE_DIRS := $(core_resource_dirs) |
| 268 | LOCAL_NO_STANDARD_LIBRARIES := true |
| 269 | LOCAL_JAVACFLAGS := $(local_javac_flags) |
| 270 | LOCAL_DX_FLAGS := --core-library |
| 271 | LOCAL_MODULE_TAGS := optional |
| 272 | LOCAL_MODULE := core-oj-hostdex |
| 273 | LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/JavaLibrary.mk |
| 274 | LOCAL_JAVA_LIBRARIES := core-all-hostdex |
| 275 | LOCAL_REQUIRED_MODULES := tzdata-host |
Piotr Jastrzebski | 5c3c9df | 2015-04-20 10:56:00 +0100 | [diff] [blame] | 276 | LOCAL_CORE_LIBRARY := true |
Narayan Kamath | 4cb7ea3 | 2015-07-31 12:33:09 +0100 | [diff] [blame] | 277 | LOCAL_REQUIRED_MODULES := currency.data-host |
Narayan Kamath | 844badd | 2015-09-11 12:43:29 +0100 | [diff] [blame] | 278 | LOCAL_JARJAR_RULES := $(LOCAL_PATH)/jarjar-rules.txt |
Piotr Jastrzebski | 51b1b69 | 2015-02-16 15:01:09 +0000 | [diff] [blame] | 279 | include $(BUILD_HOST_DALVIK_JAVA_LIBRARY) |
| 280 | |
Ian Rogers | 3deabd2 | 2014-05-23 15:12:42 -0700 | [diff] [blame] | 281 | # Definitions to make the core library. |
| 282 | include $(CLEAR_VARS) |
Narayan Kamath | 844badd | 2015-09-11 12:43:29 +0100 | [diff] [blame] | 283 | LOCAL_SRC_FILES := $(non_openjdk_java_files) $(icu4j_src_files) |
Ian Rogers | 3deabd2 | 2014-05-23 15:12:42 -0700 | [diff] [blame] | 284 | LOCAL_NO_STANDARD_LIBRARIES := true |
| 285 | LOCAL_JAVACFLAGS := $(local_javac_flags) |
| 286 | LOCAL_DX_FLAGS := --core-library |
| 287 | LOCAL_MODULE_TAGS := optional |
| 288 | LOCAL_MODULE := core-libart-hostdex |
| 289 | LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/JavaLibrary.mk |
Piotr Jastrzebski | 51b1b69 | 2015-02-16 15:01:09 +0000 | [diff] [blame] | 290 | LOCAL_JAVA_LIBRARIES := core-oj-hostdex |
Ian Rogers | 3deabd2 | 2014-05-23 15:12:42 -0700 | [diff] [blame] | 291 | LOCAL_REQUIRED_MODULES := tzdata-host |
Narayan Kamath | f37f781 | 2015-04-01 09:34:24 +0100 | [diff] [blame] | 292 | LOCAL_JARJAR_RULES := $(LOCAL_PATH)/jarjar-rules.txt |
Ian Rogers | 3deabd2 | 2014-05-23 15:12:42 -0700 | [diff] [blame] | 293 | include $(BUILD_HOST_DALVIK_JAVA_LIBRARY) |
Dan Bornstein | 6ac43c2 | 2009-10-24 15:33:49 -0700 | [diff] [blame] | 294 | |
Ian Rogers | 3deabd2 | 2014-05-23 15:12:42 -0700 | [diff] [blame] | 295 | # Make the core-tests library. |
| 296 | ifeq ($(LIBCORE_SKIP_TESTS),) |
Brian Carlstrom | d39b1d6 | 2011-03-06 23:15:39 -0800 | [diff] [blame] | 297 | include $(CLEAR_VARS) |
Narayan Kamath | 51525b5 | 2013-11-15 18:02:54 +0000 | [diff] [blame] | 298 | LOCAL_SRC_FILES := $(test_src_files) |
Brian Carlstrom | d39b1d6 | 2011-03-06 23:15:39 -0800 | [diff] [blame] | 299 | LOCAL_JAVA_RESOURCE_DIRS := $(test_resource_dirs) |
Neil Fuller | 9496b21 | 2014-09-04 11:11:56 +0100 | [diff] [blame] | 300 | LOCAL_NO_STANDARD_LIBRARIES := true |
Piotr Jastrzebski | 51b1b69 | 2015-02-16 15:01:09 +0000 | [diff] [blame] | 301 | LOCAL_JAVA_LIBRARIES := core-oj-hostdex core-libart-hostdex okhttp-hostdex bouncycastle-hostdex core-junit-hostdex core-tests-support-hostdex |
Brian Carlstrom | 22a12c9 | 2013-01-17 16:18:31 -0800 | [diff] [blame] | 302 | LOCAL_STATIC_JAVA_LIBRARIES := sqlite-jdbc-host mockwebserver-host nist-pkix-tests-host |
Brian Carlstrom | d39b1d6 | 2011-03-06 23:15:39 -0800 | [diff] [blame] | 303 | LOCAL_JAVACFLAGS := $(local_javac_flags) |
Ying Wang | e79ac58 | 2012-08-23 11:25:27 -0700 | [diff] [blame] | 304 | LOCAL_MODULE_TAGS := optional |
Brian Carlstrom | d39b1d6 | 2011-03-06 23:15:39 -0800 | [diff] [blame] | 305 | LOCAL_MODULE := core-tests-hostdex |
Elliott Hughes | 73d3e26 | 2012-08-28 17:56:09 -0700 | [diff] [blame] | 306 | LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/JavaLibrary.mk |
Narayan Kamath | 70e8ce8 | 2013-10-28 14:17:35 +0000 | [diff] [blame] | 307 | include $(BUILD_HOST_DALVIK_JAVA_LIBRARY) |
Ian Rogers | 3deabd2 | 2014-05-23 15:12:42 -0700 | [diff] [blame] | 308 | endif |
Kenny Root | ba07db5 | 2013-08-29 13:40:35 -0700 | [diff] [blame] | 309 | |
Ian Rogers | 3deabd2 | 2014-05-23 15:12:42 -0700 | [diff] [blame] | 310 | # Make the core-tests-support library. |
| 311 | ifeq ($(LIBCORE_SKIP_TESTS),) |
Kenny Root | ba07db5 | 2013-08-29 13:40:35 -0700 | [diff] [blame] | 312 | include $(CLEAR_VARS) |
| 313 | LOCAL_SRC_FILES := $(call all-test-java-files-under,support) |
| 314 | LOCAL_JAVA_RESOURCE_DIRS := $(test_resource_dirs) |
Neil Fuller | 9496b21 | 2014-09-04 11:11:56 +0100 | [diff] [blame] | 315 | LOCAL_NO_STANDARD_LIBRARIES := true |
Piotr Jastrzebski | 51b1b69 | 2015-02-16 15:01:09 +0000 | [diff] [blame] | 316 | LOCAL_JAVA_LIBRARIES := core-oj-hostdex core-libart-hostdex core-junit-hostdex bouncycastle-hostdex |
Kenny Root | ba07db5 | 2013-08-29 13:40:35 -0700 | [diff] [blame] | 317 | LOCAL_JAVACFLAGS := $(local_javac_flags) |
| 318 | LOCAL_MODULE_TAGS := optional |
| 319 | LOCAL_MODULE := core-tests-support-hostdex |
| 320 | LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/JavaLibrary.mk |
Narayan Kamath | 70e8ce8 | 2013-10-28 14:17:35 +0000 | [diff] [blame] | 321 | include $(BUILD_HOST_DALVIK_JAVA_LIBRARY) |
Elliott Hughes | 67cc34b | 2010-02-19 22:14:19 -0800 | [diff] [blame] | 322 | endif |
Brian Carlstrom | dc3c152 | 2011-01-05 17:48:05 -0800 | [diff] [blame] | 323 | |
Elliott Hughes | e983a0b | 2015-01-16 10:47:17 -0800 | [diff] [blame] | 324 | endif # HOST_OS == linux |
| 325 | |
Brian Carlstrom | dc3c152 | 2011-01-05 17:48:05 -0800 | [diff] [blame] | 326 | # |
| 327 | # Local droiddoc for faster libcore testing |
| 328 | # |
| 329 | # |
| 330 | # Run with: |
Elliott Hughes | 92fc63e | 2013-02-07 17:05:57 -0800 | [diff] [blame] | 331 | # mm -j32 libcore-docs |
Brian Carlstrom | dc3c152 | 2011-01-05 17:48:05 -0800 | [diff] [blame] | 332 | # |
| 333 | # Main output: |
Elliott Hughes | 92fc63e | 2013-02-07 17:05:57 -0800 | [diff] [blame] | 334 | # ../out/target/common/docs/libcore/reference/packages.html |
Brian Carlstrom | dc3c152 | 2011-01-05 17:48:05 -0800 | [diff] [blame] | 335 | # |
| 336 | # All text for proofreading (or running tools over): |
Elliott Hughes | 92fc63e | 2013-02-07 17:05:57 -0800 | [diff] [blame] | 337 | # ../out/target/common/docs/libcore-proofread.txt |
Brian Carlstrom | dc3c152 | 2011-01-05 17:48:05 -0800 | [diff] [blame] | 338 | # |
| 339 | # TODO list of missing javadoc, etc: |
Elliott Hughes | 92fc63e | 2013-02-07 17:05:57 -0800 | [diff] [blame] | 340 | # ../out/target/common/docs/libcore-docs-todo.html |
Brian Carlstrom | dc3c152 | 2011-01-05 17:48:05 -0800 | [diff] [blame] | 341 | # |
| 342 | # Rerun: |
Elliott Hughes | 92fc63e | 2013-02-07 17:05:57 -0800 | [diff] [blame] | 343 | # rm -rf ../out/target/common/docs/libcore-timestamp && mm -j32 libcore-docs |
Brian Carlstrom | dc3c152 | 2011-01-05 17:48:05 -0800 | [diff] [blame] | 344 | # |
| 345 | include $(CLEAR_VARS) |
| 346 | |
| 347 | # for shared defintion of libcore_to_document |
| 348 | include $(LOCAL_PATH)/Docs.mk |
| 349 | |
Ying Wang | 21ac42d | 2013-12-04 15:54:36 -0800 | [diff] [blame] | 350 | LOCAL_SRC_FILES := $(libcore_to_document) |
Brian Carlstrom | dc3c152 | 2011-01-05 17:48:05 -0800 | [diff] [blame] | 351 | # rerun doc generation without recompiling the java |
| 352 | LOCAL_JAVA_LIBRARIES:= |
Elliott Hughes | d610834 | 2011-02-22 10:13:54 -0800 | [diff] [blame] | 353 | LOCAL_JAVACFLAGS := $(local_javac_flags) |
Brian Carlstrom | dc3c152 | 2011-01-05 17:48:05 -0800 | [diff] [blame] | 354 | LOCAL_MODULE_CLASS:=JAVA_LIBRARIES |
| 355 | |
| 356 | LOCAL_MODULE := libcore |
Elliott Hughes | 73d3e26 | 2012-08-28 17:56:09 -0700 | [diff] [blame] | 357 | LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/JavaLibrary.mk |
Brian Carlstrom | dc3c152 | 2011-01-05 17:48:05 -0800 | [diff] [blame] | 358 | |
Elliott Hughes | b986327 | 2012-11-08 14:28:29 -0800 | [diff] [blame] | 359 | LOCAL_DROIDDOC_OPTIONS := \ |
Brian Carlstrom | dc3c152 | 2011-01-05 17:48:05 -0800 | [diff] [blame] | 360 | -offlinemode \ |
| 361 | -title "libcore" \ |
| 362 | -proofread $(OUT_DOCS)/$(LOCAL_MODULE)-proofread.txt \ |
| 363 | -todo ../$(LOCAL_MODULE)-docs-todo.html \ |
| 364 | -hdf android.whichdoc offline |
| 365 | |
| 366 | LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk |
| 367 | |
| 368 | include $(BUILD_DROIDDOC) |
Narayan Kamath | 0a57ec2 | 2015-07-24 14:34:02 +0100 | [diff] [blame] | 369 | |
| 370 | openjdk_java_files := |
| 371 | non_openjdk_java_files := |