1# -*- mode: makefile -*-
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
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).
39
40include $(LOCAL_PATH)/openjdk_java_files.mk
41include $(LOCAL_PATH)/non_openjdk_java_files.mk
42
43define all-test-java-files-under
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)))
45endef
46
47define all-core-resource-dirs
48$(shell cd $(LOCAL_PATH) && ls -d */src/$(1)/{java,resources} 2> /dev/null)
49endef
50
51# The Java files and their associated resources.
52core_resource_dirs := \
53  luni/src/main/java \
54  ojluni/src/main/resources/
55test_resource_dirs := $(filter-out ojluni/%,$(call all-core-resource-dirs,test))
56test_src_files := $(call all-test-java-files-under,dalvik dalvik/test-rules dom harmony-tests json luni xml)
57ojtest_src_files := $(call all-test-java-files-under,ojluni)
58ojtest_resource_dirs := $(filter ojluni/%,$(call all-core-resource-dirs,test))
59
60ifeq ($(EMMA_INSTRUMENT),true)
61ifneq ($(EMMA_INSTRUMENT_STATIC),true)
62    nojcore_src_files += $(call all-java-files-under, ../external/emma/core ../external/emma/pregenerated)
63    core_resource_dirs += ../external/emma/core/res ../external/emma/pregenerated/res
64endif
65endif
66
67local_javac_flags=-encoding UTF-8
68#local_javac_flags+=-Xlint:all -Xlint:-serial,-deprecation,-unchecked
69local_javac_flags+=-Xmaxwarns 9999999
70
71
72#
73# ICU4J related rules.
74#
75# We compile android_icu4j along with core-libart because we're implementing parts of core-libart
76# in terms of android_icu4j.
77android_icu4j_root := ../external/icu/android_icu4j/
78android_icu4j_src_files := $(call all-java-files-under,$(android_icu4j_root)/src/main/java)
79android_icu4j_resource_dirs := $(android_icu4j_root)/resources
80
81#
82# Build for the target (device).
83#
84
85include $(CLEAR_VARS)
86LOCAL_SRC_FILES := $(openjdk_java_files) $(non_openjdk_java_files) $(android_icu4j_src_files) $(openjdk_lambda_stub_files)
87LOCAL_JAVA_RESOURCE_DIRS := $(core_resource_dirs) $(android_icu4j_resource_dirs)
88LOCAL_NO_STANDARD_LIBRARIES := true
89LOCAL_JAVACFLAGS := $(local_javac_flags)
90LOCAL_DX_FLAGS := --core-library
91LOCAL_MODULE_TAGS := optional
92LOCAL_JAVA_LANGUAGE_VERSION := 1.8
93LOCAL_MODULE := core-all
94LOCAL_REQUIRED_MODULES := tzdata tzlookup.xml
95LOCAL_CORE_LIBRARY := true
96LOCAL_UNINSTALLABLE_MODULE := true
97include $(BUILD_JAVA_LIBRARY)
98
99include $(CLEAR_VARS)
100LOCAL_SRC_FILES := $(openjdk_java_files)
101LOCAL_JAVA_RESOURCE_DIRS := $(core_resource_dirs)
102LOCAL_NO_STANDARD_LIBRARIES := true
103LOCAL_JAVACFLAGS := $(local_javac_flags)
104# TODO(oth): Remove --min-sdk-version=26 when the O SDK version is determined.
105# For now it represents the minimum sdk version required for invoke-polymorphic.
106# This is only needed when ANDROID_COMPILE_WITH_JACK=false (b/36118520).
107LOCAL_DX_FLAGS := --core-library --min-sdk-version=26
108LOCAL_MODULE_TAGS := optional
109LOCAL_JAVA_LANGUAGE_VERSION := 1.8
110LOCAL_MODULE := core-oj
111LOCAL_JAVA_LIBRARIES := core-all
112LOCAL_NOTICE_FILE := $(LOCAL_PATH)/ojluni/NOTICE
113LOCAL_REQUIRED_MODULES := tzdata tzlookup.xml
114LOCAL_CORE_LIBRARY := true
115include $(BUILD_JAVA_LIBRARY)
116
117# Definitions to make the core library.
118include $(CLEAR_VARS)
119LOCAL_SRC_FILES := $(non_openjdk_java_files) $(android_icu4j_src_files)
120LOCAL_JAVA_RESOURCE_DIRS := $(android_icu4j_resource_dirs)
121LOCAL_NO_STANDARD_LIBRARIES := true
122LOCAL_JAVACFLAGS := $(local_javac_flags)
123LOCAL_DX_FLAGS := --core-library
124LOCAL_MODULE_TAGS := optional
125LOCAL_JAVA_LANGUAGE_VERSION := 1.8
126LOCAL_MODULE := core-libart
127LOCAL_JAVA_LIBRARIES := core-all
128ifeq ($(EMMA_INSTRUMENT),true)
129ifneq ($(EMMA_INSTRUMENT_STATIC),true)
130    # For instrumented build, include Jacoco classes into core-libart.
131    LOCAL_STATIC_JAVA_LIBRARIES := jacocoagent
132endif # EMMA_INSTRUMENT_STATIC
133endif # EMMA_INSTRUMENT
134LOCAL_CORE_LIBRARY := true
135LOCAL_REQUIRED_MODULES := tzdata tzlookup.xml
136include $(BUILD_JAVA_LIBRARY)
137
138# A library that exists to satisfy javac when
139# compiling source code that contains lambdas.
140include $(CLEAR_VARS)
141LOCAL_SRC_FILES := $(openjdk_lambda_stub_files) $(openjdk_lambda_duplicate_stub_files)
142LOCAL_NO_STANDARD_LIBRARIES := true
143LOCAL_JAVACFLAGS := $(local_javac_flags)
144LOCAL_DX_FLAGS := --core-library
145LOCAL_MODULE_TAGS := optional
146LOCAL_JAVA_LANGUAGE_VERSION := 1.8
147LOCAL_MODULE := core-lambda-stubs
148LOCAL_JAVA_LIBRARIES := core-all
149LOCAL_NOTICE_FILE := $(LOCAL_PATH)/ojluni/NOTICE
150LOCAL_CORE_LIBRARY := true
151LOCAL_UNINSTALLABLE_MODULE := true
152include $(BUILD_JAVA_LIBRARY)
153
154ifeq ($(LIBCORE_SKIP_TESTS),)
155# A guaranteed unstripped version of core-oj and core-libart.
156# The build system may or may not strip the core-oj and core-libart jars,
157# but these will not be stripped. See b/24535627.
158include $(CLEAR_VARS)
159LOCAL_SRC_FILES := $(openjdk_java_files)
160LOCAL_JAVA_RESOURCE_DIRS := $(core_resource_dirs)
161LOCAL_NO_STANDARD_LIBRARIES := true
162LOCAL_JAVACFLAGS := $(local_javac_flags)
163LOCAL_DX_FLAGS := --core-library
164LOCAL_MODULE_TAGS := optional
165LOCAL_DEX_PREOPT := false
166LOCAL_JAVA_LANGUAGE_VERSION := 1.8
167LOCAL_MODULE := core-oj-testdex
168LOCAL_JAVA_LIBRARIES := core-all
169LOCAL_NOTICE_FILE := $(LOCAL_PATH)/ojluni/NOTICE
170LOCAL_REQUIRED_MODULES := tzdata tzlookup.xml
171LOCAL_CORE_LIBRARY := true
172include $(BUILD_JAVA_LIBRARY)
173
174# Build libcore test rules for target
175include $(CLEAR_VARS)
176LOCAL_SRC_FILES := $(call all-java-files-under, dalvik/test-rules/src/main test-rules/src/main)
177LOCAL_NO_STANDARD_LIBRARIES := true
178LOCAL_MODULE := core-test-rules
179LOCAL_JAVA_LIBRARIES := core-all
180LOCAL_STATIC_JAVA_LIBRARIES := junit
181include $(BUILD_STATIC_JAVA_LIBRARY)
182
183# Build libcore test rules for host
184include $(CLEAR_VARS)
185LOCAL_SRC_FILES := $(call all-java-files-under, dalvik/test-rules/src/main test-rules/src/main)
186LOCAL_NO_STANDARD_LIBRARIES := true
187LOCAL_MODULE := core-test-rules-hostdex
188LOCAL_JAVA_LIBRARIES := core-oj-hostdex core-libart-hostdex
189LOCAL_STATIC_JAVA_LIBRARIES := junit-hostdex
190include $(BUILD_HOST_DALVIK_STATIC_JAVA_LIBRARY)
191
192include $(CLEAR_VARS)
193LOCAL_SRC_FILES := $(non_openjdk_java_files) $(android_icu4j_src_files)
194LOCAL_JAVA_RESOURCE_DIRS := $(android_icu4j_resource_dirs)
195LOCAL_NO_STANDARD_LIBRARIES := true
196LOCAL_JAVACFLAGS := $(local_javac_flags)
197LOCAL_DX_FLAGS := --core-library
198LOCAL_MODULE_TAGS := optional
199LOCAL_DEX_PREOPT := false
200LOCAL_JAVA_LANGUAGE_VERSION := 1.8
201LOCAL_MODULE := core-libart-testdex
202LOCAL_JAVA_LIBRARIES := core-all
203LOCAL_CORE_LIBRARY := true
204LOCAL_REQUIRED_MODULES := tzdata tzlookup.xml
205include $(BUILD_JAVA_LIBRARY)
206endif
207
208ifeq ($(LIBCORE_SKIP_TESTS),)
209# Build a library just containing files from luni/src/test/filesystems for use in tests.
210include $(CLEAR_VARS)
211LOCAL_SRC_FILES := $(call all-java-files-under, luni/src/test/filesystems/src)
212LOCAL_JAVA_RESOURCE_DIRS := luni/src/test/filesystems/resources
213LOCAL_NO_STANDARD_LIBRARIES := true
214LOCAL_MODULE := filesystemstest
215LOCAL_JAVA_LIBRARIES := core-oj core-libart
216LOCAL_DEX_PREOPT := false
217include $(BUILD_JAVA_LIBRARY)
218my_filesystemstest_jar := $(intermediates)/filesystemstest.jar
219$(my_filesystemstest_jar): $(LOCAL_BUILT_MODULE)
220	$(call copy-file-to-target)
221endif
222
223ifeq ($(LIBCORE_SKIP_TESTS),)
224# Make the core-tests library.
225include $(CLEAR_VARS)
226LOCAL_SRC_FILES := $(test_src_files)
227LOCAL_JAVA_RESOURCE_DIRS := $(test_resource_dirs)
228# Include individual dex.jar files (jars containing resources and a classes.dex) so that they
229# be loaded by tests using ClassLoaders but are not in the main classes.dex.
230LOCAL_JAVA_RESOURCE_FILES := $(my_filesystemstest_jar)
231LOCAL_NO_STANDARD_LIBRARIES := true
232LOCAL_JAVA_LIBRARIES := core-oj core-libart okhttp bouncycastle
233LOCAL_STATIC_JAVA_LIBRARIES := \
234	archive-patcher \
235	core-test-rules \
236	core-tests-support \
237	junit-params \
238	mockftpserver \
239	mockito-target \
240	mockwebserver \
241	nist-pkix-tests \
242	slf4j-jdk14 \
243	sqlite-jdbc \
244	tzdata-testing
245LOCAL_JAVACFLAGS := $(local_javac_flags)
246LOCAL_ERROR_PRONE_FLAGS := -Xep:TryFailThrowable:ERROR -Xep:ComparisonOutOfRange:ERROR
247LOCAL_JAVA_LANGUAGE_VERSION := 1.8
248LOCAL_MODULE := core-tests
249include $(BUILD_STATIC_JAVA_LIBRARY)
250endif
251
252ifeq ($(LIBCORE_SKIP_TESTS),)
253# Make the core-tests-support library.
254include $(CLEAR_VARS)
255LOCAL_SRC_FILES := $(call all-test-java-files-under,support)
256LOCAL_JAVA_RESOURCE_DIRS := $(test_resource_dirs)
257LOCAL_NO_STANDARD_LIBRARIES := true
258LOCAL_JAVA_LIBRARIES := core-oj core-libart junit bouncycastle
259LOCAL_STATIC_JAVA_LIBRARIES := bouncycastle-bcpkix bouncycastle-ocsp
260LOCAL_JAVACFLAGS := $(local_javac_flags)
261LOCAL_MODULE := core-tests-support
262include $(BUILD_STATIC_JAVA_LIBRARY)
263endif
264
265ifeq ($(LIBCORE_SKIP_TESTS),)
266# Make the jsr166-tests library.
267include $(CLEAR_VARS)
268LOCAL_SRC_FILES :=  $(call all-test-java-files-under, jsr166-tests)
269LOCAL_JAVA_RESOURCE_DIRS := $(test_resource_dirs)
270LOCAL_NO_STANDARD_LIBRARIES := true
271LOCAL_JAVA_LIBRARIES := core-oj core-libart junit
272LOCAL_JAVACFLAGS := $(local_javac_flags)
273LOCAL_MODULE := jsr166-tests
274LOCAL_JAVA_LANGUAGE_VERSION := 1.8
275include $(BUILD_STATIC_JAVA_LIBRARY)
276endif
277
278# Make the core-ojtests library.
279ifeq ($(LIBCORE_SKIP_TESTS),)
280    include $(CLEAR_VARS)
281    LOCAL_JAVA_RESOURCE_DIRS := $(ojtest_resource_dirs)
282    LOCAL_NO_STANDARD_LIBRARIES := true
283    LOCAL_JAVA_LIBRARIES := core-oj core-libart okhttp bouncycastle
284    LOCAL_STATIC_JAVA_LIBRARIES := testng
285    LOCAL_JAVACFLAGS := $(local_javac_flags)
286    LOCAL_DX_FLAGS := --core-library
287    LOCAL_MODULE_TAGS := optional
288    LOCAL_JAVA_LANGUAGE_VERSION := 1.8
289    LOCAL_MODULE := core-ojtests
290    # jack bug workaround: int[] java.util.stream.StatefulTestOp.-getjava-util-stream-StreamShapeSwitchesValues() is a private synthetic method in an interface which causes a hard verifier error
291    LOCAL_DEX_PREOPT := false # disable AOT preverification which breaks the build. it will still throw VerifyError at runtime.
292    include $(BUILD_JAVA_LIBRARY)
293endif
294
295# Make the core-ojtests-public library. Excludes any private API tests.
296ifeq ($(LIBCORE_SKIP_TESTS),)
297    include $(CLEAR_VARS)
298    # Filter out SerializedLambdaTest because it depends on stub classes and won't actually run.
299    LOCAL_SRC_FILES := $(filter-out %/DeserializeMethodTest.java %/SerializedLambdaTest.java ojluni/src/test/java/util/stream/boot%,$(ojtest_src_files)) # Do not include anything from the boot* directories. Those directories need a custom bootclasspath to run.
300    # Include source code as part of JAR
301    LOCAL_JAVA_RESOURCE_DIRS := ojluni/src/test/dist $(ojtest_resource_dirs)
302    LOCAL_NO_STANDARD_LIBRARIES := true
303    LOCAL_JAVA_LIBRARIES := \
304        bouncycastle \
305        core-libart \
306        core-oj \
307        okhttp \
308        testng
309    LOCAL_JAVACFLAGS := $(local_javac_flags)
310    LOCAL_DX_FLAGS := --core-library
311    LOCAL_MODULE_TAGS := optional
312    LOCAL_JAVA_LANGUAGE_VERSION := 1.8
313    LOCAL_MODULE := core-ojtests-public
314    # jack bug workaround: int[] java.util.stream.StatefulTestOp.-getjava-util-stream-StreamShapeSwitchesValues() is a private synthetic method in an interface which causes a hard verifier error
315    LOCAL_DEX_PREOPT := false # disable AOT preverification which breaks the build. it will still throw VerifyError at runtime.
316    include $(BUILD_JAVA_LIBRARY)
317endif
318
319#
320# Build for the host.
321#
322
323ifeq ($(HOST_OS),linux)
324
325include $(CLEAR_VARS)
326LOCAL_SRC_FILES := $(non_openjdk_java_files) $(openjdk_java_files) $(android_icu4j_src_files) $(openjdk_lambda_stub_files)
327LOCAL_JAVA_RESOURCE_DIRS := $(core_resource_dirs)
328LOCAL_NO_STANDARD_LIBRARIES := true
329LOCAL_JAVACFLAGS := $(local_javac_flags)
330LOCAL_DX_FLAGS := --core-library
331LOCAL_MODULE_TAGS := optional
332LOCAL_JAVA_LANGUAGE_VERSION := 1.8
333LOCAL_MODULE := core-all-hostdex
334LOCAL_REQUIRED_MODULES := tzdata-host tzlookup.xml-host
335LOCAL_CORE_LIBRARY := true
336LOCAL_UNINSTALLABLE_MODULE := true
337include $(BUILD_HOST_DALVIK_JAVA_LIBRARY)
338
339include $(CLEAR_VARS)
340LOCAL_SRC_FILES := $(openjdk_java_files)
341LOCAL_JAVA_RESOURCE_DIRS := $(core_resource_dirs)
342LOCAL_NO_STANDARD_LIBRARIES := true
343LOCAL_JAVACFLAGS := $(local_javac_flags)
344LOCAL_DX_FLAGS := --core-library
345LOCAL_MODULE_TAGS := optional
346LOCAL_JAVA_LANGUAGE_VERSION := 1.8
347LOCAL_MODULE := core-oj-hostdex
348LOCAL_NOTICE_FILE := $(LOCAL_PATH)/ojluni/NOTICE
349LOCAL_JAVA_LIBRARIES := core-all-hostdex
350LOCAL_REQUIRED_MODULES := tzdata-host tzlookup.xml-host
351LOCAL_CORE_LIBRARY := true
352include $(BUILD_HOST_DALVIK_JAVA_LIBRARY)
353
354# Definitions to make the core library.
355include $(CLEAR_VARS)
356LOCAL_SRC_FILES := $(non_openjdk_java_files) $(android_icu4j_src_files)
357LOCAL_JAVA_RESOURCE_DIRS := $(android_icu4j_resource_dirs)
358LOCAL_NO_STANDARD_LIBRARIES := true
359LOCAL_JAVACFLAGS := $(local_javac_flags)
360LOCAL_DX_FLAGS := --core-library
361LOCAL_MODULE_TAGS := optional
362LOCAL_JAVA_LANGUAGE_VERSION := 1.8
363LOCAL_MODULE := core-libart-hostdex
364LOCAL_JAVA_LIBRARIES := core-oj-hostdex
365LOCAL_REQUIRED_MODULES := tzdata-host tzlookup.xml-host
366include $(BUILD_HOST_DALVIK_JAVA_LIBRARY)
367
368# A library that exists to satisfy javac when
369# compiling source code that contains lambdas.
370include $(CLEAR_VARS)
371LOCAL_SRC_FILES := $(openjdk_lambda_stub_files) $(openjdk_lambda_duplicate_stub_files)
372LOCAL_NO_STANDARD_LIBRARIES := true
373LOCAL_JAVACFLAGS := $(local_javac_flags)
374LOCAL_DX_FLAGS := --core-library
375LOCAL_MODULE_TAGS := optional
376LOCAL_JAVA_LANGUAGE_VERSION := 1.8
377LOCAL_MODULE := core-lambda-stubs-hostdex
378LOCAL_JAVA_LIBRARIES := core-all-hostdex
379LOCAL_CORE_LIBRARY := true
380include $(BUILD_HOST_DALVIK_JAVA_LIBRARY)
381
382# Make the core-tests-hostdex library.
383ifeq ($(LIBCORE_SKIP_TESTS),)
384    include $(CLEAR_VARS)
385    LOCAL_SRC_FILES := $(test_src_files)
386    LOCAL_JAVA_RESOURCE_DIRS := $(test_resource_dirs)
387    LOCAL_NO_STANDARD_LIBRARIES := true
388    LOCAL_JAVA_LIBRARIES := \
389        bouncycastle-hostdex \
390        core-libart-hostdex \
391        core-oj-hostdex \
392        core-tests-support-hostdex \
393        junit-hostdex \
394        mockito-api-hostdex \
395        okhttp-hostdex
396    LOCAL_STATIC_JAVA_LIBRARIES := \
397        archive-patcher-hostdex \
398        core-test-rules-hostdex \
399        junit-params-hostdex \
400        mockftpserver-hostdex \
401        mockwebserver-host \
402        nist-pkix-tests-host \
403        slf4j-jdk14-hostdex \
404        sqlite-jdbc-host \
405        tzdata-testing-hostdex
406    LOCAL_JAVACFLAGS := $(local_javac_flags)
407    LOCAL_MODULE_TAGS := optional
408    LOCAL_JAVA_LANGUAGE_VERSION := 1.8
409    LOCAL_MODULE := core-tests-hostdex
410    include $(BUILD_HOST_DALVIK_JAVA_LIBRARY)
411endif
412
413# Make the core-tests-support library.
414ifeq ($(LIBCORE_SKIP_TESTS),)
415    include $(CLEAR_VARS)
416    LOCAL_SRC_FILES := $(call all-test-java-files-under,support)
417    LOCAL_JAVA_RESOURCE_DIRS := $(test_resource_dirs)
418    LOCAL_NO_STANDARD_LIBRARIES := true
419    LOCAL_JAVA_LIBRARIES := \
420        bouncycastle-hostdex \
421        core-libart-hostdex \
422        core-oj-hostdex \
423        junit-hostdex
424    LOCAL_STATIC_JAVA_LIBRARIES := \
425        bouncycastle-bcpkix-hostdex \
426        bouncycastle-ocsp-hostdex
427    LOCAL_JAVACFLAGS := $(local_javac_flags)
428    LOCAL_MODULE_TAGS := optional
429    LOCAL_MODULE := core-tests-support-hostdex
430    include $(BUILD_HOST_DALVIK_JAVA_LIBRARY)
431endif
432
433# Make the core-ojtests-hostdex library.
434ifeq ($(LIBCORE_SKIP_TESTS),)
435    include $(CLEAR_VARS)
436    LOCAL_SRC_FILES := $(ojtest_src_files)
437    LOCAL_NO_STANDARD_LIBRARIES := true
438    LOCAL_JAVA_LIBRARIES := \
439        bouncycastle-hostdex \
440        core-libart-hostdex \
441        core-oj-hostdex \
442        okhttp-hostdex
443    LOCAL_STATIC_JAVA_LIBRARIES := testng-hostdex
444    LOCAL_JAVACFLAGS := $(local_javac_flags)
445    LOCAL_DX_FLAGS := --core-library
446    LOCAL_MODULE_TAGS := optional
447    LOCAL_JAVA_LANGUAGE_VERSION := 1.8
448    LOCAL_MODULE := core-ojtests-hostdex
449    include $(BUILD_HOST_DALVIK_JAVA_LIBRARY)
450endif
451
452endif # HOST_OS == linux
453
454#
455# Local droiddoc for faster libcore testing
456#
457#
458# Run with:
459#     mm -j32 libcore-docs
460#
461# Main output:
462#     ../out/target/common/docs/libcore/reference/packages.html
463#
464# All text for proofreading (or running tools over):
465#     ../out/target/common/docs/libcore-proofread.txt
466#
467# TODO list of missing javadoc, etc:
468#     ../out/target/common/docs/libcore-docs-todo.html
469#
470# Rerun:
471#     rm -rf ../out/target/common/docs/libcore-timestamp && mm -j32 libcore-docs
472#
473include $(CLEAR_VARS)
474
475# for shared defintion of libcore_to_document
476include $(LOCAL_PATH)/Docs.mk
477
478# The libcore_to_document paths are relative to $(TOPDIR). We are in libcore so we must prepend
479# ../ to make LOCAL_SRC_FILES relative to $(LOCAL_PATH).
480LOCAL_SRC_FILES := $(addprefix ../, $(libcore_to_document))
481# rerun doc generation without recompiling the java
482LOCAL_JAVACFLAGS := $(local_javac_flags)
483LOCAL_MODULE_CLASS:=JAVA_LIBRARIES
484
485LOCAL_MODULE := libcore
486
487LOCAL_DROIDDOC_OPTIONS := \
488 -offlinemode \
489 -title "libcore" \
490 -proofread $(OUT_DOCS)/$(LOCAL_MODULE)-proofread.txt \
491 -todo ../$(LOCAL_MODULE)-docs-todo.html \
492 -knowntags ./libcore/known_oj_tags.txt \
493 -hdf android.whichdoc offline
494
495LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=external/doclava/res/assets/templates-sdk
496
497include $(BUILD_DROIDDOC)
498
499openjdk_java_files :=
500non_openjdk_java_files :=
501