make/Javadoc.gmk

changeset 912
a667caba1e84
parent 841
547316ea137d
child 1033
4900092f003c
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/make/Javadoc.gmk	Thu Nov 14 10:53:23 2013 +0100
     1.3 @@ -0,0 +1,1210 @@
     1.4 +# Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
     1.5 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     1.6 +#
     1.7 +# This code is free software; you can redistribute it and/or modify it
     1.8 +# under the terms of the GNU General Public License version 2 only, as
     1.9 +# published by the Free Software Foundation.  Oracle designates this
    1.10 +# particular file as subject to the "Classpath" exception as provided
    1.11 +# by Oracle in the LICENSE file that accompanied this code.
    1.12 +#
    1.13 +# This code is distributed in the hope that it will be useful, but WITHOUT
    1.14 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    1.15 +# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    1.16 +# version 2 for more details (a copy is included in the LICENSE file that
    1.17 +# accompanied this code).
    1.18 +#
    1.19 +# You should have received a copy of the GNU General Public License version
    1.20 +# 2 along with this work; if not, write to the Free Software Foundation,
    1.21 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    1.22 +#
    1.23 +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    1.24 +# or visit www.oracle.com if you need additional information or have any
    1.25 +# questions.
    1.26 +#
    1.27 +
    1.28 +include $(SPEC)
    1.29 +include MakeBase.gmk
    1.30 +
    1.31 +.SUFFIXES: # Delete the default suffixes
    1.32 +.SUFFIXES: .java
    1.33 +
    1.34 +#
    1.35 +# Definitions for $(DOCSDIR), $(MKDIR), $(BINDIR), etc.
    1.36 +#
    1.37 +
    1.38 +DOCSDIR=$(OUTPUT_ROOT)/docs
    1.39 +TEMPDIR=$(OUTPUT_ROOT)/docstemp
    1.40 +
    1.41 +JDK_SHARE_SRC=$(JDK_TOPDIR)/src/share
    1.42 +JDK_SHARE_CLASSES=$(JDK_SHARE_SRC)/classes
    1.43 +
    1.44 +JDK_IMPSRC = $(JDK_OUTPUTDIR)/impsrc
    1.45 +
    1.46 +JDK_GENSRC = $(JDK_OUTPUTDIR)/gensrc
    1.47 +
    1.48 +HOTSPOT_DOCS_IMPORT_PATH=$(HOTSPOT_OUTPUTDIR)/docs
    1.49 +
    1.50 +BUILD_NUMBER=$(JDK_BUILD_NUMBER)
    1.51 +
    1.52 +JAVADOC_CMD = $(JAVA) \
    1.53 +    -Xmx1024m \
    1.54 +    -Djava.awt.headless=true \
    1.55 +    $(NEW_JAVADOC) \
    1.56 +    -bootclasspath $(JDK_OUTPUTDIR)/classes
    1.57 +
    1.58 +# Copyright year for beginning of Java and some of the apis
    1.59 +# (Needed when creating the javadocs)
    1.60 +FIRST_COPYRIGHT_YEAR = 1993
    1.61 +DOMAPI_FIRST_COPYRIGHT_YEAR = 2005
    1.62 +MIRROR_FIRST_COPYRIGHT_YEAR = 2004
    1.63 +DOCLETAPI_FIRST_COPYRIGHT_YEAR = 1993
    1.64 +TAGLETAPI_FIRST_COPYRIGHT_YEAR = 1993
    1.65 +JDI_FIRST_COPYRIGHT_YEAR = 1999
    1.66 +JAAS_FIRST_COPYRIGHT_YEAR = 1998
    1.67 +JGSS_FIRST_COPYRIGHT_YEAR = 2000
    1.68 +SMARTCARDIO_FIRST_COPYRIGHT_YEAR = 2005
    1.69 +HTTPSERVER_FIRST_COPYRIGHT_YEAR = 2005
    1.70 +MGMT_FIRST_COPYRIGHT_YEAR = 2003
    1.71 +ATTACH_FIRST_COPYRIGHT_YEAR = 2005
    1.72 +JCONSOLE_FIRST_COPYRIGHT_YEAR = 2006
    1.73 +SCTPAPI_FIRST_COPYRIGHT_YEAR = 2009
    1.74 +TRACING_FIRST_COPYRIGHT_YEAR = 2008
    1.75 +TREEAPI_FIRST_COPYRIGHT_YEAR = 2005
    1.76 +JNLP_FIRST_COPYRIGHT_YEAR = 1998
    1.77 +PLUGIN2_FIRST_COPYRIGHT_YEAR = 2007
    1.78 +
    1.79 +# Oracle name
    1.80 +FULL_COMPANY_NAME = Oracle and/or its affiliates
    1.81 +
    1.82 +# Copyright address
    1.83 +COMPANY_ADDRESS = 500 Oracle Parkway<br>Redwood Shores, CA 94065 USA.
    1.84 +
    1.85 +# The trademark symbol
    1.86 +TRADEMARK = &trade;
    1.87 +
    1.88 +# Common copyright lines used
    1.89 +# The word "Copyright" might optionally be a link to the file cpyr.html.
    1.90 +# The first year of copyright may vary or not be available.
    1.91 +# The address to the company might be optional.
    1.92 +COMMA:= ,
    1.93 +EMPTY:=
    1.94 +SPACE:=$(EMPTY) $(EMPTY)
    1.95 +COPYRIGHT_SYMBOL = &\#x00a9;
    1.96 +# Macro to construct the copyright line
    1.97 +# (The GNU make 3.78.1 "if" conditional is broken, fixed in GNU make 3.81)
    1.98 +define CopyrightLine # optionalurl optionalfirstyear optionaladdress
    1.99 +$(if $(strip $1),<a href="$(strip $1)">Copyright</a>,Copyright) \
   1.100 +$(COPYRIGHT_SYMBOL) $(if $2,$2${COMMA},) $(COPYRIGHT_YEAR),\
   1.101 +$(FULL_COMPANY_NAME). $3 All rights reserved.
   1.102 +endef
   1.103 +
   1.104 +# Url to root of documents
   1.105 +DOCSDIR_URL = {@docroot}/$(GET2DOCSDIR)
   1.106 +
   1.107 +# Url to copyright html file
   1.108 +COPYRIGHT_URL-7 = $(DOCSDIR_URL)/legal/cpyr.html
   1.109 +# This isn't added in old build yet.
   1.110 +#COPYRIGHT_URL-8 = $(DOCSDIR_URL)/legal/cpyr.html
   1.111 +COPYRIGHT_URL = $(COPYRIGHT_URL-$(JDK_MINOR_VERSION))
   1.112 +
   1.113 +# Url to bug filing site
   1.114 +BUG_SUBMIT_URL = http://bugreport.sun.com/bugreport/
   1.115 +
   1.116 +# Common line for how to submit a bug or rfe
   1.117 +BUG_SUBMIT_LINE = <a href="$(BUG_SUBMIT_URL)">Submit a bug or feature</a>
   1.118 +
   1.119 +# Url to devdocs page
   1.120 +# Was: http://java.sun.com/javase/6/webnotes/devdocs-vs-specs.html
   1.121 +DEV_DOCS_URL-7 = http://download.oracle.com/javase/7/docs/index.html
   1.122 +DEV_DOCS_URL-8 = http://download.oracle.com/javase/8/docs/index.html
   1.123 +DEV_DOCS_URL = $(DEV_DOCS_URL-$(JDK_MINOR_VERSION))
   1.124 +DOCS_BASE_URL = http://download.oracle.com/javase/7/docs
   1.125 +
   1.126 +# Common Java trademark line
   1.127 +JAVA_TRADEMARK_LINE = Java is a trademark or registered trademark of \
   1.128 +$(FULL_COMPANY_NAME) in the US and other countries.
   1.129 +
   1.130 +#################################################################
   1.131 +# Macros:
   1.132 +
   1.133 +
   1.134 +# List of all possible directories for javadoc to look for sources
   1.135 +# NOTE: Quotes are required around sourcepath argument only on Windows.
   1.136 +# Otherwise, you get "No packages or classes specified." due
   1.137 +# to $(PATH_SEP) being interpreted as an end of
   1.138 +# command (newline or shell ; character)
   1.139 +ALL_SOURCE_DIRS = $(JDK_SHARE_CLASSES) \
   1.140 +    $(JDK_IMPSRC) \
   1.141 +    $(JDK_GENSRC) \
   1.142 +    $(JDK_OUTPUTDIR)/gendocsrc_rmic \
   1.143 +    $(JDK_TOPDIR)/src/solaris/classes \
   1.144 +    $(JDK_TOPDIR)/src/windows/classes \
   1.145 +    $(JDK_SHARE_SRC)/doc/stub
   1.146 +
   1.147 +# List of directories that actually exist
   1.148 +ALL_EXISTING_SOURCE_DIRS := $(wildcard $(ALL_SOURCE_DIRS))
   1.149 +
   1.150 +# List with classpath separator between them
   1.151 +EMPTY:=
   1.152 +SPACE:= $(EMPTY) $(EMPTY)
   1.153 +RELEASEDOCS_SOURCEPATH = \
   1.154 +    $(subst $(SPACE),$(PATH_SEP),$(strip $(ALL_SOURCE_DIRS)))
   1.155 +
   1.156 +define prep-target
   1.157 +	$(MKDIR) -p $(@D)
   1.158 +	$(RM) $@
   1.159 +endef
   1.160 +
   1.161 +# Prep for javadoc creation, assumes $@ is an index.html file
   1.162 +define prep-javadoc
   1.163 +	@if [ -f "$@" -a "$?" != "" ] ; then \
   1.164 +	  $(ECHO) "# Dependencies have changed: $?"; \
   1.165 +	fi
   1.166 +	$(RM) -r $(@D)
   1.167 +	$(MKDIR) -p $(@D)
   1.168 +endef
   1.169 +
   1.170 +# A cache of the directories in ALL_SOURCE_DIRS
   1.171 +DIRECTORY_CACHE = $(DOCSTMPDIR)/directory.cache
   1.172 +
   1.173 +# Given a list of packages, return a list of files or dirs to be dependent on
   1.174 +# (Currently only returning a list of directories)
   1.175 +define PackageDependencies # packages
   1.176 +  $(shell \
   1.177 +      if [ "$1" != "" -a -f $(DIRECTORY_CACHE) ] ; then \
   1.178 +        for p in $1 ; do \
   1.179 +          pd=`$(ECHO) $${p} | $(SED) -e 's@[.]@/@g'`; \
   1.180 +          $(CAT) $(DIRECTORY_CACHE) | $(GREP) "/$${pd}/" ; \
   1.181 +        done; \
   1.182 +      fi \
   1.183 +  )
   1.184 +endef
   1.185 +
   1.186 +# Given a list of packages, add packages that exist to $@, print summary
   1.187 +define PackageFilter # packages
   1.188 +	@if [ "$1" != "" ] ; then \
   1.189 +	  for p in $1 ; do \
   1.190 +	    pd=`$(ECHO) $${p} | $(SED) -e 's@[.]@/@g'`; \
   1.191 +	    found="false"; \
   1.192 +	    for cp in $(ALL_SOURCE_DIRS) ; do \
   1.193 +	      if [ -d $${cp}/$${pd} ] ; then \
   1.194 +	        $(ECHO) "$${p}" >> $@; \
   1.195 +	        found="true"; \
   1.196 +	        break; \
   1.197 +	      fi; \
   1.198 +	    done; \
   1.199 +	    if [ "$${found}" = "false" ] ; then \
   1.200 +	      $(ECHO) "WARNING: Package not found: $${p}"; \
   1.201 +	    fi; \
   1.202 +	  done; \
   1.203 +	fi
   1.204 +endef
   1.205 +
   1.206 +# Print out a summary of the javadoc command about to be run
   1.207 +define JavadocSummary # optionsfile packagesfile
   1.208 +	@$(ECHO) "# Summary for $@"; \
   1.209 +	$(ECHO) "# Options (`$(BASENAME) $1`):"; $(SED) -e 's@^@#   @' $1; \
   1.210 +	$(ECHO) "# Packages (`$(BASENAME) $2`):";$(SED) -e 's@^@#   @' $2
   1.211 +endef
   1.212 +
   1.213 +#
   1.214 +# Temporary directory for javadoc creation
   1.215 +#
   1.216 +DOCSTMPDIR = $(TEMPDIR)/doctmp
   1.217 +
   1.218 +#
   1.219 +# Different api directories created from root directory
   1.220 +#
   1.221 +COREAPI_DOCSDIR = $(DOCSDIR)/api
   1.222 +JDK_API_DOCSDIR = $(DOCSDIR)/jdk/api
   1.223 +JRE_API_DOCSDIR = $(DOCSDIR)/jre/api
   1.224 +PLATFORM_DOCSDIR = $(DOCSDIR)/platform
   1.225 +
   1.226 +# The non-core api javadocs need to be able to access the root of the core
   1.227 +# api directory, so for jdk/api or jre/api to get to the core api/
   1.228 +# directory we would use this:
   1.229 +JDKJRE2COREAPI = ../../api
   1.230 +
   1.231 +# Common bottom argument
   1.232 +define CommonBottom # year
   1.233 +<font size="-1"><br> $(call CopyrightLine,,$1,)</font>
   1.234 +endef
   1.235 +
   1.236 +# Common trademark bottom argument (Not sure why this is used sometimes)
   1.237 +define CommonTrademarkBottom # year
   1.238 +<font size="-1">\
   1.239 +$(BUG_SUBMIT_LINE)<br>$(JAVA_TRADEMARK_LINE)<br>\
   1.240 +$(call CopyrightLine,,$1,$(COMPANY_ADDRESS))\
   1.241 +</font>
   1.242 +endef
   1.243 +
   1.244 +# Common echo of option
   1.245 +define OptionOnly # opt
   1.246 +	$(PRINTF) "%s\n" "$1"
   1.247 +endef
   1.248 +define OptionPair # opt arg
   1.249 +	$(PRINTF) "%s '%s'\n" "$1" '$2'
   1.250 +endef
   1.251 +define OptionTrip # opt arg arg
   1.252 +	$(PRINTF) "%s '%s' '%s'\n" "$1" '$2' '$3'
   1.253 +endef
   1.254 +
   1.255 +# Core api bottom argument (with special sauce)
   1.256 +COREAPI_BOTTOM = <font size="-1"> $(BUG_SUBMIT_LINE)\
   1.257 +<br>For further API reference and developer documentation, \
   1.258 +see <a href="$(DEV_DOCS_URL)" target="_blank">Java SE Documentation</a>. \
   1.259 +That documentation contains more detailed, developer-targeted descriptions, \
   1.260 +with conceptual overviews, definitions of terms, workarounds, \
   1.261 +and working code examples.<br>\
   1.262 +$(call CopyrightLine,$(COPYRIGHT_URL),$(FIRST_COPYRIGHT_YEAR),)\
   1.263 +</font>
   1.264 +
   1.265 +# Common javadoc options used by all
   1.266 +COMMON_JAVADOCFLAGS = \
   1.267 +    -XDignore.symbol.file=true \
   1.268 +    -quiet \
   1.269 +    -use \
   1.270 +    -keywords \
   1.271 +    -Xdoclint:none \
   1.272 +    -Xprofilespath $(JDK_TOPDIR)/make/profile-rtjar-includes.txt \
   1.273 +    $(ADDITIONAL_JAVADOCFLAGS)
   1.274 +
   1.275 +ifdef OPENJDK
   1.276 +  ADDITIONAL_JAVADOCFLAGS = \
   1.277 +      -Xdocrootparent $(DOCS_BASE_URL)
   1.278 +else
   1.279 +  ADDITIONAL_JAVADOCFLAGS =
   1.280 +endif
   1.281 +
   1.282 +# Draft used for non-fcs documents
   1.283 +DRAFT_HEADER =
   1.284 +ifneq ($(MILESTONE), fcs)
   1.285 +  DRAFT_HEADER = <br><strong>DRAFT&nbsp;$(MILESTONE)-$(BUILD_NUMBER)</strong>
   1.286 +  DRAFT_BOTTOM = <br><strong>DRAFT&nbsp;$(MILESTONE)-$(BUILD_NUMBER)</strong>
   1.287 +  DRAFT_WINTITLE = $(BUILD_NUMBER)
   1.288 +  # Early access top text (not used in FCS releases)
   1.289 +  COREAPI_TOP_EARLYACCESS = \
   1.290 +<div style="background-color: \#EEEEEE"> \
   1.291 +<div style="padding: 6px; margin-top: 2px; margin-bottom: 6px; \
   1.292 +margin-left: 6px; margin-right: 6px; text-align: justify; \
   1.293 +font-size: 80%; font-family: Helvetica, Arial, sans-serif; \
   1.294 +font-weight: normal;"> \
   1.295 +Please note that the specifications and other information \
   1.296 +contained herein are not final and are subject to change. \
   1.297 +The information is being made available to you solely for purpose of \
   1.298 +evaluation. \
   1.299 +</div> </div>
   1.300 +
   1.301 +endif
   1.302 +
   1.303 +#################################################################
   1.304 +
   1.305 +#
   1.306 +# CORE_PKGS environment variable has been moved to the following file
   1.307 +#
   1.308 +include CORE_PKGS.gmk
   1.309 +
   1.310 +#
   1.311 +# Load environment variables for API package names that are not part of
   1.312 +# the Java SE platform
   1.313 +#
   1.314 +include NON_CORE_PKGS.gmk
   1.315 +
   1.316 +#################################################################
   1.317 +
   1.318 +#
   1.319 +# Default target is same as docs target, create core api and all others it can
   1.320 +#
   1.321 +
   1.322 +all: docs
   1.323 +docs: coredocs otherdocs
   1.324 +
   1.325 +#################################################################
   1.326 +# Production Targets -- USE THESE TARGETS WHEN:
   1.327 +# a) You're generating docs outside of release engineering's
   1.328 +#    standard control build.
   1.329 +# b) The docs will be pushed to the web and/or included in
   1.330 +#    the downloaded doc bundle.
   1.331 +#
   1.332 +# See: Notes.html#releaseTargets
   1.333 +# Note: Spaces precede ifdef/ifndef indents. Tabs precede target commands (!)
   1.334 +#
   1.335 +
   1.336 +sanitycheckcoredocs:
   1.337 +	@$(ECHO) ""
   1.338 +	@$(ECHO) "Building core api docs with these values:"
   1.339 +	@$(ECHO) "    BUILD_NUMBER = $(BUILD_NUMBER)"
   1.340 +	@$(ECHO) "    MILESTONE = $(MILESTONE)"
   1.341 +	@$(ECHO) ""
   1.342 +        ifeq ($(BUILD_NUMBER), b00)
   1.343 +	  @$(ECHO) "ERROR: Build number must be defined"
   1.344 +	  @$(ECHO) "MILESTONE is set to $(MILESTONE)"
   1.345 +	  @$(ECHO) ""
   1.346 +	  exit 1
   1.347 +        endif
   1.348 +
   1.349 +#############################################################
   1.350 +#
   1.351 +# coredocs
   1.352 +#
   1.353 +COREAPI_DOCTITLE = Java$(TRADEMARK) Platform, Standard Edition \
   1.354 +$(JDK_MINOR_VERSION)<br>API Specification
   1.355 +COREAPI_WINDOWTITLE = Java Platform SE $(JDK_MINOR_VERSION)
   1.356 +COREAPI_HEADER = \
   1.357 +<strong>Java$(TRADEMARK)&nbsp;Platform<br>Standard&nbsp;Ed.&nbsp;$(JDK_MINOR_VERSION)</strong>
   1.358 +
   1.359 +# Java language specification cite
   1.360 +TAG_JLS = jls:a:See <cite> \
   1.361 +The Java&trade; Language Specification</cite>:
   1.362 +
   1.363 +# Overview file for core apis
   1.364 +COREAPI_OVERVIEW = $(JDK_SHARE_CLASSES)/overview-core.html
   1.365 +
   1.366 +# The index.html, options, and packages files
   1.367 +COREAPI_INDEX_FILE = $(COREAPI_DOCSDIR)/index.html
   1.368 +COREAPI_OPTIONS_FILE = $(DOCSTMPDIR)/coredocs.options
   1.369 +COREAPI_PACKAGES_FILE = $(DOCSTMPDIR)/coredocs.packages
   1.370 +
   1.371 +coredocs: $(COREAPI_INDEX_FILE)
   1.372 +
   1.373 +# Set relative location to core api document root
   1.374 +$(COREAPI_INDEX_FILE): GET2DOCSDIR=..
   1.375 +
   1.376 +# Run javadoc if the index file is out of date or missing
   1.377 +$(COREAPI_INDEX_FILE): $(COREAPI_OPTIONS_FILE) $(COREAPI_PACKAGES_FILE)
   1.378 +	$(prep-javadoc)
   1.379 +	$(call JavadocSummary,$(COREAPI_OPTIONS_FILE),$(COREAPI_PACKAGES_FILE))
   1.380 +	$(JAVADOC_CMD) -d $(@D) \
   1.381 +	    @$(COREAPI_OPTIONS_FILE) @$(COREAPI_PACKAGES_FILE)
   1.382 +
   1.383 +# Create file with javadoc options in it
   1.384 +$(COREAPI_OPTIONS_FILE): $(COREAPI_OVERVIEW)
   1.385 +	$(prep-target)
   1.386 +	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
   1.387 +	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
   1.388 +	  $(call OptionPair,-encoding,ISO-8859-1) ; \
   1.389 +	  $(call OptionPair,-tag,beaninfo:X) ; \
   1.390 +	  $(call OptionPair,-tag,revised:X) ; \
   1.391 +	  $(call OptionPair,-tag,since.unbundled:X) ; \
   1.392 +	  $(call OptionPair,-tag,spec:X) ; \
   1.393 +	  $(call OptionPair,-tag,specdefault:X) ; \
   1.394 +	  $(call OptionPair,-tag,Note:X) ; \
   1.395 +	  $(call OptionPair,-tag,ToDo:X) ; \
   1.396 +	  $(call OptionPair,-tag,apiNote:a:API Note:) ; \
   1.397 +	  $(call OptionPair,-tag,implSpec:a:Implementation Requirements:) ; \
   1.398 +	  $(call OptionPair,-tag,implNote:a:Implementation Note:) ; \
   1.399 +	  $(call OptionPair,-tag,param) ; \
   1.400 +	  $(call OptionPair,-tag,return) ; \
   1.401 +	  $(call OptionPair,-tag,throws) ; \
   1.402 +	  $(call OptionPair,-tag,since) ; \
   1.403 +	  $(call OptionPair,-tag,version) ; \
   1.404 +	  $(call OptionPair,-tag,serialData) ; \
   1.405 +	  $(call OptionPair,-tag,factory) ; \
   1.406 +	  $(call OptionPair,-tag,see) ; \
   1.407 +	  $(call OptionPair,-tag,$(TAG_JLS)) ; \
   1.408 +	  $(call OptionOnly,-splitIndex) ; \
   1.409 +	  $(call OptionPair,-overview,$(COREAPI_OVERVIEW)) ; \
   1.410 +	  $(call OptionPair,-doctitle,$(COREAPI_DOCTITLE)) ; \
   1.411 +	  $(call OptionPair,-windowtitle,$(COREAPI_WINDOWTITLE) $(DRAFT_WINTITLE)) ; \
   1.412 +	  $(call OptionPair,-header,$(COREAPI_HEADER)$(DRAFT_HEADER)) ; \
   1.413 +	  $(call OptionPair,-bottom,$(COREAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
   1.414 +	) >> $@
   1.415 +        ifdef COREAPI_TOP_EARLYACCESS
   1.416 +	  @$(call OptionPair,-top,$(COREAPI_TOP_EARLYACCESS)) >> $@
   1.417 +        endif
   1.418 +
   1.419 +# Create a file with the package names in it
   1.420 +$(COREAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(CORE_PKGS))
   1.421 +	$(prep-target)
   1.422 +	$(call PackageFilter,$(CORE_PKGS))
   1.423 +
   1.424 +#############################################################
   1.425 +#
   1.426 +# docletapidocs
   1.427 +#
   1.428 +
   1.429 +ALL_OTHER_TARGETS += docletapidocs
   1.430 +
   1.431 +DOCLETAPI_DOCDIR := $(JDK_API_DOCSDIR)/javadoc/doclet
   1.432 +DOCLETAPI2COREAPI := ../../$(JDKJRE2COREAPI)
   1.433 +DOCLETAPI_DOCTITLE := Doclet API
   1.434 +DOCLETAPI_WINDOWTITLE := Doclet API
   1.435 +DOCLETAPI_HEADER := <strong>Doclet API</strong>
   1.436 +DOCLETAPI_BOTTOM := $(call CommonTrademarkBottom,$(DOCLETAPI_FIRST_COPYRIGHT_YEAR))
   1.437 +DOCLETAPI_GROUPNAME := Packages
   1.438 +DOCLETAPI_REGEXP := com.sun.javadoc
   1.439 +# DOCLETAPI_PKGS is located in NON_CORE_PKGS.gmk
   1.440 +
   1.441 +# The index.html, options, and packages files
   1.442 +DOCLETAPI_INDEX_FILE = $(DOCLETAPI_DOCDIR)/index.html
   1.443 +DOCLETAPI_OPTIONS_FILE = $(DOCSTMPDIR)/docletapi.options
   1.444 +DOCLETAPI_PACKAGES_FILE = $(DOCSTMPDIR)/docletapi.packages
   1.445 +
   1.446 +docletapidocs: $(DOCLETAPI_INDEX_FILE)
   1.447 +
   1.448 +# Set relative location to core api document root
   1.449 +$(DOCLETAPI_INDEX_FILE): GET2DOCSDIR=$(DOCLETAPI2COREAPI)/..
   1.450 +
   1.451 +# Run javadoc if the index file is out of date or missing
   1.452 +$(DOCLETAPI_INDEX_FILE): $(DOCLETAPI_OPTIONS_FILE) $(DOCLETAPI_PACKAGES_FILE) coredocs
   1.453 +	$(prep-javadoc)
   1.454 +	$(call JavadocSummary,$(DOCLETAPI_OPTIONS_FILE),$(DOCLETAPI_PACKAGES_FILE))
   1.455 +	$(JAVADOC_CMD) -d $(@D) \
   1.456 +	    @$(DOCLETAPI_OPTIONS_FILE) @$(DOCLETAPI_PACKAGES_FILE)
   1.457 +
   1.458 +# Create file with javadoc options in it
   1.459 +$(DOCLETAPI_OPTIONS_FILE):
   1.460 +	$(prep-target)
   1.461 +	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
   1.462 +	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
   1.463 +	  $(call OptionPair,-encoding,ascii) ; \
   1.464 +	  $(call OptionOnly,-breakiterator) ; \
   1.465 +	  $(call OptionPair,-doctitle,$(DOCLETAPI_DOCTITLE)) ; \
   1.466 +	  $(call OptionPair,-windowtitle,$(DOCLETAPI_WINDOWTITLE) $(DRAFT_WINTITLE)); \
   1.467 +	  $(call OptionPair,-header,$(DOCLETAPI_HEADER)$(DRAFT_HEADER)) ; \
   1.468 +	  $(call OptionPair,-bottom,$(DOCLETAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
   1.469 +	  $(call OptionTrip,-group,$(DOCLETAPI_GROUPNAME),$(DOCLETAPI_REGEXP)); \
   1.470 +	  $(call OptionTrip,-linkoffline,$(DOCLETAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
   1.471 +	) >> $@
   1.472 +
   1.473 +# Create a file with the package names in it
   1.474 +$(DOCLETAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(DOCLETAPI_PKGS))
   1.475 +	$(prep-target)
   1.476 +	$(call PackageFilter,$(DOCLETAPI_PKGS))
   1.477 +
   1.478 +#############################################################
   1.479 +#
   1.480 +# tagletapidocs
   1.481 +#
   1.482 +
   1.483 +ALL_OTHER_TARGETS += tagletapidocs
   1.484 +TAGLETAPI_DOCDIR := $(JDK_API_DOCSDIR)/javadoc/taglet
   1.485 +TAGLETAPI2COREAPI := ../../$(JDKJRE2COREAPI)
   1.486 +TAGLETAPI_BOTTOM := $(call CommonTrademarkBottom,$(TAGLETAPI_FIRST_COPYRIGHT_YEAR))
   1.487 +# TAGLETAPI_FILE is located in NON_CORE_PKGS.gmk
   1.488 +
   1.489 +# Temporary directory (special generation rules)
   1.490 +TAGLETAPI_TEMPDIR = $(DOCSTMPDIR)/taglets_temp
   1.491 +
   1.492 +# The index.html, options, and packages files
   1.493 +TAGLETAPI_INDEX_FILE = $(TAGLETAPI_DOCDIR)/index.html
   1.494 +TAGLETAPI_OPTIONS_FILE = $(DOCSTMPDIR)/tagletapi.options
   1.495 +TAGLETAPI_PACKAGES_FILE = $(DOCSTMPDIR)/tagletapi.packages
   1.496 +
   1.497 +tagletapidocs: $(TAGLETAPI_INDEX_FILE)
   1.498 +
   1.499 +# Set relative location to core api document root
   1.500 +$(TAGLETAPI_INDEX_FILE): GET2DOCSDIR=$(TAGLETAPI2COREAPI)/..
   1.501 +
   1.502 +# Run javadoc if the index file is out of date or missing
   1.503 +$(TAGLETAPI_INDEX_FILE): $(TAGLETAPI_OPTIONS_FILE) $(TAGLETAPI_PACKAGES_FILE) coredocs
   1.504 +	$(prep-javadoc)
   1.505 +	$(RM) -r $(TAGLETAPI_TEMPDIR)
   1.506 +	$(MKDIR) -p $(TAGLETAPI_TEMPDIR)
   1.507 +	$(call JavadocSummary,$(TAGLETAPI_OPTIONS_FILE),$(TAGLETAPI_PACKAGES_FILE))
   1.508 +	$(JAVADOC_CMD) -d $(TAGLETAPI_TEMPDIR) \
   1.509 +	    @$(TAGLETAPI_OPTIONS_FILE) @$(TAGLETAPI_PACKAGES_FILE)
   1.510 +	cp -r $(TAGLETAPI_TEMPDIR)/com $(@D)
   1.511 +	cp $(TAGLETAPI_TEMPDIR)/stylesheet.css $(@D)
   1.512 +	$(RM) -r $(TAGLETAPI_TEMPDIR)
   1.513 +
   1.514 +# Create file with javadoc options in it
   1.515 +$(TAGLETAPI_OPTIONS_FILE):
   1.516 +	$(prep-target)
   1.517 +	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
   1.518 +	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
   1.519 +	  $(call OptionPair,-encoding,ascii) ; \
   1.520 +	  $(call OptionOnly,-nonavbar) ; \
   1.521 +	  $(call OptionOnly,-noindex) ; \
   1.522 +	  $(call OptionPair,-bottom,$(TAGLETAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
   1.523 +	  $(call OptionTrip,-linkoffline,$(TAGLETAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
   1.524 +	) >> $@
   1.525 +
   1.526 +# Create a file with the package names in it
   1.527 +$(TAGLETAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(TAGLETAPI_PKGS))
   1.528 +	$(prep-target)
   1.529 +	@($(ECHO) "$(JDK_IMPSRC)/$(TAGLETAPI_FILE)" ) > $@
   1.530 +
   1.531 +#############################################################
   1.532 +#
   1.533 +# domapidocs
   1.534 +#
   1.535 +
   1.536 +ALL_OTHER_TARGETS += domapidocs
   1.537 +
   1.538 +DOMAPI_DOCDIR := $(JRE_API_DOCSDIR)/plugin/dom
   1.539 +DOMAPI2COREAPI := ../../$(JDKJRE2COREAPI)
   1.540 +DOMAPI_DOCTITLE := Common DOM API
   1.541 +DOMAPI_WINDOWTITLE := Common DOM API
   1.542 +DOMAPI_HEADER := <strong>Common DOM API</strong>
   1.543 +DOMAPI_BOTTOM := $(call CommonTrademarkBottom,$(DOMAPI_FIRST_COPYRIGHT_YEAR))
   1.544 +DOMAPI_GROUPNAME := Packages
   1.545 +DOMAPI_REGEXP := com.sun.java.browser.dom:org.w3c.dom*
   1.546 +# DOMAPI_PKGS is located in NON_CORE_PKGS.gmk
   1.547 +
   1.548 +# The index.html, options, and packages files
   1.549 +DOMAPI_INDEX_FILE = $(DOMAPI_DOCDIR)/index.html
   1.550 +DOMAPI_OPTIONS_FILE = $(DOCSTMPDIR)/domapi.options
   1.551 +DOMAPI_PACKAGES_FILE = $(DOCSTMPDIR)/domapi.packages
   1.552 +
   1.553 +domapidocs: $(DOMAPI_INDEX_FILE)
   1.554 +
   1.555 +# Set relative location to core api document root
   1.556 +$(DOMAPI_INDEX_FILE): GET2DOCSDIR=$(DOMAPI2COREAPI)/..
   1.557 +
   1.558 +# Run javadoc if the index file is out of date or missing
   1.559 +$(DOMAPI_INDEX_FILE): $(DOMAPI_OPTIONS_FILE) $(DOMAPI_PACKAGES_FILE) coredocs
   1.560 +	$(prep-javadoc)
   1.561 +	$(call JavadocSummary,$(DOMAPI_OPTIONS_FILE),$(DOMAPI_PACKAGES_FILE))
   1.562 +	$(JAVADOC_CMD) -d $(@D) \
   1.563 +	    @$(DOMAPI_OPTIONS_FILE) @$(DOMAPI_PACKAGES_FILE)
   1.564 +
   1.565 +# Create file with javadoc options in it
   1.566 +$(DOMAPI_OPTIONS_FILE):
   1.567 +	$(prep-target)
   1.568 +	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
   1.569 +	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
   1.570 +	  $(call OptionPair,-encoding,ascii) ; \
   1.571 +	  $(call OptionOnly,-splitIndex) ; \
   1.572 +	  $(call OptionPair,-doctitle,$(DOMAPI_DOCTITLE)) ; \
   1.573 +	  $(call OptionPair,-windowtitle,$(DOMAPI_WINDOWTITLE) $(DRAFT_WINTITLE)); \
   1.574 +	  $(call OptionPair,-header,$(DOMAPI_HEADER)$(DRAFT_HEADER)) ; \
   1.575 +	  $(call OptionPair,-bottom,$(DOMAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
   1.576 +	  $(call OptionTrip,-group,$(DOMAPI_GROUPNAME),$(DOMAPI_REGEXP)); \
   1.577 +	  $(call OptionTrip,-linkoffline,$(DOMAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
   1.578 +	) >> $@
   1.579 +
   1.580 +# Create a file with the package names in it
   1.581 +$(DOMAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(DOMAPI_PKGS))
   1.582 +	$(prep-target)
   1.583 +	$(call PackageFilter,$(DOMAPI_PKGS))
   1.584 +
   1.585 +#############################################################
   1.586 +#
   1.587 +# jpdadocs
   1.588 +#
   1.589 +
   1.590 +ALL_OTHER_TARGETS += jpdadocs
   1.591 +
   1.592 +jpdadocs: jdidocs jdwpdocs jvmtidocs
   1.593 +
   1.594 +#############################################################
   1.595 +#
   1.596 +# jdidocs
   1.597 +#
   1.598 +
   1.599 +ALL_OTHER_TARGETS += jdidocs
   1.600 +
   1.601 +JDI_DOCDIR := $(JDK_API_DOCSDIR)/jpda/jdi
   1.602 +JDI2COREAPI := ../../$(JDKJRE2COREAPI)
   1.603 +JDI_DOCTITLE := Java$(TRADEMARK) Debug Interface
   1.604 +JDI_WINDOWTITLE := Java Debug Interface
   1.605 +JDI_HEADER := <strong>Java Debug Interface</strong>
   1.606 +JDI_BOTTOM := $(call CommonBottom,$(JDI_FIRST_COPYRIGHT_YEAR))
   1.607 +JDI_OVERVIEW := $(JDK_SHARE_CLASSES)/jdi-overview.html
   1.608 +# JDI_PKGS is located in NON_CORE_PKGS.gmk
   1.609 +
   1.610 +# The index.html, options, and packages files
   1.611 +JDI_INDEX_FILE = $(JDI_DOCDIR)/index.html
   1.612 +JDI_OPTIONS_FILE = $(DOCSTMPDIR)/jdi.options
   1.613 +JDI_PACKAGES_FILE = $(DOCSTMPDIR)/jdi.packages
   1.614 +
   1.615 +jdidocs: $(JDI_INDEX_FILE)
   1.616 +
   1.617 +# Set relative location to core api document root
   1.618 +$(JDI_INDEX_FILE): GET2DOCSDIR=$(JDI2COREAPI)/..
   1.619 +
   1.620 +# Run javadoc if the index file is out of date or missing
   1.621 +$(JDI_INDEX_FILE): $(JDI_OPTIONS_FILE) $(JDI_PACKAGES_FILE) coredocs
   1.622 +	$(prep-javadoc)
   1.623 +	$(call JavadocSummary,$(JDI_OPTIONS_FILE),$(JDI_PACKAGES_FILE))
   1.624 +	$(JAVADOC_CMD) -d $(@D) \
   1.625 +	    @$(JDI_OPTIONS_FILE) @$(JDI_PACKAGES_FILE)
   1.626 +
   1.627 +# Create file with javadoc options in it
   1.628 +$(JDI_OPTIONS_FILE): $(JDI_OVERVIEW)
   1.629 +	$(prep-target)
   1.630 +	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
   1.631 +	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
   1.632 +	  $(call OptionPair,-encoding,ascii) ; \
   1.633 +	  $(call OptionPair,-overview,$(JDI_OVERVIEW)) ; \
   1.634 +	  $(call OptionPair,-doctitle,$(JDI_DOCTITLE)) ; \
   1.635 +	  $(call OptionPair,-windowtitle,$(JDI_WINDOWTITLE) $(DRAFT_WINTITLE)); \
   1.636 +	  $(call OptionPair,-header,$(JDI_HEADER)$(DRAFT_HEADER)) ; \
   1.637 +	  $(call OptionPair,-bottom,$(JDI_BOTTOM)$(DRAFT_BOTTOM)) ; \
   1.638 +	  $(call OptionTrip,-linkoffline,$(JDI2COREAPI),$(COREAPI_DOCSDIR)/); \
   1.639 +	) >> $@
   1.640 +
   1.641 +# Create a file with the package names in it
   1.642 +$(JDI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JDI_PKGS))
   1.643 +	$(prep-target)
   1.644 +	$(call PackageFilter,$(JDI_PKGS))
   1.645 +
   1.646 +#############################################################
   1.647 +#
   1.648 +# jdwpdocs
   1.649 +#
   1.650 +
   1.651 +ALL_OTHER_TARGETS += jdwpdocs
   1.652 +
   1.653 +JDWP_DOCDIR = $(PLATFORM_DOCSDIR)/jpda/jdwp
   1.654 +
   1.655 +jdwpdocs: $(JDWP_DOCDIR)/jdwp-protocol.html
   1.656 +$(JDWP_DOCDIR)/jdwp-protocol.html : $(JDK_OUTPUTDIR)/gensrc_jdwp_doc/jdwp-protocol.html
   1.657 +	$(MKDIR) -p $(@D)
   1.658 +	$(RM) $@
   1.659 +	$(CP) $< $@
   1.660 +
   1.661 +#############################################################
   1.662 +#
   1.663 +# jvmtidocs
   1.664 +#
   1.665 +
   1.666 +ALL_OTHER_TARGETS += jvmtidocs
   1.667 +
   1.668 +JVMTI_DOCDIR = $(PLATFORM_DOCSDIR)/jvmti
   1.669 +JVMTI_HTML = $(HOTSPOT_DIST)/docs/platform/jvmti/jvmti.html
   1.670 +
   1.671 +jvmtidocs: $(JVMTI_DOCDIR)/jvmti.html
   1.672 +$(JVMTI_DOCDIR)/jvmti.html:
   1.673 +	@$(prep-javadoc)
   1.674 +	@if [ -f $(JVMTI_HTML) ] ; then \
   1.675 +	  $(ECHO) "$(CP) $(JVMTI_HTML) $@"; \
   1.676 +	  $(CP) $(JVMTI_HTML) $@; \
   1.677 +	else \
   1.678 +	  $(ECHO) "WARNING: Generated file does not exist: $(JVMTI_HTML)"; \
   1.679 +	fi
   1.680 +
   1.681 +#############################################################
   1.682 +#
   1.683 +# jaasdocs
   1.684 +#
   1.685 +
   1.686 +ALL_OTHER_TARGETS += jaasdocs
   1.687 +
   1.688 +JAAS_DOCDIR := $(JRE_API_DOCSDIR)/security/jaas/spec
   1.689 +JAAS2COREAPI := ../../../$(JDKJRE2COREAPI)
   1.690 +JAAS_DOCTITLE := Java$(TRADEMARK) Authentication and Authorization Service
   1.691 +JAAS_WINDOWTITLE := Java Authentication and Authorization Service
   1.692 +JAAS_HEADER := <strong>Java Authentication and Authorization Service</strong>
   1.693 +JAAS_BOTTOM := $(call CommonBottom,$(JAAS_FIRST_COPYRIGHT_YEAR))
   1.694 +# JAAS_PKGS is located in NON_CORE_PKGS.gmk
   1.695 +JAAS_OVERVIEW := $(JDK_SHARE_CLASSES)/com/sun/security/auth/jaas-overview.html
   1.696 +
   1.697 +# The index.html, options, and packages files
   1.698 +JAAS_INDEX_FILE = $(JAAS_DOCDIR)/index.html
   1.699 +JAAS_OPTIONS_FILE = $(DOCSTMPDIR)/jaas.options
   1.700 +JAAS_PACKAGES_FILE = $(DOCSTMPDIR)/jaas.packages
   1.701 +
   1.702 +jaasdocs: $(JAAS_INDEX_FILE)
   1.703 +
   1.704 +# Set relative location to core api document root
   1.705 +$(JAAS_INDEX_FILE): GET2DOCSDIR=$(JAAS2COREAPI)/..
   1.706 +
   1.707 +# Run javadoc if the index file is out of date or missing
   1.708 +$(JAAS_INDEX_FILE): $(JAAS_OPTIONS_FILE) $(JAAS_PACKAGES_FILE) coredocs
   1.709 +	$(prep-javadoc)
   1.710 +	$(call JavadocSummary,$(JAAS_OPTIONS_FILE),$(JAAS_PACKAGES_FILE))
   1.711 +	$(JAVADOC_CMD) -d $(@D) \
   1.712 +	    @$(JAAS_OPTIONS_FILE) @$(JAAS_PACKAGES_FILE)
   1.713 +
   1.714 +# Create file with javadoc options in it
   1.715 +$(JAAS_OPTIONS_FILE): $(JAAS_OVERVIEW)
   1.716 +	$(prep-target)
   1.717 +	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
   1.718 +	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
   1.719 +	  $(call OptionPair,-encoding,ascii) ; \
   1.720 +	  $(call OptionPair,-overview,$(JAAS_OVERVIEW)) ; \
   1.721 +	  $(call OptionPair,-doctitle,$(JAAS_DOCTITLE)) ; \
   1.722 +	  $(call OptionPair,-windowtitle,$(JAAS_WINDOWTITLE) $(DRAFT_WINTITLE)); \
   1.723 +	  $(call OptionPair,-header,$(JAAS_HEADER)$(DRAFT_HEADER)) ; \
   1.724 +	  $(call OptionPair,-bottom,$(JAAS_BOTTOM)$(DRAFT_BOTTOM)) ; \
   1.725 +	  $(call OptionTrip,-linkoffline,$(JAAS2COREAPI),$(COREAPI_DOCSDIR)/); \
   1.726 +	) >> $@
   1.727 +
   1.728 +# Create a file with the package names in it
   1.729 +$(JAAS_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JAAS_PKGS))
   1.730 +	$(prep-target)
   1.731 +	$(call PackageFilter,$(JAAS_PKGS))
   1.732 +
   1.733 +#############################################################
   1.734 +#
   1.735 +# jgssdocs
   1.736 +#
   1.737 +
   1.738 +ALL_OTHER_TARGETS += jgssdocs
   1.739 +
   1.740 +JGSS_DOCDIR := $(JRE_API_DOCSDIR)/security/jgss/spec
   1.741 +JGSS2COREAPI := ../../../$(JDKJRE2COREAPI)
   1.742 +JGSS_DOCTITLE := Java$(TRADEMARK) GSS-API Utilities
   1.743 +JGSS_WINDOWTITLE := Java GSS-API Utilities
   1.744 +JGSS_HEADER := <strong>Java GSS-API Utilities</strong>
   1.745 +JGSS_BOTTOM := $(call CommonBottom,$(JGSS_FIRST_COPYRIGHT_YEAR))
   1.746 +JGSS_OVERVIEW := $(JDK_SHARE_CLASSES)/com/sun/security/jgss/jgss-overview.html
   1.747 +# JGSS_PKGS is located in NON_CORE_PKGS.gmk
   1.748 +
   1.749 +# The index.html, options, and packages files
   1.750 +JGSS_INDEX_FILE = $(JGSS_DOCDIR)/index.html
   1.751 +JGSS_OPTIONS_FILE = $(DOCSTMPDIR)/jgss.options
   1.752 +JGSS_PACKAGES_FILE = $(DOCSTMPDIR)/jgss.packages
   1.753 +
   1.754 +jgssdocs: $(JGSS_INDEX_FILE)
   1.755 +
   1.756 +# Set relative location to core api document root
   1.757 +$(JGSS_INDEX_FILE): GET2DOCSDIR=$(JGSS2COREAPI)/..
   1.758 +
   1.759 +# Run javadoc if the index file is out of date or missing
   1.760 +$(JGSS_INDEX_FILE): $(JGSS_OPTIONS_FILE) $(JGSS_PACKAGES_FILE) coredocs
   1.761 +	$(prep-javadoc)
   1.762 +	$(call JavadocSummary,$(JGSS_OPTIONS_FILE),$(JGSS_PACKAGES_FILE))
   1.763 +	$(JAVADOC_CMD) -d $(@D) \
   1.764 +	    @$(JGSS_OPTIONS_FILE) @$(JGSS_PACKAGES_FILE)
   1.765 +
   1.766 +# Create file with javadoc options in it
   1.767 +$(JGSS_OPTIONS_FILE): $(JGSS_OVERVIEW)
   1.768 +	$(prep-target)
   1.769 +	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
   1.770 +	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
   1.771 +	  $(call OptionPair,-encoding,ascii) ; \
   1.772 +	  $(call OptionOnly,-nodeprecatedlist) ; \
   1.773 +	  $(call OptionPair,-overview,$(JGSS_OVERVIEW)) ; \
   1.774 +	  $(call OptionPair,-doctitle,$(JGSS_DOCTITLE)) ; \
   1.775 +	  $(call OptionPair,-windowtitle,$(JGSS_WINDOWTITLE) $(DRAFT_WINTITLE)); \
   1.776 +	  $(call OptionPair,-header,$(JGSS_HEADER)$(DRAFT_HEADER)) ; \
   1.777 +	  $(call OptionPair,-bottom,$(JGSS_BOTTOM)$(DRAFT_BOTTOM)) ; \
   1.778 +	  $(call OptionTrip,-linkoffline,$(JGSS2COREAPI),$(COREAPI_DOCSDIR)/); \
   1.779 +	) >> $@
   1.780 +
   1.781 +# Create a file with the package names in it
   1.782 +$(JGSS_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JGSS_PKGS))
   1.783 +	$(prep-target)
   1.784 +	$(call PackageFilter,$(JGSS_PKGS))
   1.785 +
   1.786 +#############################################################
   1.787 +#
   1.788 +# smartcardiodocs
   1.789 +#
   1.790 +
   1.791 +ALL_OTHER_TARGETS += smartcardiodocs
   1.792 +
   1.793 +SMARTCARDIO_DOCDIR := $(JRE_API_DOCSDIR)/security/smartcardio/spec
   1.794 +SMARTCARDIO2COREAPI := ../../../$(JDKJRE2COREAPI)
   1.795 +SMARTCARDIO_DOCTITLE := Java$(TRADEMARK) Smart Card I/O
   1.796 +SMARTCARDIO_WINDOWTITLE := Java Smart Card I/O
   1.797 +SMARTCARDIO_HEADER := <strong>Java Smart Card I/O</strong>
   1.798 +SMARTCARDIO_BOTTOM := $(call CommonBottom,$(SMARTCARDIO_FIRST_COPYRIGHT_YEAR))
   1.799 +# SMARTCARDIO_PKGS is located in NON_CORE_PKGS.gmk
   1.800 +
   1.801 +# The index.html, options, and packages files
   1.802 +SMARTCARDIO_INDEX_FILE = $(SMARTCARDIO_DOCDIR)/index.html
   1.803 +SMARTCARDIO_OPTIONS_FILE = $(DOCSTMPDIR)/smartcardio.options
   1.804 +SMARTCARDIO_PACKAGES_FILE = $(DOCSTMPDIR)/smartcardio.packages
   1.805 +
   1.806 +smartcardiodocs: $(SMARTCARDIO_INDEX_FILE)
   1.807 +
   1.808 +# Set relative location to core api document root
   1.809 +$(SMARTCARDIO_INDEX_FILE): GET2DOCSDIR=$(SMARTCARDIO2COREAPI)/..
   1.810 +
   1.811 +# Run javadoc if the index file is out of date or missing
   1.812 +$(SMARTCARDIO_INDEX_FILE): $(SMARTCARDIO_OPTIONS_FILE) $(SMARTCARDIO_PACKAGES_FILE) coredocs
   1.813 +	$(prep-javadoc)
   1.814 +	$(call JavadocSummary,$(SMARTCARDIO_OPTIONS_FILE),$(SMARTCARDIO_PACKAGES_FILE))
   1.815 +	$(JAVADOC_CMD) -d $(@D) \
   1.816 +	    @$(SMARTCARDIO_OPTIONS_FILE) @$(SMARTCARDIO_PACKAGES_FILE)
   1.817 +
   1.818 +# Create file with javadoc options in it
   1.819 +$(SMARTCARDIO_OPTIONS_FILE):
   1.820 +	$(prep-target)
   1.821 +	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
   1.822 +	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
   1.823 +	  $(call OptionPair,-encoding,ascii) ; \
   1.824 +	  $(call OptionOnly,-nodeprecatedlist) ; \
   1.825 +	  $(call OptionPair,-doctitle,$(SMARTCARDIO_DOCTITLE)) ; \
   1.826 +	  $(call OptionPair,-windowtitle,$(SMARTCARDIO_WINDOWTITLE) $(DRAFT_WINTITLE)); \
   1.827 +	  $(call OptionPair,-header,$(SMARTCARDIO_HEADER)$(DRAFT_HEADER)); \
   1.828 +	  $(call OptionPair,-bottom,$(SMARTCARDIO_BOTTOM)$(DRAFT_BOTTOM)); \
   1.829 +	  $(call OptionTrip,-linkoffline,$(SMARTCARDIO2COREAPI),$(COREAPI_DOCSDIR)/); \
   1.830 +	) >> $@
   1.831 +
   1.832 +# Create a file with the package names in it
   1.833 +$(SMARTCARDIO_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(SMARTCARDIO_PKGS))
   1.834 +	$(prep-target)
   1.835 +	$(call PackageFilter,$(SMARTCARDIO_PKGS))
   1.836 +
   1.837 +#############################################################
   1.838 +#
   1.839 +# httpserverdocs
   1.840 +#
   1.841 +
   1.842 +ALL_OTHER_TARGETS += httpserverdocs
   1.843 +
   1.844 +HTTPSERVER_DOCDIR := $(JRE_API_DOCSDIR)/net/httpserver/spec
   1.845 +HTTPSERVER2COREAPI := ../../../$(JDKJRE2COREAPI)
   1.846 +HTTPSERVER_DOCTITLE := Java$(TRADEMARK) HTTP Server
   1.847 +HTTPSERVER_WINDOWTITLE := Java HTTP Server
   1.848 +HTTPSERVER_HEADER := <strong>Java HTTP Server</strong>
   1.849 +HTTPSERVER_BOTTOM := $(call CommonBottom,$(HTTPSERVER_FIRST_COPYRIGHT_YEAR))
   1.850 +# HTTPSERVER_PKGS is located in NON_CORE_PKGS.gmk
   1.851 +
   1.852 +HTTPSERVER_INDEX_HTML = $(HTTPSERVER_DOCDIR)/index.html
   1.853 +HTTPSERVER_OPTIONS_FILE = $(DOCSTMPDIR)/httpserver.options
   1.854 +HTTPSERVER_PACKAGES_FILE = $(DOCSTMPDIR)/httpserver.packages
   1.855 +
   1.856 +httpserverdocs: $(HTTPSERVER_INDEX_HTML)
   1.857 +
   1.858 +# Set relative location to core api document root
   1.859 +$(HTTPSERVER_INDEX_HTML): GET2DOCSDIR=$(HTTPSERVER2COREAPI)/..
   1.860 +
   1.861 +# Run javadoc if the index file is out of date or missing
   1.862 +$(HTTPSERVER_INDEX_HTML): $(HTTPSERVER_OPTIONS_FILE) $(HTTPSERVER_PACKAGES_FILE) coredocs
   1.863 +	$(prep-javadoc)
   1.864 +	$(call JavadocSummary,$(HTTPSERVER_OPTIONS_FILE),$(HTTPSERVER_PACKAGES_FILE))
   1.865 +	$(JAVADOC_CMD) -d $(@D) \
   1.866 +	    @$(HTTPSERVER_OPTIONS_FILE) @$(HTTPSERVER_PACKAGES_FILE)
   1.867 +
   1.868 +# Create file with javadoc options in it
   1.869 +$(HTTPSERVER_OPTIONS_FILE):
   1.870 +	$(prep-target)
   1.871 +	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
   1.872 +	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
   1.873 +	  $(call OptionPair,-encoding,ascii) ; \
   1.874 +	  $(call OptionOnly,-nodeprecatedlist) ; \
   1.875 +	  $(call OptionPair,-doctitle,$(HTTPSERVER_DOCTITLE)) ; \
   1.876 +	  $(call OptionPair,-windowtitle,$(HTTPSERVER_WINDOWTITLE) $(DRAFT_WINTITLE)); \
   1.877 +	  $(call OptionPair,-header,$(HTTPSERVER_HEADER)$(DRAFT_HEADER)); \
   1.878 +	  $(call OptionPair,-bottom,$(HTTPSERVER_BOTTOM)$(DRAFT_BOTTOM)); \
   1.879 +	  $(call OptionTrip,-linkoffline,$(HTTPSERVER2COREAPI),$(COREAPI_DOCSDIR)/); \
   1.880 +	) >> $@
   1.881 +
   1.882 +# Create a file with the package names in it
   1.883 +$(HTTPSERVER_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(HTTPSERVER_PKGS))
   1.884 +	$(prep-target)
   1.885 +	$(call PackageFilter,$(HTTPSERVER_PKGS))
   1.886 +
   1.887 +#############################################################
   1.888 +#
   1.889 +# mgmtdocs
   1.890 +#
   1.891 +
   1.892 +ALL_OTHER_TARGETS += mgmtdocs
   1.893 +
   1.894 +MGMT_DOCDIR := $(JRE_API_DOCSDIR)/management/extension
   1.895 +MGMT2COREAPI := ../../$(JDKJRE2COREAPI)
   1.896 +JVM_MIB_NAME := JVM-MANAGEMENT-MIB.mib
   1.897 +JVM_MIB_SRC := $(JDK_TOPDIR)/src/closed/share/classes/sun/management/snmp/$(JVM_MIB_NAME)
   1.898 +MGMT_DOCTITLE := Monitoring and Management Interface for the Java$(TRADEMARK) Platform
   1.899 +MGMT_WINDOWTITLE := Monitoring and Management Interface for the Java Platform
   1.900 +MGMT_HEADER := <strong>Monitoring and Management Interface for the Java Platform</strong>
   1.901 +MGMT_BOTTOM := $(call CommonBottom,$(MGMT_FIRST_COPYRIGHT_YEAR))
   1.902 +MGMT_OVERVIEW := $(JDK_SHARE_CLASSES)/com/sun/management/mgmt-overview.html
   1.903 +# MGMT_PKGS is located in NON_CORE_PKGS.gmk
   1.904 +
   1.905 +# The index.html, options, and packages files
   1.906 +MGMT_INDEX_FILE = $(MGMT_DOCDIR)/index.html
   1.907 +MGMT_OPTIONS_FILE = $(DOCSTMPDIR)/mgmt.options
   1.908 +MGMT_PACKAGES_FILE = $(DOCSTMPDIR)/mgmt.packages
   1.909 +
   1.910 +mgmtdocs: $(MGMT_INDEX_FILE)
   1.911 +
   1.912 +# Set relative location to core api document root
   1.913 +$(MGMT_INDEX_FILE): GET2DOCSDIR=$(MGMT2COREAPI)/..
   1.914 +
   1.915 +# Run javadoc if the index file is out of date or missing
   1.916 +$(MGMT_INDEX_FILE): $(MGMT_OPTIONS_FILE) $(MGMT_PACKAGES_FILE) coredocs
   1.917 +	$(prep-javadoc)
   1.918 +	@if [ -f $(JVM_MIB_SRC) ] ; then \
   1.919 +	  $(ECHO) "$(CP) $(JVM_MIB_SRC) $(@D)/.."; \
   1.920 +	  $(CP) $(JVM_MIB_SRC) $(@D)/.. ; \
   1.921 +	else \
   1.922 +	  $(ECHO) "WARNING: File $(JVM_MIB_NAME) not available."; \
   1.923 +	fi
   1.924 +	$(call JavadocSummary,$(MGMT_OPTIONS_FILE),$(MGMT_PACKAGES_FILE))
   1.925 +	$(JAVADOC_CMD) -d $(@D) \
   1.926 +	    @$(MGMT_OPTIONS_FILE) @$(MGMT_PACKAGES_FILE)
   1.927 +
   1.928 +# Create file with javadoc options in it
   1.929 +$(MGMT_OPTIONS_FILE): $(MGMT_OVERVIEW)
   1.930 +	$(prep-target)
   1.931 +	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
   1.932 +	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
   1.933 +	  $(call OptionPair,-encoding,ascii) ; \
   1.934 +	  $(call OptionOnly,-nodeprecatedlist) ; \
   1.935 +	  $(call OptionPair,-overview,$(MGMT_OVERVIEW)) ; \
   1.936 +	  $(call OptionPair,-doctitle,$(MGMT_DOCTITLE)) ; \
   1.937 +	  $(call OptionPair,-windowtitle,$(MGMT_WINDOWTITLE) $(DRAFT_WINTITLE)); \
   1.938 +	  $(call OptionPair,-header,$(MGMT_HEADER)$(DRAFT_HEADER)) ; \
   1.939 +	  $(call OptionPair,-bottom,$(MGMT_BOTTOM)$(DRAFT_BOTTOM)) ; \
   1.940 +	  $(call OptionTrip,-linkoffline,$(MGMT2COREAPI),$(COREAPI_DOCSDIR)/); \
   1.941 +	) >> $@
   1.942 +
   1.943 +# Create a file with the package names in it
   1.944 +$(MGMT_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(MGMT_PKGS))
   1.945 +	$(prep-target)
   1.946 +	$(call PackageFilter,$(MGMT_PKGS))
   1.947 +
   1.948 +#############################################################
   1.949 +#
   1.950 +# attachdocs
   1.951 +#
   1.952 +
   1.953 +ALL_OTHER_TARGETS += attachdocs
   1.954 +
   1.955 +ATTACH_DOCDIR := $(JDK_API_DOCSDIR)/attach/spec
   1.956 +ATTACH2COREAPI := ../../$(JDKJRE2COREAPI)
   1.957 +ATTACH_DOCTITLE := Attach API
   1.958 +ATTACH_WINDOWTITLE := Attach API
   1.959 +ATTACH_HEADER := <strong>Attach API</strong>
   1.960 +ATTACH_BOTTOM := $(call CommonBottom,$(ATTACH_FIRST_COPYRIGHT_YEAR))
   1.961 +# ATTACH_PKGS is located in NON_CORE_PKGS.gmk
   1.962 +
   1.963 +ATTACH_INDEX_HTML = $(ATTACH_DOCDIR)/index.html
   1.964 +ATTACH_OPTIONS_FILE = $(DOCSTMPDIR)/attach.options
   1.965 +ATTACH_PACKAGES_FILE = $(DOCSTMPDIR)/attach.packages
   1.966 +
   1.967 +attachdocs: $(ATTACH_INDEX_HTML)
   1.968 +
   1.969 +# Set relative location to core api document root
   1.970 +$(ATTACH_INDEX_HTML): GET2DOCSDIR=$(ATTACH2COREAPI)/..
   1.971 +
   1.972 +# Run javadoc if the index file is out of date or missing
   1.973 +$(ATTACH_INDEX_HTML): $(ATTACH_OPTIONS_FILE) $(ATTACH_PACKAGES_FILE) coredocs
   1.974 +	$(prep-javadoc)
   1.975 +	$(call JavadocSummary,$(ATTACH_OPTIONS_FILE),$(ATTACH_PACKAGES_FILE))
   1.976 +	$(JAVADOC_CMD) -d $(@D) \
   1.977 +	    @$(ATTACH_OPTIONS_FILE) @$(ATTACH_PACKAGES_FILE)
   1.978 +
   1.979 +# Create file with javadoc options in it
   1.980 +$(ATTACH_OPTIONS_FILE):
   1.981 +	$(prep-target)
   1.982 +	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
   1.983 +	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
   1.984 +	  $(call OptionPair,-encoding,ascii) ; \
   1.985 +	  $(call OptionOnly,-nodeprecatedlist) ; \
   1.986 +	  $(call OptionPair,-doctitle,$(ATTACH_DOCTITLE)) ; \
   1.987 +	  $(call OptionPair,-windowtitle,$(ATTACH_WINDOWTITLE) $(DRAFT_WINTITLE)); \
   1.988 +	  $(call OptionPair,-header,$(ATTACH_HEADER)$(DRAFT_HEADER)) ; \
   1.989 +	  $(call OptionPair,-bottom,$(ATTACH_BOTTOM)$(DRAFT_BOTTOM)) ; \
   1.990 +	  $(call OptionTrip,-linkoffline,$(ATTACH2COREAPI),$(COREAPI_DOCSDIR)/); \
   1.991 +	) >> $@
   1.992 +
   1.993 +# Create a file with the package names in it
   1.994 +$(ATTACH_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(ATTACH_PKGS))
   1.995 +	$(prep-target)
   1.996 +	$(call PackageFilter,$(ATTACH_PKGS))
   1.997 +
   1.998 +#############################################################
   1.999 +#
  1.1000 +# jconsoledocs
  1.1001 +#
  1.1002 +
  1.1003 +ALL_OTHER_TARGETS += jconsoledocs
  1.1004 +
  1.1005 +JCONSOLE_DOCDIR := $(JDK_API_DOCSDIR)/jconsole/spec
  1.1006 +JCONSOLE2COREAPI := ../../$(JDKJRE2COREAPI)
  1.1007 +JCONSOLE_DOCTITLE := JConsole API
  1.1008 +JCONSOLE_WINDOWTITLE := JConsole API
  1.1009 +JCONSOLE_HEADER := <strong>JConsole API</strong>
  1.1010 +JCONSOLE_BOTTOM := $(call CommonBottom,$(JCONSOLE_FIRST_COPYRIGHT_YEAR))
  1.1011 +# JCONSOLE_PKGS is located in NON_CORE_PKGS.gmk
  1.1012 +
  1.1013 +JCONSOLE_INDEX_HTML = $(JCONSOLE_DOCDIR)/index.html
  1.1014 +JCONSOLE_OPTIONS_FILE = $(DOCSTMPDIR)/jconsole.options
  1.1015 +JCONSOLE_PACKAGES_FILE = $(DOCSTMPDIR)/jconsole.packages
  1.1016 +
  1.1017 +jconsoledocs: $(JCONSOLE_INDEX_HTML)
  1.1018 +
  1.1019 +# Set relative location to core api document root
  1.1020 +$(JCONSOLE_INDEX_HTML): GET2DOCSDIR=$(JCONSOLE2COREAPI)/..
  1.1021 +
  1.1022 +# Run javadoc if the index file is out of date or missing
  1.1023 +$(JCONSOLE_INDEX_HTML): $(JCONSOLE_OPTIONS_FILE) $(JCONSOLE_PACKAGES_FILE) coredocs
  1.1024 +	$(prep-javadoc)
  1.1025 +	$(call JavadocSummary,$(JCONSOLE_OPTIONS_FILE),$(JCONSOLE_PACKAGES_FILE))
  1.1026 +	$(JAVADOC_CMD) -d $(@D) \
  1.1027 +	    @$(JCONSOLE_OPTIONS_FILE) @$(JCONSOLE_PACKAGES_FILE)
  1.1028 +
  1.1029 +# Create file with javadoc options in it
  1.1030 +$(JCONSOLE_OPTIONS_FILE):
  1.1031 +	$(prep-target)
  1.1032 +	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
  1.1033 +	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
  1.1034 +	  $(call OptionPair,-encoding,ascii) ; \
  1.1035 +	  $(call OptionOnly,-nodeprecatedlist) ; \
  1.1036 +	  $(call OptionPair,-doctitle,$(JCONSOLE_DOCTITLE)) ; \
  1.1037 +	  $(call OptionPair,-windowtitle,$(JCONSOLE_WINDOWTITLE) $(DRAFT_WINTITLE)); \
  1.1038 +	  $(call OptionPair,-header,$(JCONSOLE_HEADER)$(DRAFT_HEADER)) ; \
  1.1039 +	  $(call OptionPair,-bottom,$(JCONSOLE_BOTTOM)$(DRAFT_BOTTOM)) ; \
  1.1040 +	  $(call OptionTrip,-linkoffline,$(JCONSOLE2COREAPI),$(COREAPI_DOCSDIR)/); \
  1.1041 +	) >> $@
  1.1042 +
  1.1043 +# Create a file with the package names in it
  1.1044 +$(JCONSOLE_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JCONSOLE_PKGS))
  1.1045 +	$(prep-target)
  1.1046 +	$(call PackageFilter,$(JCONSOLE_PKGS))
  1.1047 +
  1.1048 +#############################################################
  1.1049 +#
  1.1050 +# treeapidocs
  1.1051 +#
  1.1052 +
  1.1053 +ALL_OTHER_TARGETS += treeapidocs
  1.1054 +
  1.1055 +TREEAPI_DOCDIR := $(JDK_API_DOCSDIR)/javac/tree
  1.1056 +TREEAPI2COREAPI := ../../$(JDKJRE2COREAPI)
  1.1057 +TREEAPI_DOCTITLE := Compiler Tree API
  1.1058 +TREEAPI_WINDOWTITLE := Compiler Tree API
  1.1059 +TREEAPI_HEADER := <strong>Compiler Tree API</strong>
  1.1060 +TREEAPI_BOTTOM := $(call CommonBottom,$(TREEAPI_FIRST_COPYRIGHT_YEAR))
  1.1061 +TREEAPI_GROUPNAME := Packages
  1.1062 +TREEAPI_REGEXP := com.sun.source.*
  1.1063 +# TREEAPI_PKGS is located in NON_CORE_PKGS.gmk
  1.1064 +
  1.1065 +TREEAPI_INDEX_HTML = $(TREEAPI_DOCDIR)/index.html
  1.1066 +TREEAPI_OPTIONS_FILE = $(DOCSTMPDIR)/treeapi.options
  1.1067 +TREEAPI_PACKAGES_FILE = $(DOCSTMPDIR)/treeapi.packages
  1.1068 +
  1.1069 +treeapidocs: $(TREEAPI_INDEX_HTML)
  1.1070 +
  1.1071 +# Set relative location to core api document root
  1.1072 +$(TREEAPI_INDEX_HTML): GET2DOCSDIR=$(TREEAPI2COREAPI)/..
  1.1073 +
  1.1074 +# Run javadoc if the index file is out of date or missing
  1.1075 +$(TREEAPI_INDEX_HTML): $(TREEAPI_OPTIONS_FILE) $(TREEAPI_PACKAGES_FILE) coredocs
  1.1076 +	$(prep-javadoc)
  1.1077 +	$(call JavadocSummary,$(TREEAPI_OPTIONS_FILE),$(TREEAPI_PACKAGES_FILE))
  1.1078 +	$(JAVADOC_CMD) -d $(@D) \
  1.1079 +	    @$(TREEAPI_OPTIONS_FILE) @$(TREEAPI_PACKAGES_FILE)
  1.1080 +
  1.1081 +# Create file with javadoc options in it
  1.1082 +$(TREEAPI_OPTIONS_FILE):
  1.1083 +	$(prep-target)
  1.1084 +	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
  1.1085 +	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
  1.1086 +	  $(call OptionPair,-encoding,ascii) ; \
  1.1087 +	  $(call OptionPair,-doctitle,$(TREEAPI_DOCTITLE)) ; \
  1.1088 +	  $(call OptionPair,-windowtitle,$(TREEAPI_WINDOWTITLE) $(DRAFT_WINTITLE)); \
  1.1089 +	  $(call OptionPair,-header,$(TREEAPI_HEADER)$(DRAFT_HEADER)) ; \
  1.1090 +	  $(call OptionPair,-tag,$(TAG_JLS)) ; \
  1.1091 +	  $(call OptionPair,-bottom,$(TREEAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
  1.1092 +	  $(call OptionTrip,-group,$(TREEAPI_GROUPNAME),$(TREEAPI_REGEXP)); \
  1.1093 +	  $(call OptionTrip,-linkoffline,$(TREEAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
  1.1094 +	) >> $@
  1.1095 +
  1.1096 +# Create a file with the package names in it
  1.1097 +$(TREEAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(TREEAPI_PKGS))
  1.1098 +	$(prep-target)
  1.1099 +	$(call PackageFilter,$(TREEAPI_PKGS))
  1.1100 +
  1.1101 +#############################################################
  1.1102 +#
  1.1103 +# sctpdocs
  1.1104 +#
  1.1105 +
  1.1106 +ALL_OTHER_TARGETS += sctpdocs
  1.1107 +
  1.1108 +SCTPAPI_DOCDIR := $(JRE_API_DOCSDIR)/nio/sctp/spec
  1.1109 +SCTPAPI2COREAPI := ../../../$(JDKJRE2COREAPI)
  1.1110 +SCTPAPI_DOCTITLE := SCTP API
  1.1111 +SCTPAPI_WINDOWTITLE := SCTP API
  1.1112 +SCTPAPI_HEADER := <strong>SCTP API</strong>
  1.1113 +SCTPAPI_BOTTOM := $(call CommonBottom,$(SCTPAPI_FIRST_COPYRIGHT_YEAR))
  1.1114 +# SCTPAPI_PKGS is located in NON_CORE_PKGS.gmk
  1.1115 +
  1.1116 +SCTPAPI_INDEX_HTML = $(SCTPAPI_DOCDIR)/index.html
  1.1117 +SCTPAPI_OPTIONS_FILE = $(DOCSTMPDIR)/sctp.options
  1.1118 +SCTPAPI_PACKAGES_FILE = $(DOCSTMPDIR)/sctp.packages
  1.1119 +
  1.1120 +sctpdocs: $(SCTPAPI_INDEX_HTML)
  1.1121 +
  1.1122 +# Set relative location to core api document root
  1.1123 +$(SCTPAPI_INDEX_HTML): GET2DOCSDIR=$(SCTPAPI2COREAPI)/..
  1.1124 +
  1.1125 +# Run javadoc if the index file is out of date or missing
  1.1126 +$(SCTPAPI_INDEX_HTML): $(SCTPAPI_OPTIONS_FILE) $(SCTPAPI_PACKAGES_FILE) coredocs
  1.1127 +	$(prep-javadoc)
  1.1128 +	$(call JavadocSummary,$(SCTPAPI_OPTIONS_FILE),$(SCTPAPI_PACKAGES_FILE))
  1.1129 +	$(JAVADOC_CMD) -d $(@D) \
  1.1130 +	    @$(SCTPAPI_OPTIONS_FILE) @$(SCTPAPI_PACKAGES_FILE)
  1.1131 +
  1.1132 +# Create file with javadoc options in it
  1.1133 +$(SCTPAPI_OPTIONS_FILE):
  1.1134 +	$(prep-target)
  1.1135 +	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
  1.1136 +	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
  1.1137 +	  $(call OptionPair,-encoding,ascii) ; \
  1.1138 +	  $(call OptionOnly,-nodeprecatedlist) ; \
  1.1139 +	  $(call OptionPair,-doctitle,$(SCTPAPI_DOCTITLE)) ; \
  1.1140 +	  $(call OptionPair,-windowtitle,$(SCTPAPI_WINDOWTITLE) $(DRAFT_WINTITLE)); \
  1.1141 +	  $(call OptionPair,-header,$(SCTPAPI_HEADER)$(DRAFT_HEADER)) ; \
  1.1142 +	  $(call OptionPair,-bottom,$(SCTPAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
  1.1143 +	  $(call OptionTrip,-linkoffline,$(SCTPAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
  1.1144 +	) >> $@
  1.1145 +
  1.1146 +# Create a file with the package names in it
  1.1147 +$(SCTPAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(SCTPAPI_PKGS))
  1.1148 +	$(prep-target)
  1.1149 +	$(call PackageFilter,$(SCTPAPI_PKGS))
  1.1150 +
  1.1151 +#############################################################
  1.1152 +#
  1.1153 +# Get a cache of all the directories
  1.1154 +
  1.1155 +$(DIRECTORY_CACHE): $(ALL_EXISTING_SOURCE_DIRS)
  1.1156 +	$(prep-target)
  1.1157 +	@for cp in $(ALL_EXISTING_SOURCE_DIRS) ; do \
  1.1158 +	  $(ECHO) "$(FIND) $${cp} -type f >> $@"; \
  1.1159 +	  $(FIND) $${cp} -type f >> $@; \
  1.1160 +	done
  1.1161 +
  1.1162 +#############################################################
  1.1163 +#release version of core packages ########
  1.1164 +
  1.1165 +# The rel-coredocs and rel-docs targets were added by Eric Armstrong. rel-coredocs
  1.1166 +# assumes the kind of large, 32-bit machine used in the javapubs group's docs-release
  1.1167 +# process. It specifies memory settings accordingly to maximize performance.
  1.1168 +#
  1.1169 +# The performance settings, like the sanity check, are most important for the core
  1.1170 +# docs--the platform APIs. Running javadoc on those APIs takes a significant amount
  1.1171 +# of time and memory. Setting the initial heap size as large as possible is important
  1.1172 +# to prevent thrashing as the heap grows. Setting the maximum as large as necessary
  1.1173 +# is also important to keep the job from failing.
  1.1174 +#
  1.1175 +#    -J-Xmx512 sets a maximum of 512, which became necessary in 6.0
  1.1176 +#    -J-Xms256 sets starting size to 256 (default is 8)
  1.1177 +#
  1.1178 +# rel-coredocs also includes a sanity check to help ensure that BUILD_NUMBER and
  1.1179 +# MILESTONE are specified properly when docs are built outside of the normal release
  1.1180 +# engineering process, with the intention of releasing them on the web or in a downloaded
  1.1181 +# docs bundle. (When invoked in release engineering's control build, the values are always
  1.1182 +# set properly. But when the targets are run by themselves, they default to b00 and
  1.1183 +# "internal"--which silently sabotage the result of a build that can take many hours
  1.1184 +# to complete.
  1.1185 +
  1.1186 +# Maximize performance and ensure that build number & milestone are set.
  1.1187 +
  1.1188 +rel-coredocs: sanitycheckcoredocs
  1.1189 +	$(MAKE) coredocs
  1.1190 +
  1.1191 +rel-docs: rel-coredocs $(ALL_OTHER_TARGETS)
  1.1192 +#
  1.1193 +# end of production targets
  1.1194 +
  1.1195 +otherdocs: $(ALL_OTHER_TARGETS)
  1.1196 +
  1.1197 +clean:
  1.1198 +	$(RM) -r $(DOCSDIR) $(DOCSTMPDIR)
  1.1199 +
  1.1200 +#############################################################
  1.1201 +# DEBUG TARGET
  1.1202 +# List the values defined in the makefile hierarchy, to make sure everything
  1.1203 +# is set properly, and to help identify values we can use instead of making new ones.
  1.1204 +# (Most of them come from common/shared/Defs.gmk)
  1.1205 +#
  1.1206 +# Notes:
  1.1207 +# * BUILD_NUMBER defaults to b00 if not set on command line with BUILD_NUMBER=<value>
  1.1208 +# * MILESTONE defaults to internal unless set to beta, rc, or fcs on command line
  1.1209 +#
  1.1210 +
  1.1211 +#############################################################
  1.1212 +.PHONY: all docs coredocs rel-docs otherdocs rel-coredocs \
  1.1213 +    sanitycheckcoredocs $(ALL_OTHER_TARGETS)

mercurial