164d85d0d827489c514f6aec075482563c80cda73Joe Onorato#
264d85d0d827489c514f6aec075482563c80cda73Joe Onorato# Copyright (C) 2008 The Android Open Source Project
364d85d0d827489c514f6aec075482563c80cda73Joe Onorato#
464d85d0d827489c514f6aec075482563c80cda73Joe Onorato# Licensed under the Apache License, Version 2.0 (the "License");
564d85d0d827489c514f6aec075482563c80cda73Joe Onorato# you may not use this file except in compliance with the License.
664d85d0d827489c514f6aec075482563c80cda73Joe Onorato# You may obtain a copy of the License at
764d85d0d827489c514f6aec075482563c80cda73Joe Onorato#
864d85d0d827489c514f6aec075482563c80cda73Joe Onorato#      http://www.apache.org/licenses/LICENSE-2.0
964d85d0d827489c514f6aec075482563c80cda73Joe Onorato#
1064d85d0d827489c514f6aec075482563c80cda73Joe Onorato# Unless required by applicable law or agreed to in writing, software
1164d85d0d827489c514f6aec075482563c80cda73Joe Onorato# distributed under the License is distributed on an "AS IS" BASIS,
1264d85d0d827489c514f6aec075482563c80cda73Joe Onorato# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1364d85d0d827489c514f6aec075482563c80cda73Joe Onorato# See the License for the specific language governing permissions and
1464d85d0d827489c514f6aec075482563c80cda73Joe Onorato# limitations under the License.
1564d85d0d827489c514f6aec075482563c80cda73Joe Onorato#
1664d85d0d827489c514f6aec075482563c80cda73Joe Onorato
1764d85d0d827489c514f6aec075482563c80cda73Joe Onorato##
1864d85d0d827489c514f6aec075482563c80cda73Joe Onorato##
1964d85d0d827489c514f6aec075482563c80cda73Joe Onorato## Common to both droiddoc and javadoc
2064d85d0d827489c514f6aec075482563c80cda73Joe Onorato##
2164d85d0d827489c514f6aec075482563c80cda73Joe Onorato##
2264d85d0d827489c514f6aec075482563c80cda73Joe Onorato
2364d85d0d827489c514f6aec075482563c80cda73Joe OnoratoLOCAL_IS_HOST_MODULE := $(call true-or-empty,$(LOCAL_IS_HOST_MODULE))
2464d85d0d827489c514f6aec075482563c80cda73Joe Onoratoifeq ($(LOCAL_IS_HOST_MODULE),true)
2513d6950ef806f86f25490385c95364d886cc3a60Ying Wangmy_prefix := HOST_
2688b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Projectelse
2713d6950ef806f86f25490385c95364d886cc3a60Ying Wangmy_prefix := TARGET_
2888b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Projectendif
2988b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project
3088b607994a148f4af5bffee163e39ce8296750c6The Android Open Source ProjectLOCAL_MODULE_CLASS := $(strip $(LOCAL_MODULE_CLASS))
3188b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Projectifndef LOCAL_MODULE_CLASS
3288b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project$(error $(LOCAL_PATH): LOCAL_MODULE_CLASS not defined)
3388b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Projectendif
3488b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project
3588b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Projectfull_src_files := $(patsubst %,$(LOCAL_PATH)/%,$(LOCAL_SRC_FILES))
3688b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Projectout_dir := $(OUT_DOCS)/$(LOCAL_MODULE)
3764d85d0d827489c514f6aec075482563c80cda73Joe Onoratofull_target := $(call doc-timestamp-for,$(LOCAL_MODULE))
3888b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project
3988b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Projectifeq ($(LOCAL_DROIDDOC_SOURCE_PATH),)
4088b607994a148f4af5bffee163e39ce8296750c6The Android Open Source ProjectLOCAL_DROIDDOC_SOURCE_PATH := $(LOCAL_PATH)
4188b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Projectendif
4288b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project
4388b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Projectifeq ($(LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR),)
44d77248ac7e1c05d7e5c16dd6df7e2067a2791e7bDirk DoughertyLOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR := $(SRC_DROIDDOC_DIR)/$(LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR)
4588b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Projectendif
4688b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project
4788b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Projectifeq ($(LOCAL_DROIDDOC_ASSET_DIR),)
4888b607994a148f4af5bffee163e39ce8296750c6The Android Open Source ProjectLOCAL_DROIDDOC_ASSET_DIR := assets
4988b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Projectendif
5088b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Projectifeq ($(LOCAL_DROIDDOC_CUSTOM_ASSET_DIR),)
5188b607994a148f4af5bffee163e39ce8296750c6The Android Open Source ProjectLOCAL_DROIDDOC_CUSTOM_ASSET_DIR := assets
5288b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Projectendif
5388b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project
54584d8adbea958ef8dca0e3d85b0beeff4d70d5feYing Wangifeq ($(LOCAL_IS_HOST_MODULE),true)
55584d8adbea958ef8dca0e3d85b0beeff4d70d5feYing Wang$(full_target): PRIVATE_BOOTCLASSPATH :=
56ad7809bba403f3cf4f8bc5d859a2f9b959159f82Ying Wangfull_java_libs := $(addprefix $(HOST_OUT_JAVA_LIBRARIES)/,\
57ad7809bba403f3cf4f8bc5d859a2f9b959159f82Ying Wang  $(addsuffix $(COMMON_JAVA_PACKAGE_SUFFIX),$(LOCAL_JAVA_LIBRARIES)))
58ad7809bba403f3cf4f8bc5d859a2f9b959159f82Ying Wangfull_java_lib_deps := $(full_java_libs)
59ad7809bba403f3cf4f8bc5d859a2f9b959159f82Ying Wang
60584d8adbea958ef8dca0e3d85b0beeff4d70d5feYing Wangelse
6188b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project
623f45b3c35c41d71288dc4939cb48456dda26f8c0Ying Wangifneq ($(LOCAL_SDK_VERSION),)
630ec188f1c197709cf61d0de647b5220539b97322Ying Wang  ifeq ($(LOCAL_SDK_VERSION)$(TARGET_BUILD_APPS),current)
640ec188f1c197709cf61d0de647b5220539b97322Ying Wang    # Use android_stubs_current if LOCAL_SDK_VERSION is current and no TARGET_BUILD_APPS.
653f45b3c35c41d71288dc4939cb48456dda26f8c0Ying Wang    LOCAL_JAVA_LIBRARIES := android_stubs_current $(LOCAL_JAVA_LIBRARIES)
66584d8adbea958ef8dca0e3d85b0beeff4d70d5feYing Wang    $(full_target): PRIVATE_BOOTCLASSPATH := $(call java-lib-files, android_stubs_current)
67efb935800bce97abe0938270ba4c9cd3af6fb7b9Ying Wang  else ifeq ($(LOCAL_SDK_VERSION)$(TARGET_BUILD_APPS),system_current)
68efb935800bce97abe0938270ba4c9cd3af6fb7b9Ying Wang    LOCAL_JAVA_LIBRARIES := android_system_stubs_current $(LOCAL_JAVA_LIBRARIES)
69efb935800bce97abe0938270ba4c9cd3af6fb7b9Ying Wang    $(full_target): PRIVATE_BOOTCLASSPATH := $(call java-lib-files, android_system_stubs_current)
703f45b3c35c41d71288dc4939cb48456dda26f8c0Ying Wang  else
713f45b3c35c41d71288dc4939cb48456dda26f8c0Ying Wang    LOCAL_JAVA_LIBRARIES := sdk_v$(LOCAL_SDK_VERSION) $(LOCAL_JAVA_LIBRARIES)
72584d8adbea958ef8dca0e3d85b0beeff4d70d5feYing Wang    $(full_target): PRIVATE_BOOTCLASSPATH := $(call java-lib-files, sdk_v$(LOCAL_SDK_VERSION))
733f45b3c35c41d71288dc4939cb48456dda26f8c0Ying Wang  endif
743f45b3c35c41d71288dc4939cb48456dda26f8c0Ying Wangelse
7514c975b830aa764272bb76aa207b5dbf15fe422eYing Wang  LOCAL_JAVA_LIBRARIES := core-libart ext framework $(LOCAL_JAVA_LIBRARIES)
76b1dafb18045274e8a7ec45360010ddf824483dcfBrian Carlstrom  $(full_target): PRIVATE_BOOTCLASSPATH := $(call java-lib-files, core-libart)
773f45b3c35c41d71288dc4939cb48456dda26f8c0Ying Wangendif  # LOCAL_SDK_VERSION
783f45b3c35c41d71288dc4939cb48456dda26f8c0Ying WangLOCAL_JAVA_LIBRARIES := $(sort $(LOCAL_JAVA_LIBRARIES))
793f45b3c35c41d71288dc4939cb48456dda26f8c0Ying Wang
80ad7809bba403f3cf4f8bc5d859a2f9b959159f82Ying Wangfull_java_libs := $(call java-lib-files,$(LOCAL_JAVA_LIBRARIES)) $(LOCAL_CLASSPATH)
81ad7809bba403f3cf4f8bc5d859a2f9b959159f82Ying Wangfull_java_lib_deps := $(call java-lib-deps,$(LOCAL_JAVA_LIBRARIES)) $(LOCAL_CLASSPATH)
828578cab0667cf3a3da263d838e29b07060af9ba7Ying Wangendif # !LOCAL_IS_HOST_MODULE
8388b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project
8488b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project$(full_target): PRIVATE_CLASSPATH := $(subst $(space),:,$(full_java_libs))
8588b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project
8688b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project
87fb790877a0dc0c1c10e368e00af28114d2f2a967Ying Wangintermediates.COMMON := $(call local-intermediates-dir,COMMON)
8864d85d0d827489c514f6aec075482563c80cda73Joe Onorato
8964d85d0d827489c514f6aec075482563c80cda73Joe Onorato$(full_target): PRIVATE_SOURCE_PATH := $(call normalize-path-list,$(LOCAL_DROIDDOC_SOURCE_PATH))
9088b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project$(full_target): PRIVATE_JAVA_FILES := $(filter %.java,$(full_src_files))
9188b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project$(full_target): PRIVATE_JAVA_FILES += $(addprefix $($(my_prefix)OUT_COMMON_INTERMEDIATES)/, $(filter %.java,$(LOCAL_INTERMEDIATE_SOURCES)))
92fb790877a0dc0c1c10e368e00af28114d2f2a967Ying Wang$(full_target): PRIVATE_SOURCE_INTERMEDIATES_DIR := $(intermediates.COMMON)/src
93fb790877a0dc0c1c10e368e00af28114d2f2a967Ying Wang$(full_target): PRIVATE_SRC_LIST_FILE := $(intermediates.COMMON)/droiddoc-src-list
9464d85d0d827489c514f6aec075482563c80cda73Joe Onorato
9564d85d0d827489c514f6aec075482563c80cda73Joe Onoratoifneq ($(strip $(LOCAL_ADDITIONAL_JAVA_DIR)),)
9664d85d0d827489c514f6aec075482563c80cda73Joe Onorato$(full_target): PRIVATE_ADDITIONAL_JAVA_DIR := $(LOCAL_ADDITIONAL_JAVA_DIR)
9764d85d0d827489c514f6aec075482563c80cda73Joe Onoratoendif
9864d85d0d827489c514f6aec075482563c80cda73Joe Onorato
9988b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project$(full_target): PRIVATE_OUT_DIR := $(out_dir)
10088b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project$(full_target): PRIVATE_DROIDDOC_OPTIONS := $(LOCAL_DROIDDOC_OPTIONS)
10164d85d0d827489c514f6aec075482563c80cda73Joe Onorato
10264d85d0d827489c514f6aec075482563c80cda73Joe Onorato# Lists the input files for the doc build into a text file
10364d85d0d827489c514f6aec075482563c80cda73Joe Onorato# suitable for the @ syntax of javadoc.
10464d85d0d827489c514f6aec075482563c80cda73Joe Onorato# $(1): the file to create
10564d85d0d827489c514f6aec075482563c80cda73Joe Onorato# $(2): files to include
10664d85d0d827489c514f6aec075482563c80cda73Joe Onorato# $(3): list of directories to search for java files in
10764d85d0d827489c514f6aec075482563c80cda73Joe Onoratodefine prepare-doc-source-list
10864d85d0d827489c514f6aec075482563c80cda73Joe Onorato$(hide) mkdir -p $(dir $(1))
10964d85d0d827489c514f6aec075482563c80cda73Joe Onorato$(call dump-words-to-file, $(2), $(1))
11064d85d0d827489c514f6aec075482563c80cda73Joe Onorato$(hide) for d in $(3) ; do find $$d -name '*.java' >> $(1) 2> /dev/null ; done ; true
11164d85d0d827489c514f6aec075482563c80cda73Joe Onoratoendef
11264d85d0d827489c514f6aec075482563c80cda73Joe Onorato
11364d85d0d827489c514f6aec075482563c80cda73Joe Onoratoifeq (a,b)
11464d85d0d827489c514f6aec075482563c80cda73Joe Onorato$(full_target): PRIVATE_PROFILING_OPTIONS := \
11564d85d0d827489c514f6aec075482563c80cda73Joe Onorato    -J-agentlib:jprofilerti=port=8849 -J-Xbootclasspath/a:/Applications/jprofiler5/bin/agent.jar
11664d85d0d827489c514f6aec075482563c80cda73Joe Onoratoendif
11764d85d0d827489c514f6aec075482563c80cda73Joe Onorato
11864d85d0d827489c514f6aec075482563c80cda73Joe Onorato
11964d85d0d827489c514f6aec075482563c80cda73Joe Onoratoifneq ($(strip $(LOCAL_DROIDDOC_USE_STANDARD_DOCLET)),true)
12064d85d0d827489c514f6aec075482563c80cda73Joe Onorato##
12164d85d0d827489c514f6aec075482563c80cda73Joe Onorato##
12264d85d0d827489c514f6aec075482563c80cda73Joe Onorato## droiddoc only
12364d85d0d827489c514f6aec075482563c80cda73Joe Onorato##
12464d85d0d827489c514f6aec075482563c80cda73Joe Onorato##
12564d85d0d827489c514f6aec075482563c80cda73Joe Onorato
12664d85d0d827489c514f6aec075482563c80cda73Joe Onoratodroiddoc_templates := \
12764d85d0d827489c514f6aec075482563c80cda73Joe Onorato    $(shell find $(LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR) -type f)
12864d85d0d827489c514f6aec075482563c80cda73Joe Onorato
12964d85d0d827489c514f6aec075482563c80cda73Joe Onoratodroiddoc := \
13064d85d0d827489c514f6aec075482563c80cda73Joe Onorato	$(HOST_JDK_TOOLS_JAR) \
1311034455a245bf4d6f0c5d8b32f754a686d46af83Ben Dodson	$(HOST_OUT_JAVA_LIBRARIES)/doclava$(COMMON_JAVA_PACKAGE_SUFFIX)
13264d85d0d827489c514f6aec075482563c80cda73Joe Onorato
1331034455a245bf4d6f0c5d8b32f754a686d46af83Ben Dodson$(full_target): PRIVATE_DOCLETPATH := $(HOST_OUT_JAVA_LIBRARIES)/jsilver$(COMMON_JAVA_PACKAGE_SUFFIX):$(HOST_OUT_JAVA_LIBRARIES)/doclava$(COMMON_JAVA_PACKAGE_SUFFIX)
13464d85d0d827489c514f6aec075482563c80cda73Joe Onorato$(full_target): PRIVATE_CURRENT_BUILD := -hdf page.build $(BUILD_ID)-$(BUILD_NUMBER)
13564d85d0d827489c514f6aec075482563c80cda73Joe Onorato$(full_target): PRIVATE_CURRENT_TIME :=  -hdf page.now "$(shell date "+%d %b %Y %k:%M")"
13688b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project$(full_target): PRIVATE_CUSTOM_TEMPLATE_DIR := $(LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR)
13788b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project$(full_target): PRIVATE_IN_CUSTOM_ASSET_DIR := $(LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR)/$(LOCAL_DROIDDOC_CUSTOM_ASSET_DIR)
13888b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project$(full_target): PRIVATE_OUT_ASSET_DIR := $(out_dir)/$(LOCAL_DROIDDOC_ASSET_DIR)
13988b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project$(full_target): PRIVATE_OUT_CUSTOM_ASSET_DIR := $(out_dir)/$(LOCAL_DROIDDOC_CUSTOM_ASSET_DIR)
1403bb5d8bca77592fcbbf8e40fba561eaadb4f91c6Ying Wang
1413bb5d8bca77592fcbbf8e40fba561eaadb4f91c6Ying Wanghtml_dir_files :=
14288b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Projectifneq ($(strip $(LOCAL_DROIDDOC_HTML_DIR)),)
1439a0e98ac478d8ca61011556e22af13e05d94f8e0Bill Napier$(full_target): PRIVATE_DROIDDOC_HTML_DIR := -htmldir $(LOCAL_PATH)/$(LOCAL_DROIDDOC_HTML_DIR)
1443bb5d8bca77592fcbbf8e40fba561eaadb4f91c6Ying Wanghtml_dir_files := $(shell find $(LOCAL_PATH)/$(LOCAL_DROIDDOC_HTML_DIR) -type f)
14588b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Projectelse
1463bb5d8bca77592fcbbf8e40fba561eaadb4f91c6Ying Wang$(full_target): PRIVATE_DROIDDOC_HTML_DIR :=
14788b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Projectendif
1489c2336e073cef13a5237965dc7d5fcdb0091be34Dirk Doughertyifneq ($(strip $(LOCAL_ADDITIONAL_HTML_DIR)),)
1499c2336e073cef13a5237965dc7d5fcdb0091be34Dirk Dougherty$(full_target): PRIVATE_ADDITIONAL_HTML_DIR := -htmldir2 $(LOCAL_PATH)/$(LOCAL_ADDITIONAL_HTML_DIR)
1509c2336e073cef13a5237965dc7d5fcdb0091be34Dirk Doughertyelse
1519c2336e073cef13a5237965dc7d5fcdb0091be34Dirk Dougherty$(full_target): PRIVATE_ADDITIONAL_HTML_DIR :=
1529c2336e073cef13a5237965dc7d5fcdb0091be34Dirk Doughertyendif
15388b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project
15464d85d0d827489c514f6aec075482563c80cda73Joe Onorato# TODO: not clear if this is used any more
15564d85d0d827489c514f6aec075482563c80cda73Joe Onorato$(full_target): PRIVATE_LOCAL_PATH := $(LOCAL_PATH)
15688b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project
157f58df74f6afdac727aa059824adc688ef08b602cJoe Onorato$(full_target): $(full_src_files) $(droiddoc_templates) $(droiddoc) $(html_dir_files) $(full_java_lib_deps) $(LOCAL_ADDITIONAL_DEPENDENCIES)
15888b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project	@echo Docs droiddoc: $(PRIVATE_OUT_DIR)
159b8a256a1facdae5b803335daf3c02af159749ab4Ying Wang	$(hide) mkdir -p $(dir $@)
16064d85d0d827489c514f6aec075482563c80cda73Joe Onorato	$(call prepare-doc-source-list,$(PRIVATE_SRC_LIST_FILE),$(PRIVATE_JAVA_FILES), \
16164d85d0d827489c514f6aec075482563c80cda73Joe Onorato			$(PRIVATE_SOURCE_INTERMEDIATES_DIR) $(PRIVATE_ADDITIONAL_JAVA_DIR))
16288b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project	$(hide) ( \
16364d85d0d827489c514f6aec075482563c80cda73Joe Onorato		javadoc \
16434e3e170e4f9c2f5e4bf7721de8562b189c3c16bYing Wang                -encoding UTF-8 \
16588b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project                \@$(PRIVATE_SRC_LIST_FILE) \
16686175d2fd50ef1649cc779234189d3098537fce2Dominic Binks                -J-Xmx1280m \
1675b6b46459cc5873aec9d5aca5f08416d8025ab76Ying Wang                -XDignore.symbol.file \
16888b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project                $(PRIVATE_PROFILING_OPTIONS) \
16988b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project                -quiet \
1701034455a245bf4d6f0c5d8b32f754a686d46af83Ben Dodson                -doclet com.google.doclava.Doclava \
17188b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project                -docletpath $(PRIVATE_DOCLETPATH) \
17288b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project                -templatedir $(PRIVATE_CUSTOM_TEMPLATE_DIR) \
17388b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project                $(PRIVATE_DROIDDOC_HTML_DIR) \
1749c2336e073cef13a5237965dc7d5fcdb0091be34Dirk Dougherty                $(PRIVATE_ADDITIONAL_HTML_DIR) \
1757b142da3ce3849e56134666566df3f04f033c57dYing Wang                $(addprefix -bootclasspath ,$(PRIVATE_BOOTCLASSPATH)) \
17688b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project                $(addprefix -classpath ,$(PRIVATE_CLASSPATH)) \
17788b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project                -sourcepath $(PRIVATE_SOURCE_PATH)$(addprefix :,$(PRIVATE_CLASSPATH)) \
17888b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project                -d $(PRIVATE_OUT_DIR) \
17988b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project                $(PRIVATE_CURRENT_BUILD) $(PRIVATE_CURRENT_TIME) \
18088b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project                $(PRIVATE_DROIDDOC_OPTIONS) \
18188b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project        && touch -f $@ \
18288b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project    ) || (rm -rf $(PRIVATE_OUT_DIR) $(PRIVATE_SRC_LIST_FILE); exit 45)
18388b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project
18464d85d0d827489c514f6aec075482563c80cda73Joe Onorato
18564d85d0d827489c514f6aec075482563c80cda73Joe Onorato
18664d85d0d827489c514f6aec075482563c80cda73Joe Onoratoelse
18764d85d0d827489c514f6aec075482563c80cda73Joe Onorato##
18864d85d0d827489c514f6aec075482563c80cda73Joe Onorato##
18964d85d0d827489c514f6aec075482563c80cda73Joe Onorato## standard doclet only
19064d85d0d827489c514f6aec075482563c80cda73Joe Onorato##
19164d85d0d827489c514f6aec075482563c80cda73Joe Onorato##
19264d85d0d827489c514f6aec075482563c80cda73Joe Onorato$(full_target): $(full_src_files) $(full_java_lib_deps)
19364d85d0d827489c514f6aec075482563c80cda73Joe Onorato	@echo Docs javadoc: $(PRIVATE_OUT_DIR)
194b8a256a1facdae5b803335daf3c02af159749ab4Ying Wang	@mkdir -p $(dir $@)
19564d85d0d827489c514f6aec075482563c80cda73Joe Onorato	$(call prepare-doc-source-list,$(PRIVATE_SRC_LIST_FILE),$(PRIVATE_JAVA_FILES), \
19664d85d0d827489c514f6aec075482563c80cda73Joe Onorato			$(PRIVATE_SOURCE_INTERMEDIATES_DIR) $(PRIVATE_ADDITIONAL_JAVA_DIR))
19764d85d0d827489c514f6aec075482563c80cda73Joe Onorato	$(hide) ( \
19864d85d0d827489c514f6aec075482563c80cda73Joe Onorato		javadoc \
19934e3e170e4f9c2f5e4bf7721de8562b189c3c16bYing Wang                -encoding UTF-8 \
20064d85d0d827489c514f6aec075482563c80cda73Joe Onorato                $(PRIVATE_DROIDDOC_OPTIONS) \
20164d85d0d827489c514f6aec075482563c80cda73Joe Onorato                \@$(PRIVATE_SRC_LIST_FILE) \
20224de9707485f8621dd22d3cc843db1d7218a744aYing Wang                -J-Xmx1024m \
2035b6b46459cc5873aec9d5aca5f08416d8025ab76Ying Wang                -XDignore.symbol.file \
20464d85d0d827489c514f6aec075482563c80cda73Joe Onorato                $(PRIVATE_PROFILING_OPTIONS) \
20564d85d0d827489c514f6aec075482563c80cda73Joe Onorato                $(addprefix -classpath ,$(PRIVATE_CLASSPATH)) \
206f122d41b7511fd1b21162d1968a9aac5ff31a059Narayan Kamath                $(addprefix -bootclasspath ,$(PRIVATE_BOOTCLASSPATH)) \
20764d85d0d827489c514f6aec075482563c80cda73Joe Onorato                -sourcepath $(PRIVATE_SOURCE_PATH)$(addprefix :,$(PRIVATE_CLASSPATH)) \
20864d85d0d827489c514f6aec075482563c80cda73Joe Onorato                -d $(PRIVATE_OUT_DIR) \
20964d85d0d827489c514f6aec075482563c80cda73Joe Onorato                -quiet \
21064d85d0d827489c514f6aec075482563c80cda73Joe Onorato        && touch -f $@ \
21164d85d0d827489c514f6aec075482563c80cda73Joe Onorato    ) || (rm -rf $(PRIVATE_OUT_DIR) $(PRIVATE_SRC_LIST_FILE); exit 45)
21264d85d0d827489c514f6aec075482563c80cda73Joe Onorato
21364d85d0d827489c514f6aec075482563c80cda73Joe Onorato
21464d85d0d827489c514f6aec075482563c80cda73Joe Onoratoendif
21564d85d0d827489c514f6aec075482563c80cda73Joe Onorato##
21664d85d0d827489c514f6aec075482563c80cda73Joe Onorato##
21764d85d0d827489c514f6aec075482563c80cda73Joe Onorato## Common to both droiddoc and javadoc
21864d85d0d827489c514f6aec075482563c80cda73Joe Onorato##
21964d85d0d827489c514f6aec075482563c80cda73Joe Onorato##
22064d85d0d827489c514f6aec075482563c80cda73Joe Onorato
22164d85d0d827489c514f6aec075482563c80cda73Joe Onorato
22288b607994a148f4af5bffee163e39ce8296750c6The Android Open Source ProjectALL_DOCS += $(full_target)
22388b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project
22488b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project.PHONY: $(LOCAL_MODULE)-docs
22588b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project$(LOCAL_MODULE)-docs : $(full_target)
22688b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project
227aaa5d11cb3c67a345572496197c688c3e48cd670Joe Onoratoifeq ($(strip $(LOCAL_UNINSTALLABLE_MODULE)),)
228aaa5d11cb3c67a345572496197c688c3e48cd670Joe Onorato
22988b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project# Define a rule to create a zip of these docs.
23088b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Projectout_zip := $(OUT_DOCS)/$(LOCAL_MODULE)-docs.zip
23188b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project$(out_zip): PRIVATE_DOCS_DIR := $(out_dir)
23288b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project$(out_zip): $(full_target)
23388b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project	@echo Package docs: $@
23488b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project	@rm -f $@
23588b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project	@mkdir -p $(dir $@)
23688b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project	$(hide) ( F=$$(pwd)/$@ ; cd $(PRIVATE_DOCS_DIR) && zip -rq $$F * )
23788b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project
23836b89ff93fe1fe55351564c258023255d70b6378Joe Onorato$(LOCAL_MODULE)-docs.zip : $(out_zip)
23936b89ff93fe1fe55351564c258023255d70b6378Joe Onorato
24088b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project$(call dist-for-goals,docs,$(out_zip))
241aaa5d11cb3c67a345572496197c688c3e48cd670Joe Onorato
242aaa5d11cb3c67a345572496197c688c3e48cd670Joe Onoratoendif
243