1 # Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
   2 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   3 #
   4 # This code is free software; you can redistribute it and/or modify it
   5 # under the terms of the GNU General Public License version 2 only, as
   6 # published by the Free Software Foundation.  Oracle designates this
   7 # particular file as subject to the "Classpath" exception as provided
   8 # by Oracle in the LICENSE file that accompanied this code.
   9 #
  10 # This code is distributed in the hope that it will be useful, but WITHOUT
  11 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  12 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  13 # version 2 for more details (a copy is included in the LICENSE file that
  14 # accompanied this code).
  15 #
  16 # You should have received a copy of the GNU General Public License version
  17 # 2 along with this work; if not, write to the Free Software Foundation,
  18 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  19 #
  20 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  21 # or visit www.oracle.com if you need additional information or have any
  22 # questions.
  23 #
  24 
  25 include $(SPEC)
  26 include MakeBase.gmk
  27 
  28 .SUFFIXES: # Delete the default suffixes
  29 .SUFFIXES: .java
  30 
  31 #
  32 # Definitions for $(DOCSDIR), $(MKDIR), $(BINDIR), etc.
  33 #
  34 
  35 DOCSDIR=$(OUTPUT_ROOT)/docs
  36 TEMPDIR=$(OUTPUT_ROOT)/docstemp
  37 
  38 JDK_SHARE_SRC=$(JDK_TOPDIR)/src/share
  39 JDK_SHARE_CLASSES=$(JDK_SHARE_SRC)/classes
  40 
  41 JDK_IMPSRC = $(JDK_OUTPUTDIR)/impsrc
  42 
  43 JDK_GENSRC = $(JDK_OUTPUTDIR)/gensrc
  44 
  45 HOTSPOT_DOCS_IMPORT_PATH=$(HOTSPOT_OUTPUTDIR)/docs
  46 
  47 BUILD_NUMBER=$(JDK_BUILD_NUMBER)
  48 
  49 JAVADOC_CMD = $(JAVA) \
  50     -Xmx1024m \
  51     -Djava.awt.headless=true \
  52     $(NEW_JAVADOC) \
  53     -bootclasspath $(JDK_OUTPUTDIR)/classes
  54 
  55 # Copyright year for beginning of Java and some of the apis
  56 # (Needed when creating the javadocs)
  57 FIRST_COPYRIGHT_YEAR = 1993
  58 DOMAPI_FIRST_COPYRIGHT_YEAR = 2005
  59 MIRROR_FIRST_COPYRIGHT_YEAR = 2004
  60 DOCLETAPI_FIRST_COPYRIGHT_YEAR = 1993
  61 TAGLETAPI_FIRST_COPYRIGHT_YEAR = 1993
  62 JDI_FIRST_COPYRIGHT_YEAR = 1999
  63 JAAS_FIRST_COPYRIGHT_YEAR = 1998
  64 JGSS_FIRST_COPYRIGHT_YEAR = 2000
  65 SMARTCARDIO_FIRST_COPYRIGHT_YEAR = 2005
  66 HTTPSERVER_FIRST_COPYRIGHT_YEAR = 2005
  67 MGMT_FIRST_COPYRIGHT_YEAR = 2003
  68 ATTACH_FIRST_COPYRIGHT_YEAR = 2005
  69 JCONSOLE_FIRST_COPYRIGHT_YEAR = 2006
  70 SCTPAPI_FIRST_COPYRIGHT_YEAR = 2009
  71 TRACING_FIRST_COPYRIGHT_YEAR = 2008
  72 TREEAPI_FIRST_COPYRIGHT_YEAR = 2005
  73 NASHORNAPI_FIRST_COPYRIGHT_YEAR = 2014
  74 JNLP_FIRST_COPYRIGHT_YEAR = 1998
  75 PLUGIN2_FIRST_COPYRIGHT_YEAR = 2007
  76 JDKNET_FIRST_COPYRIGHT_YEAR = 2014
  77 JACCESSAPI_FIRST_COPYRIGHT_YEAR = 2002
  78 
  79 # Oracle name
  80 FULL_COMPANY_NAME = Oracle and/or its affiliates
  81 
  82 # Copyright address
  83 COMPANY_ADDRESS = 500 Oracle Parkway<br>Redwood Shores, CA 94065 USA.
  84 
  85 # The trademark symbol
  86 TRADEMARK = &trade;
  87 
  88 # Common copyright lines used
  89 # The word "Copyright" might optionally be a link to the file cpyr.html.
  90 # The first year of copyright may vary or not be available.
  91 # The address to the company might be optional.
  92 COMMA:= ,
  93 EMPTY:=
  94 SPACE:=$(EMPTY) $(EMPTY)
  95 COPYRIGHT_SYMBOL = &\#x00a9;
  96 # Macro to construct the copyright line
  97 # (The GNU make 3.78.1 "if" conditional is broken, fixed in GNU make 3.81)
  98 define CopyrightLine # optionalurl optionalfirstyear optionaladdress
  99 $(if $(strip $1),<a href="$(strip $1)">Copyright</a>,Copyright) \
 100 $(COPYRIGHT_SYMBOL) $(if $2,$2${COMMA},) $(COPYRIGHT_YEAR),\
 101 $(FULL_COMPANY_NAME). $3 All rights reserved.
 102 endef
 103 
 104 # Url to root of documents
 105 DOCSDIR_URL = {@docroot}/$(GET2DOCSDIR)
 106 
 107 # Url to copyright html file
 108 COPYRIGHT_URL = $(DOCSDIR_URL)/legal/cpyr.html
 109 
 110 # Url to bug filing site
 111 BUG_SUBMIT_URL = http://bugreport.sun.com/bugreport/
 112 
 113 # Common line for how to submit a bug or rfe
 114 BUG_SUBMIT_LINE = <a href="$(BUG_SUBMIT_URL)">Submit a bug or feature</a>
 115 
 116 # Url to devdocs page
 117 # Was: http://java.sun.com/javase/6/webnotes/devdocs-vs-specs.html
 118 DEV_DOCS_URL-7 = https://docs.oracle.com/javase/7/docs/index.html
 119 DEV_DOCS_URL-8 = https://docs.oracle.com/javase/8/docs/index.html
 120 DEV_DOCS_URL = $(DEV_DOCS_URL-$(JDK_MINOR_VERSION))
 121 DOCS_BASE_URL = https://docs.oracle.com/javase/7/docs
 122 
 123 # Common Java trademark line
 124 JAVA_TRADEMARK_LINE = Java is a trademark or registered trademark of \
 125 $(FULL_COMPANY_NAME) in the US and other countries.
 126 
 127 #################################################################
 128 # Macros:
 129 
 130 
 131 # List of all possible directories for javadoc to look for sources
 132 # NOTE: Quotes are required around sourcepath argument only on Windows.
 133 # Otherwise, you get "No packages or classes specified." due
 134 # to $(PATH_SEP) being interpreted as an end of
 135 # command (newline or shell ; character)
 136 ALL_SOURCE_DIRS = $(JDK_SHARE_CLASSES) \
 137     $(JDK_IMPSRC) \
 138     $(JDK_GENSRC) \
 139     $(JDK_OUTPUTDIR)/gendocsrc_rmic \
 140     $(JDK_TOPDIR)/src/solaris/classes \
 141     $(JDK_TOPDIR)/src/windows/classes \
 142     $(NASHORN_TOPDIR)/src/ \
 143     $(JDK_SHARE_SRC)/doc/stub
 144 
 145 # List of directories that actually exist
 146 ALL_EXISTING_SOURCE_DIRS := $(wildcard $(ALL_SOURCE_DIRS))
 147 
 148 # List with classpath separator between them
 149 EMPTY:=
 150 SPACE:= $(EMPTY) $(EMPTY)
 151 RELEASEDOCS_SOURCEPATH = \
 152     $(subst $(SPACE),$(PATH_SEP),$(strip $(ALL_SOURCE_DIRS)))
 153 
 154 define prep-target
 155         $(MKDIR) -p $(@D)
 156         $(RM) $@
 157 endef
 158 
 159 # Prep for javadoc creation, assumes $@ is an index.html file
 160 define prep-javadoc
 161         @if [ -f "$@" -a "$?" != "" ] ; then \
 162           $(ECHO) "# Dependencies have changed: $?"; \
 163         fi
 164         $(RM) -r $(@D)
 165         $(MKDIR) -p $(@D)
 166 endef
 167 
 168 # A cache of the directories in ALL_SOURCE_DIRS
 169 DIRECTORY_CACHE = $(DOCSTMPDIR)/directory.cache
 170 
 171 # Given a list of packages, return a list of files or dirs to be dependent on
 172 # (Currently only returning a list of directories)
 173 define PackageDependencies # packages
 174   $(shell \
 175       if [ "$1" != "" -a -f $(DIRECTORY_CACHE) ] ; then \
 176         for p in $1 ; do \
 177           pd=`$(ECHO) $${p} | $(SED) -e 's@[.]@/@g'`; \
 178           $(CAT) $(DIRECTORY_CACHE) | $(GREP) "/$${pd}/" ; \
 179         done; \
 180       fi \
 181   )
 182 endef
 183 
 184 # Given a list of packages, add packages that exist to $@, print summary
 185 define PackageFilter # packages
 186         @if [ "$1" != "" ] ; then \
 187           for p in $1 ; do \
 188             pd=`$(ECHO) $${p} | $(SED) -e 's@[.]@/@g'`; \
 189             found="false"; \
 190             for cp in $(ALL_SOURCE_DIRS) ; do \
 191               if [ -d $${cp}/$${pd} ] ; then \
 192                 $(ECHO) "$${p}" >> $@; \
 193                 found="true"; \
 194                 break; \
 195               fi; \
 196             done; \
 197             if [ "$${found}" = "false" ] ; then \
 198               $(ECHO) "WARNING: Package not found: $${p}"; \
 199             fi; \
 200           done; \
 201         fi
 202 endef
 203 
 204 # Print out a summary of the javadoc command about to be run
 205 define JavadocSummary # optionsfile packagesfile
 206         @$(ECHO) "# Summary for $@"; \
 207         $(ECHO) "# Options (`$(BASENAME) $1`):"; $(SED) -e 's@^@#   @' $1; \
 208         $(ECHO) "# Packages (`$(BASENAME) $2`):";$(SED) -e 's@^@#   @' $2
 209 endef
 210 
 211 #
 212 # Temporary directory for javadoc creation
 213 #
 214 DOCSTMPDIR = $(TEMPDIR)/doctmp
 215 
 216 #
 217 # Different api directories created from root directory
 218 #
 219 COREAPI_DOCSDIR = $(DOCSDIR)/api
 220 JDK_API_DOCSDIR = $(DOCSDIR)/jdk/api
 221 JRE_API_DOCSDIR = $(DOCSDIR)/jre/api
 222 PLATFORM_DOCSDIR = $(DOCSDIR)/platform
 223 
 224 JAVADOC_ARCHIVE_NAME := jdk-$(FULL_VERSION)-docs.zip
 225 JAVADOC_ARCHIVE_ASSEMBLY_DIR :=  $(DOCSTMPDIR)/docs-zip
 226 JAVADOC_ARCHIVE_DIR := $(OUTPUT_ROOT)/bundles
 227 JAVADOC_ARCHIVE := $(JAVADOC_ARCHIVE_DIR)/$(JAVADOC_ARCHIVE_NAME)
 228 
 229 # The non-core api javadocs need to be able to access the root of the core
 230 # api directory, so for jdk/api or jre/api to get to the core api/
 231 # directory we would use this:
 232 JDKJRE2COREAPI = ../../api
 233 
 234 # Common bottom argument
 235 define CommonBottom # year
 236 <font size="-1"><br> $(call CopyrightLine,,$1,)</font>
 237 endef
 238 
 239 # Common trademark bottom argument (Not sure why this is used sometimes)
 240 define CommonTrademarkBottom # year
 241 <font size="-1">\
 242 $(BUG_SUBMIT_LINE)<br>$(JAVA_TRADEMARK_LINE)<br>\
 243 $(call CopyrightLine,,$1,$(COMPANY_ADDRESS))\
 244 </font>
 245 endef
 246 
 247 # Common echo of option
 248 define OptionOnly # opt
 249         $(PRINTF) "%s\n" "$1"
 250 endef
 251 define OptionPair # opt arg
 252         $(PRINTF) "%s '%s'\n" "$1" '$2'
 253 endef
 254 define OptionTrip # opt arg arg
 255         $(PRINTF) "%s '%s' '%s'\n" "$1" '$2' '$3'
 256 endef
 257 
 258 # Core api bottom argument (with special sauce)
 259 COREAPI_BOTTOM = <font size="-1"> $(BUG_SUBMIT_LINE)\
 260 <br>For further API reference and developer documentation, \
 261 see <a href="$(DEV_DOCS_URL)" target="_blank">Java SE Documentation</a>. \
 262 That documentation contains more detailed, developer-targeted descriptions, \
 263 with conceptual overviews, definitions of terms, workarounds, \
 264 and working code examples.<br>\
 265 $(call CopyrightLine,$(COPYRIGHT_URL),$(FIRST_COPYRIGHT_YEAR),)\
 266 Use is subject to <a href="http://download.oracle.com/otndocs/jcp/java_se-8-mrel-spec/license.html">license terms</a>. \
 267 Also see the <a target="_blank" href="http://www.oracle.com/technetwork/java/redist-137594.html">documentation redistribution policy</a>.\
 268 </font>
 269 
 270 # Common javadoc options used by all
 271 COMMON_JAVADOCFLAGS = \
 272     -XDignore.symbol.file=true \
 273     -quiet \
 274     -use \
 275     -keywords \
 276     -Xdoclint:none \
 277     -Xprofilespath $(JDK_TOPDIR)/make/profile-rtjar-includes.txt \
 278     $(ADDITIONAL_JAVADOCFLAGS)
 279 
 280 ifdef OPENJDK
 281   ADDITIONAL_JAVADOCFLAGS = \
 282       -Xdocrootparent $(DOCS_BASE_URL)
 283 else
 284   ADDITIONAL_JAVADOCFLAGS =
 285 endif
 286 
 287 # Draft used for non-fcs documents
 288 DRAFT_HEADER =
 289 ifneq ($(MILESTONE), fcs)
 290   DRAFT_HEADER = <br><strong>DRAFT&nbsp;$(MILESTONE)-$(BUILD_NUMBER)</strong>
 291   DRAFT_BOTTOM = <br><strong>DRAFT&nbsp;$(MILESTONE)-$(BUILD_NUMBER)</strong>
 292   DRAFT_WINTITLE = $(BUILD_NUMBER)
 293   # Early access top text (not used in FCS releases)
 294   COREAPI_TOP_EARLYACCESS = \
 295 <div style="background-color: \#EEEEEE"> \
 296 <div style="padding: 6px; margin-top: 2px; margin-bottom: 6px; \
 297 margin-left: 6px; margin-right: 6px; text-align: justify; \
 298 font-size: 80%; font-family: Helvetica, Arial, sans-serif; \
 299 font-weight: normal;"> \
 300 Please note that the specifications and other information \
 301 contained herein are not final and are subject to change. \
 302 The information is being made available to you solely for purpose of \
 303 evaluation. \
 304 </div> </div>
 305 
 306 endif
 307 
 308 #################################################################
 309 
 310 #
 311 # CORE_PKGS environment variable has been moved to the following file
 312 #
 313 include CORE_PKGS.gmk
 314 
 315 #
 316 # Load environment variables for API package names that are not part of
 317 # the Java SE platform
 318 #
 319 include NON_CORE_PKGS.gmk
 320 
 321 #################################################################
 322 
 323 #
 324 # Load custom Javadoc rules, if present
 325 #
 326 -include $(CUSTOM_MAKE_DIR)/Javadoc.gmk
 327 
 328 #################################################################
 329 
 330 #
 331 # Default target is same as docs target, create core api and all others it can
 332 #
 333 
 334 all: docs
 335 docs: coredocs otherdocs
 336 
 337 #
 338 # Optional target which bundles all generated javadocs into a zip 
 339 # archive. The dependency on docs is handled in Main.gmk. Incremental 
 340 # building of docs is currently broken so if you invoke docs-zip after 
 341 # docs, the docs are always rebuilt.
 342 #
 343 
 344 docs-zip: $(JAVADOC_ARCHIVE)
 345 
 346 #
 347 # Add the core docs as prerequisite to the archive to trigger a rebuild
 348 # if the core docs were rebuilt. Ideally any doc rebuild should trigger
 349 # this, but the way prerequisites are currently setup in this file, that
 350 # is hard to achieve.
 351 #
 352 
 353 $(JAVADOC_ARCHIVE): $(COREAPI_INDEX_FILE)
 354         @$(ECHO) $(LOG_INFO) "Compressing javadoc to single $(JAVADOC_ARCHIVE_NAME)"
 355         $(MKDIR) -p $(JAVADOC_ARCHIVE_DIR)
 356         $(RM) -r $(JAVADOC_ARCHIVE_ASSEMBLY_DIR)
 357         $(MKDIR) -p $(JAVADOC_ARCHIVE_ASSEMBLY_DIR)
 358         all_roots=`$(FIND) $(DOCSDIR) | $(GREP) index.html | grep -v old/doclet `; \
 359         pushd $(JAVADOC_ARCHIVE_ASSEMBLY_DIR); \
 360         for index_file in $${all_roots} ; do \
 361           target_dir=`dirname $${index_file}`; \
 362           name=`$(ECHO) $${target_dir} | $(SED) "s;/spec;;" | $(SED) "s;.*/;;"`; \
 363           $(LN) -s $${target_dir}  $${name}; \
 364         done; \
 365         $(ZIP) -q -r $(JAVADOC_ARCHIVE) * ; \
 366         popd ;
 367 
 368 #################################################################
 369 # Production Targets -- USE THESE TARGETS WHEN:
 370 # a) You're generating docs outside of release engineering's
 371 #    standard control build.
 372 # b) The docs will be pushed to the web and/or included in
 373 #    the downloaded doc bundle.
 374 #
 375 # See: Notes.html#releaseTargets
 376 # Note: Spaces precede ifdef/ifndef indents. Tabs precede target commands (!)
 377 #
 378 
 379 sanitycheckcoredocs:
 380         @$(ECHO) ""
 381         @$(ECHO) "Building core api docs with these values:"
 382         @$(ECHO) "    BUILD_NUMBER = $(BUILD_NUMBER)"
 383         @$(ECHO) "    MILESTONE = $(MILESTONE)"
 384         @$(ECHO) ""
 385         ifeq ($(BUILD_NUMBER), b00)
 386           @$(ECHO) "ERROR: Build number must be defined"
 387           @$(ECHO) "MILESTONE is set to $(MILESTONE)"
 388           @$(ECHO) ""
 389           exit 1
 390         endif
 391 
 392 #############################################################
 393 #
 394 # coredocs
 395 #
 396 COREAPI_DOCTITLE = Java$(TRADEMARK) Platform, Standard Edition \
 397 $(JDK_MINOR_VERSION)<br>API Specification
 398 COREAPI_WINDOWTITLE = Java Platform SE $(JDK_MINOR_VERSION)
 399 COREAPI_HEADER = \
 400 <strong>Java$(TRADEMARK)&nbsp;Platform<br>Standard&nbsp;Ed.&nbsp;$(JDK_MINOR_VERSION)</strong>
 401 
 402 # Java language specification cite
 403 TAG_JLS = jls:a:See <cite> \
 404 The Java&trade; Language Specification</cite>:
 405 
 406 # Overview file for core apis
 407 COREAPI_OVERVIEW = $(JDK_SHARE_CLASSES)/overview-core.html
 408 
 409 # The index.html, options, and packages files
 410 COREAPI_INDEX_FILE = $(COREAPI_DOCSDIR)/index.html
 411 COREAPI_OPTIONS_FILE = $(DOCSTMPDIR)/coredocs.options
 412 COREAPI_PACKAGES_FILE = $(DOCSTMPDIR)/coredocs.packages
 413 
 414 coredocs: $(COREAPI_INDEX_FILE)
 415 
 416 # Set relative location to core api document root
 417 $(COREAPI_INDEX_FILE): GET2DOCSDIR=..
 418 
 419 # Run javadoc if the index file is out of date or missing
 420 $(COREAPI_INDEX_FILE): $(COREAPI_OPTIONS_FILE) $(COREAPI_PACKAGES_FILE)
 421         $(prep-javadoc)
 422         $(call JavadocSummary,$(COREAPI_OPTIONS_FILE),$(COREAPI_PACKAGES_FILE))
 423         $(JAVADOC_CMD) -d $(@D) \
 424             @$(COREAPI_OPTIONS_FILE) @$(COREAPI_PACKAGES_FILE)
 425 
 426 # Create file with javadoc options in it
 427 $(COREAPI_OPTIONS_FILE): $(COREAPI_OVERVIEW)
 428         $(prep-target)
 429         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
 430           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
 431           $(call OptionPair,-encoding,ISO-8859-1) ; \
 432           $(call OptionPair,-tag,beaninfo:X) ; \
 433           $(call OptionPair,-tag,revised:X) ; \
 434           $(call OptionPair,-tag,since.unbundled:X) ; \
 435           $(call OptionPair,-tag,spec:X) ; \
 436           $(call OptionPair,-tag,specdefault:X) ; \
 437           $(call OptionPair,-tag,Note:X) ; \
 438           $(call OptionPair,-tag,ToDo:X) ; \
 439           $(call OptionPair,-tag,apiNote:a:API Note:) ; \
 440           $(call OptionPair,-tag,implSpec:a:Implementation Requirements:) ; \
 441           $(call OptionPair,-tag,implNote:a:Implementation Note:) ; \
 442           $(call OptionPair,-tag,param) ; \
 443           $(call OptionPair,-tag,return) ; \
 444           $(call OptionPair,-tag,throws) ; \
 445           $(call OptionPair,-tag,since) ; \
 446           $(call OptionPair,-tag,version) ; \
 447           $(call OptionPair,-tag,serialData) ; \
 448           $(call OptionPair,-tag,factory) ; \
 449           $(call OptionPair,-tag,see) ; \
 450           $(call OptionPair,-tag,$(TAG_JLS)) ; \
 451           $(call OptionOnly,-splitIndex) ; \
 452           $(call OptionPair,-overview,$(COREAPI_OVERVIEW)) ; \
 453           $(call OptionPair,-doctitle,$(COREAPI_DOCTITLE)) ; \
 454           $(call OptionPair,-windowtitle,$(COREAPI_WINDOWTITLE) $(DRAFT_WINTITLE)) ; \
 455           $(call OptionPair,-header,$(COREAPI_HEADER)$(DRAFT_HEADER)) ; \
 456           $(call OptionPair,-bottom,$(COREAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
 457         ) >> $@
 458         ifdef COREAPI_TOP_EARLYACCESS
 459           @$(call OptionPair,-top,$(COREAPI_TOP_EARLYACCESS)) >> $@
 460         endif
 461 
 462 # Create a file with the package names in it
 463 $(COREAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(CORE_PKGS))
 464         $(prep-target)
 465         $(call PackageFilter,$(CORE_PKGS))
 466 
 467 #############################################################
 468 #
 469 # docletapidocs
 470 #
 471 
 472 ALL_OTHER_TARGETS += docletapidocs
 473 
 474 DOCLETAPI_DOCDIR := $(JDK_API_DOCSDIR)/javadoc/doclet
 475 DOCLETAPI2COREAPI := ../../$(JDKJRE2COREAPI)
 476 DOCLETAPI_DOCTITLE := Doclet API
 477 DOCLETAPI_WINDOWTITLE := Doclet API
 478 DOCLETAPI_HEADER := <strong>Doclet API</strong>
 479 DOCLETAPI_BOTTOM := $(call CommonTrademarkBottom,$(DOCLETAPI_FIRST_COPYRIGHT_YEAR))
 480 DOCLETAPI_GROUPNAME := Packages
 481 DOCLETAPI_REGEXP := com.sun.javadoc
 482 # DOCLETAPI_PKGS is located in NON_CORE_PKGS.gmk
 483 
 484 # The index.html, options, and packages files
 485 DOCLETAPI_INDEX_FILE = $(DOCLETAPI_DOCDIR)/index.html
 486 DOCLETAPI_OPTIONS_FILE = $(DOCSTMPDIR)/docletapi.options
 487 DOCLETAPI_PACKAGES_FILE = $(DOCSTMPDIR)/docletapi.packages
 488 
 489 docletapidocs: $(DOCLETAPI_INDEX_FILE)
 490 
 491 # Set relative location to core api document root
 492 $(DOCLETAPI_INDEX_FILE): GET2DOCSDIR=$(DOCLETAPI2COREAPI)/..
 493 
 494 # Run javadoc if the index file is out of date or missing
 495 $(DOCLETAPI_INDEX_FILE): $(DOCLETAPI_OPTIONS_FILE) $(DOCLETAPI_PACKAGES_FILE) coredocs
 496         $(prep-javadoc)
 497         $(call JavadocSummary,$(DOCLETAPI_OPTIONS_FILE),$(DOCLETAPI_PACKAGES_FILE))
 498         $(JAVADOC_CMD) -d $(@D) \
 499             @$(DOCLETAPI_OPTIONS_FILE) @$(DOCLETAPI_PACKAGES_FILE)
 500 
 501 # Create file with javadoc options in it
 502 $(DOCLETAPI_OPTIONS_FILE):
 503         $(prep-target)
 504         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
 505           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
 506           $(call OptionPair,-encoding,ascii) ; \
 507           $(call OptionOnly,-breakiterator) ; \
 508           $(call OptionPair,-doctitle,$(DOCLETAPI_DOCTITLE)) ; \
 509           $(call OptionPair,-windowtitle,$(DOCLETAPI_WINDOWTITLE) $(DRAFT_WINTITLE)); \
 510           $(call OptionPair,-header,$(DOCLETAPI_HEADER)$(DRAFT_HEADER)) ; \
 511           $(call OptionPair,-bottom,$(DOCLETAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
 512           $(call OptionTrip,-group,$(DOCLETAPI_GROUPNAME),$(DOCLETAPI_REGEXP)); \
 513           $(call OptionTrip,-linkoffline,$(DOCLETAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
 514         ) >> $@
 515 
 516 # Create a file with the package names in it
 517 $(DOCLETAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(DOCLETAPI_PKGS))
 518         $(prep-target)
 519         $(call PackageFilter,$(DOCLETAPI_PKGS))
 520 
 521 #############################################################
 522 #
 523 # tagletapidocs
 524 #
 525 
 526 ALL_OTHER_TARGETS += tagletapidocs
 527 TAGLETAPI_DOCDIR := $(JDK_API_DOCSDIR)/javadoc/taglet
 528 TAGLETAPI2COREAPI := ../../$(JDKJRE2COREAPI)
 529 TAGLETAPI_BOTTOM := $(call CommonTrademarkBottom,$(TAGLETAPI_FIRST_COPYRIGHT_YEAR))
 530 # TAGLETAPI_FILE is located in NON_CORE_PKGS.gmk
 531 
 532 # Temporary directory (special generation rules)
 533 TAGLETAPI_TEMPDIR = $(DOCSTMPDIR)/taglets_temp
 534 
 535 # The index.html, options, and packages files
 536 TAGLETAPI_INDEX_FILE = $(TAGLETAPI_DOCDIR)/index.html
 537 TAGLETAPI_OPTIONS_FILE = $(DOCSTMPDIR)/tagletapi.options
 538 TAGLETAPI_PACKAGES_FILE = $(DOCSTMPDIR)/tagletapi.packages
 539 
 540 tagletapidocs: $(TAGLETAPI_INDEX_FILE)
 541 
 542 # Set relative location to core api document root
 543 $(TAGLETAPI_INDEX_FILE): GET2DOCSDIR=$(TAGLETAPI2COREAPI)/..
 544 
 545 # Run javadoc if the index file is out of date or missing
 546 $(TAGLETAPI_INDEX_FILE): $(TAGLETAPI_OPTIONS_FILE) $(TAGLETAPI_PACKAGES_FILE) coredocs
 547         $(prep-javadoc)
 548         $(RM) -r $(TAGLETAPI_TEMPDIR)
 549         $(MKDIR) -p $(TAGLETAPI_TEMPDIR)
 550         $(call JavadocSummary,$(TAGLETAPI_OPTIONS_FILE),$(TAGLETAPI_PACKAGES_FILE))
 551         $(JAVADOC_CMD) -d $(TAGLETAPI_TEMPDIR) \
 552             @$(TAGLETAPI_OPTIONS_FILE) @$(TAGLETAPI_PACKAGES_FILE)
 553         cp -r $(TAGLETAPI_TEMPDIR)/com $(@D)
 554         cp $(TAGLETAPI_TEMPDIR)/stylesheet.css $(@D)
 555         $(RM) -r $(TAGLETAPI_TEMPDIR)
 556 
 557 # Create file with javadoc options in it
 558 $(TAGLETAPI_OPTIONS_FILE):
 559         $(prep-target)
 560         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
 561           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
 562           $(call OptionPair,-encoding,ascii) ; \
 563           $(call OptionOnly,-nonavbar) ; \
 564           $(call OptionOnly,-noindex) ; \
 565           $(call OptionPair,-bottom,$(TAGLETAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
 566           $(call OptionTrip,-linkoffline,$(TAGLETAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
 567         ) >> $@
 568 
 569 # Create a file with the package names in it
 570 $(TAGLETAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(TAGLETAPI_PKGS))
 571         $(prep-target)
 572         @($(ECHO) "$(JDK_IMPSRC)/$(TAGLETAPI_FILE)" ) > $@
 573 
 574 #############################################################
 575 #
 576 # domapidocs
 577 #
 578 
 579 ALL_OTHER_TARGETS += domapidocs
 580 
 581 DOMAPI_DOCDIR := $(JRE_API_DOCSDIR)/plugin/dom
 582 DOMAPI2COREAPI := ../../$(JDKJRE2COREAPI)
 583 DOMAPI_DOCTITLE := Common DOM API
 584 DOMAPI_WINDOWTITLE := Common DOM API
 585 DOMAPI_HEADER := <strong>Common DOM API</strong>
 586 DOMAPI_BOTTOM := $(call CommonTrademarkBottom,$(DOMAPI_FIRST_COPYRIGHT_YEAR))
 587 DOMAPI_GROUPNAME := Packages
 588 DOMAPI_REGEXP := com.sun.java.browser.dom:org.w3c.dom*
 589 # DOMAPI_PKGS is located in NON_CORE_PKGS.gmk
 590 
 591 # The index.html, options, and packages files
 592 DOMAPI_INDEX_FILE = $(DOMAPI_DOCDIR)/index.html
 593 DOMAPI_OPTIONS_FILE = $(DOCSTMPDIR)/domapi.options
 594 DOMAPI_PACKAGES_FILE = $(DOCSTMPDIR)/domapi.packages
 595 
 596 domapidocs: $(DOMAPI_INDEX_FILE)
 597 
 598 # Set relative location to core api document root
 599 $(DOMAPI_INDEX_FILE): GET2DOCSDIR=$(DOMAPI2COREAPI)/..
 600 
 601 # Run javadoc if the index file is out of date or missing
 602 $(DOMAPI_INDEX_FILE): $(DOMAPI_OPTIONS_FILE) $(DOMAPI_PACKAGES_FILE) coredocs
 603         $(prep-javadoc)
 604         $(call JavadocSummary,$(DOMAPI_OPTIONS_FILE),$(DOMAPI_PACKAGES_FILE))
 605         $(JAVADOC_CMD) -d $(@D) \
 606             @$(DOMAPI_OPTIONS_FILE) @$(DOMAPI_PACKAGES_FILE)
 607 
 608 # Create file with javadoc options in it
 609 $(DOMAPI_OPTIONS_FILE):
 610         $(prep-target)
 611         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
 612           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
 613           $(call OptionPair,-encoding,ascii) ; \
 614           $(call OptionOnly,-splitIndex) ; \
 615           $(call OptionPair,-doctitle,$(DOMAPI_DOCTITLE)) ; \
 616           $(call OptionPair,-windowtitle,$(DOMAPI_WINDOWTITLE) $(DRAFT_WINTITLE)); \
 617           $(call OptionPair,-header,$(DOMAPI_HEADER)$(DRAFT_HEADER)) ; \
 618           $(call OptionPair,-bottom,$(DOMAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
 619           $(call OptionTrip,-group,$(DOMAPI_GROUPNAME),$(DOMAPI_REGEXP)); \
 620           $(call OptionTrip,-linkoffline,$(DOMAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
 621         ) >> $@
 622 
 623 # Create a file with the package names in it
 624 $(DOMAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(DOMAPI_PKGS))
 625         $(prep-target)
 626         $(call PackageFilter,$(DOMAPI_PKGS))
 627 
 628 #############################################################
 629 #
 630 # jpdadocs
 631 #
 632 
 633 ALL_OTHER_TARGETS += jpdadocs
 634 
 635 jpdadocs: jdidocs jdwpdocs jvmtidocs
 636 
 637 #############################################################
 638 #
 639 # jdidocs
 640 #
 641 
 642 ALL_OTHER_TARGETS += jdidocs
 643 
 644 JDI_DOCDIR := $(JDK_API_DOCSDIR)/jpda/jdi
 645 JDI2COREAPI := ../../$(JDKJRE2COREAPI)
 646 JDI_DOCTITLE := Java$(TRADEMARK) Debug Interface
 647 JDI_WINDOWTITLE := Java Debug Interface
 648 JDI_HEADER := <strong>Java Debug Interface</strong>
 649 JDI_BOTTOM := $(call CommonBottom,$(JDI_FIRST_COPYRIGHT_YEAR))
 650 JDI_OVERVIEW := $(JDK_SHARE_CLASSES)/jdi-overview.html
 651 # JDI_PKGS is located in NON_CORE_PKGS.gmk
 652 
 653 # The index.html, options, and packages files
 654 JDI_INDEX_FILE = $(JDI_DOCDIR)/index.html
 655 JDI_OPTIONS_FILE = $(DOCSTMPDIR)/jdi.options
 656 JDI_PACKAGES_FILE = $(DOCSTMPDIR)/jdi.packages
 657 
 658 jdidocs: $(JDI_INDEX_FILE)
 659 
 660 # Set relative location to core api document root
 661 $(JDI_INDEX_FILE): GET2DOCSDIR=$(JDI2COREAPI)/..
 662 
 663 # Run javadoc if the index file is out of date or missing
 664 $(JDI_INDEX_FILE): $(JDI_OPTIONS_FILE) $(JDI_PACKAGES_FILE) coredocs
 665         $(prep-javadoc)
 666         $(call JavadocSummary,$(JDI_OPTIONS_FILE),$(JDI_PACKAGES_FILE))
 667         $(JAVADOC_CMD) -d $(@D) \
 668             @$(JDI_OPTIONS_FILE) @$(JDI_PACKAGES_FILE)
 669 
 670 # Create file with javadoc options in it
 671 $(JDI_OPTIONS_FILE): $(JDI_OVERVIEW)
 672         $(prep-target)
 673         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
 674           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
 675           $(call OptionPair,-encoding,ascii) ; \
 676           $(call OptionPair,-overview,$(JDI_OVERVIEW)) ; \
 677           $(call OptionPair,-doctitle,$(JDI_DOCTITLE)) ; \
 678           $(call OptionPair,-windowtitle,$(JDI_WINDOWTITLE) $(DRAFT_WINTITLE)); \
 679           $(call OptionPair,-header,$(JDI_HEADER)$(DRAFT_HEADER)) ; \
 680           $(call OptionPair,-bottom,$(JDI_BOTTOM)$(DRAFT_BOTTOM)) ; \
 681           $(call OptionTrip,-linkoffline,$(JDI2COREAPI),$(COREAPI_DOCSDIR)/); \
 682         ) >> $@
 683 
 684 # Create a file with the package names in it
 685 $(JDI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JDI_PKGS))
 686         $(prep-target)
 687         $(call PackageFilter,$(JDI_PKGS))
 688 
 689 #############################################################
 690 #
 691 # jdwpdocs
 692 #
 693 
 694 ALL_OTHER_TARGETS += jdwpdocs
 695 
 696 JDWP_DOCDIR = $(PLATFORM_DOCSDIR)/jpda/jdwp
 697 
 698 jdwpdocs: $(JDWP_DOCDIR)/jdwp-protocol.html
 699 $(JDWP_DOCDIR)/jdwp-protocol.html : $(JDK_OUTPUTDIR)/gensrc_jdwp_doc/jdwp-protocol.html
 700         $(MKDIR) -p $(@D)
 701         $(RM) $@
 702         $(CP) $< $@
 703 
 704 #############################################################
 705 #
 706 # jvmtidocs
 707 #
 708 
 709 ALL_OTHER_TARGETS += jvmtidocs
 710 
 711 JVMTI_DOCDIR = $(PLATFORM_DOCSDIR)/jvmti
 712 JVMTI_HTML = $(HOTSPOT_DIST)/docs/platform/jvmti/jvmti.html
 713 
 714 jvmtidocs: $(JVMTI_DOCDIR)/jvmti.html
 715 $(JVMTI_DOCDIR)/jvmti.html:
 716         @$(prep-javadoc)
 717         @if [ -f $(JVMTI_HTML) ] ; then \
 718           $(ECHO) "$(CP) $(JVMTI_HTML) $@"; \
 719           $(CP) $(JVMTI_HTML) $@; \
 720         else \
 721           $(ECHO) "WARNING: Generated file does not exist: $(JVMTI_HTML)"; \
 722         fi
 723 
 724 #############################################################
 725 #
 726 # jaasdocs
 727 #
 728 
 729 ALL_OTHER_TARGETS += jaasdocs
 730 
 731 JAAS_DOCDIR := $(JRE_API_DOCSDIR)/security/jaas/spec
 732 JAAS2COREAPI := ../../../$(JDKJRE2COREAPI)
 733 JAAS_DOCTITLE := Java$(TRADEMARK) Authentication and Authorization Service
 734 JAAS_WINDOWTITLE := Java Authentication and Authorization Service
 735 JAAS_HEADER := <strong>Java Authentication and Authorization Service</strong>
 736 JAAS_BOTTOM := $(call CommonBottom,$(JAAS_FIRST_COPYRIGHT_YEAR))
 737 # JAAS_PKGS is located in NON_CORE_PKGS.gmk
 738 JAAS_OVERVIEW := $(JDK_SHARE_CLASSES)/com/sun/security/auth/jaas-overview.html
 739 
 740 # The index.html, options, and packages files
 741 JAAS_INDEX_FILE = $(JAAS_DOCDIR)/index.html
 742 JAAS_OPTIONS_FILE = $(DOCSTMPDIR)/jaas.options
 743 JAAS_PACKAGES_FILE = $(DOCSTMPDIR)/jaas.packages
 744 
 745 jaasdocs: $(JAAS_INDEX_FILE)
 746 
 747 # Set relative location to core api document root
 748 $(JAAS_INDEX_FILE): GET2DOCSDIR=$(JAAS2COREAPI)/..
 749 
 750 # Run javadoc if the index file is out of date or missing
 751 $(JAAS_INDEX_FILE): $(JAAS_OPTIONS_FILE) $(JAAS_PACKAGES_FILE) coredocs
 752         $(prep-javadoc)
 753         $(call JavadocSummary,$(JAAS_OPTIONS_FILE),$(JAAS_PACKAGES_FILE))
 754         $(JAVADOC_CMD) -d $(@D) \
 755             @$(JAAS_OPTIONS_FILE) @$(JAAS_PACKAGES_FILE)
 756 
 757 # Create file with javadoc options in it
 758 $(JAAS_OPTIONS_FILE): $(JAAS_OVERVIEW)
 759         $(prep-target)
 760         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
 761           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
 762           $(call OptionPair,-encoding,ascii) ; \
 763           $(call OptionPair,-overview,$(JAAS_OVERVIEW)) ; \
 764           $(call OptionPair,-doctitle,$(JAAS_DOCTITLE)) ; \
 765           $(call OptionPair,-windowtitle,$(JAAS_WINDOWTITLE) $(DRAFT_WINTITLE)); \
 766           $(call OptionPair,-header,$(JAAS_HEADER)$(DRAFT_HEADER)) ; \
 767           $(call OptionPair,-bottom,$(JAAS_BOTTOM)$(DRAFT_BOTTOM)) ; \
 768           $(call OptionTrip,-linkoffline,$(JAAS2COREAPI),$(COREAPI_DOCSDIR)/); \
 769         ) >> $@
 770 
 771 # Create a file with the package names in it
 772 $(JAAS_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JAAS_PKGS))
 773         $(prep-target)
 774         $(call PackageFilter,$(JAAS_PKGS))
 775 
 776 #############################################################
 777 #
 778 # jgssdocs
 779 #
 780 
 781 ALL_OTHER_TARGETS += jgssdocs
 782 
 783 JGSS_DOCDIR := $(JRE_API_DOCSDIR)/security/jgss/spec
 784 JGSS2COREAPI := ../../../$(JDKJRE2COREAPI)
 785 JGSS_DOCTITLE := Java$(TRADEMARK) GSS-API Utilities
 786 JGSS_WINDOWTITLE := Java GSS-API Utilities
 787 JGSS_HEADER := <strong>Java GSS-API Utilities</strong>
 788 JGSS_BOTTOM := $(call CommonBottom,$(JGSS_FIRST_COPYRIGHT_YEAR))
 789 JGSS_OVERVIEW := $(JDK_SHARE_CLASSES)/com/sun/security/jgss/jgss-overview.html
 790 # JGSS_PKGS is located in NON_CORE_PKGS.gmk
 791 
 792 # The index.html, options, and packages files
 793 JGSS_INDEX_FILE = $(JGSS_DOCDIR)/index.html
 794 JGSS_OPTIONS_FILE = $(DOCSTMPDIR)/jgss.options
 795 JGSS_PACKAGES_FILE = $(DOCSTMPDIR)/jgss.packages
 796 
 797 jgssdocs: $(JGSS_INDEX_FILE)
 798 
 799 # Set relative location to core api document root
 800 $(JGSS_INDEX_FILE): GET2DOCSDIR=$(JGSS2COREAPI)/..
 801 
 802 # Run javadoc if the index file is out of date or missing
 803 $(JGSS_INDEX_FILE): $(JGSS_OPTIONS_FILE) $(JGSS_PACKAGES_FILE) coredocs
 804         $(prep-javadoc)
 805         $(call JavadocSummary,$(JGSS_OPTIONS_FILE),$(JGSS_PACKAGES_FILE))
 806         $(JAVADOC_CMD) -d $(@D) \
 807             @$(JGSS_OPTIONS_FILE) @$(JGSS_PACKAGES_FILE)
 808 
 809 # Create file with javadoc options in it
 810 $(JGSS_OPTIONS_FILE): $(JGSS_OVERVIEW)
 811         $(prep-target)
 812         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
 813           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
 814           $(call OptionPair,-encoding,ascii) ; \
 815           $(call OptionOnly,-nodeprecatedlist) ; \
 816           $(call OptionPair,-overview,$(JGSS_OVERVIEW)) ; \
 817           $(call OptionPair,-doctitle,$(JGSS_DOCTITLE)) ; \
 818           $(call OptionPair,-windowtitle,$(JGSS_WINDOWTITLE) $(DRAFT_WINTITLE)); \
 819           $(call OptionPair,-header,$(JGSS_HEADER)$(DRAFT_HEADER)) ; \
 820           $(call OptionPair,-bottom,$(JGSS_BOTTOM)$(DRAFT_BOTTOM)) ; \
 821           $(call OptionTrip,-linkoffline,$(JGSS2COREAPI),$(COREAPI_DOCSDIR)/); \
 822         ) >> $@
 823 
 824 # Create a file with the package names in it
 825 $(JGSS_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JGSS_PKGS))
 826         $(prep-target)
 827         $(call PackageFilter,$(JGSS_PKGS))
 828 
 829 #############################################################
 830 #
 831 # smartcardiodocs
 832 #
 833 
 834 ALL_OTHER_TARGETS += smartcardiodocs
 835 
 836 SMARTCARDIO_DOCDIR := $(JRE_API_DOCSDIR)/security/smartcardio/spec
 837 SMARTCARDIO2COREAPI := ../../../$(JDKJRE2COREAPI)
 838 SMARTCARDIO_DOCTITLE := Java$(TRADEMARK) Smart Card I/O
 839 SMARTCARDIO_WINDOWTITLE := Java Smart Card I/O
 840 SMARTCARDIO_HEADER := <strong>Java Smart Card I/O</strong>
 841 SMARTCARDIO_BOTTOM := $(call CommonBottom,$(SMARTCARDIO_FIRST_COPYRIGHT_YEAR))
 842 # SMARTCARDIO_PKGS is located in NON_CORE_PKGS.gmk
 843 
 844 # The index.html, options, and packages files
 845 SMARTCARDIO_INDEX_FILE = $(SMARTCARDIO_DOCDIR)/index.html
 846 SMARTCARDIO_OPTIONS_FILE = $(DOCSTMPDIR)/smartcardio.options
 847 SMARTCARDIO_PACKAGES_FILE = $(DOCSTMPDIR)/smartcardio.packages
 848 
 849 smartcardiodocs: $(SMARTCARDIO_INDEX_FILE)
 850 
 851 # Set relative location to core api document root
 852 $(SMARTCARDIO_INDEX_FILE): GET2DOCSDIR=$(SMARTCARDIO2COREAPI)/..
 853 
 854 # Run javadoc if the index file is out of date or missing
 855 $(SMARTCARDIO_INDEX_FILE): $(SMARTCARDIO_OPTIONS_FILE) $(SMARTCARDIO_PACKAGES_FILE) coredocs
 856         $(prep-javadoc)
 857         $(call JavadocSummary,$(SMARTCARDIO_OPTIONS_FILE),$(SMARTCARDIO_PACKAGES_FILE))
 858         $(JAVADOC_CMD) -d $(@D) \
 859             @$(SMARTCARDIO_OPTIONS_FILE) @$(SMARTCARDIO_PACKAGES_FILE)
 860 
 861 # Create file with javadoc options in it
 862 $(SMARTCARDIO_OPTIONS_FILE):
 863         $(prep-target)
 864         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
 865           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
 866           $(call OptionPair,-encoding,ascii) ; \
 867           $(call OptionOnly,-nodeprecatedlist) ; \
 868           $(call OptionPair,-doctitle,$(SMARTCARDIO_DOCTITLE)) ; \
 869           $(call OptionPair,-windowtitle,$(SMARTCARDIO_WINDOWTITLE) $(DRAFT_WINTITLE)); \
 870           $(call OptionPair,-header,$(SMARTCARDIO_HEADER)$(DRAFT_HEADER)); \
 871           $(call OptionPair,-bottom,$(SMARTCARDIO_BOTTOM)$(DRAFT_BOTTOM)); \
 872           $(call OptionTrip,-linkoffline,$(SMARTCARDIO2COREAPI),$(COREAPI_DOCSDIR)/); \
 873         ) >> $@
 874 
 875 # Create a file with the package names in it
 876 $(SMARTCARDIO_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(SMARTCARDIO_PKGS))
 877         $(prep-target)
 878         $(call PackageFilter,$(SMARTCARDIO_PKGS))
 879 
 880 #############################################################
 881 #
 882 # httpserverdocs
 883 #
 884 
 885 ALL_OTHER_TARGETS += httpserverdocs
 886 
 887 HTTPSERVER_DOCDIR := $(JRE_API_DOCSDIR)/net/httpserver/spec
 888 HTTPSERVER2COREAPI := ../../../$(JDKJRE2COREAPI)
 889 HTTPSERVER_DOCTITLE := Java$(TRADEMARK) HTTP Server
 890 HTTPSERVER_WINDOWTITLE := Java HTTP Server
 891 HTTPSERVER_HEADER := <strong>Java HTTP Server</strong>
 892 HTTPSERVER_BOTTOM := $(call CommonBottom,$(HTTPSERVER_FIRST_COPYRIGHT_YEAR))
 893 # HTTPSERVER_PKGS is located in NON_CORE_PKGS.gmk
 894 
 895 HTTPSERVER_INDEX_HTML = $(HTTPSERVER_DOCDIR)/index.html
 896 HTTPSERVER_OPTIONS_FILE = $(DOCSTMPDIR)/httpserver.options
 897 HTTPSERVER_PACKAGES_FILE = $(DOCSTMPDIR)/httpserver.packages
 898 
 899 httpserverdocs: $(HTTPSERVER_INDEX_HTML)
 900 
 901 # Set relative location to core api document root
 902 $(HTTPSERVER_INDEX_HTML): GET2DOCSDIR=$(HTTPSERVER2COREAPI)/..
 903 
 904 # Run javadoc if the index file is out of date or missing
 905 $(HTTPSERVER_INDEX_HTML): $(HTTPSERVER_OPTIONS_FILE) $(HTTPSERVER_PACKAGES_FILE) coredocs
 906         $(prep-javadoc)
 907         $(call JavadocSummary,$(HTTPSERVER_OPTIONS_FILE),$(HTTPSERVER_PACKAGES_FILE))
 908         $(JAVADOC_CMD) -d $(@D) \
 909             @$(HTTPSERVER_OPTIONS_FILE) @$(HTTPSERVER_PACKAGES_FILE)
 910 
 911 # Create file with javadoc options in it
 912 $(HTTPSERVER_OPTIONS_FILE):
 913         $(prep-target)
 914         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
 915           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
 916           $(call OptionPair,-encoding,ascii) ; \
 917           $(call OptionOnly,-nodeprecatedlist) ; \
 918           $(call OptionPair,-doctitle,$(HTTPSERVER_DOCTITLE)) ; \
 919           $(call OptionPair,-windowtitle,$(HTTPSERVER_WINDOWTITLE) $(DRAFT_WINTITLE)); \
 920           $(call OptionPair,-header,$(HTTPSERVER_HEADER)$(DRAFT_HEADER)); \
 921           $(call OptionPair,-bottom,$(HTTPSERVER_BOTTOM)$(DRAFT_BOTTOM)); \
 922           $(call OptionTrip,-linkoffline,$(HTTPSERVER2COREAPI),$(COREAPI_DOCSDIR)/); \
 923         ) >> $@
 924 
 925 # Create a file with the package names in it
 926 $(HTTPSERVER_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(HTTPSERVER_PKGS))
 927         $(prep-target)
 928         $(call PackageFilter,$(HTTPSERVER_PKGS))
 929 
 930 #############################################################
 931 #
 932 # mgmtdocs
 933 #
 934 
 935 ALL_OTHER_TARGETS += mgmtdocs
 936 
 937 MGMT_DOCDIR := $(JRE_API_DOCSDIR)/management/extension
 938 MGMT2COREAPI := ../../$(JDKJRE2COREAPI)
 939 JVM_MIB_NAME := JVM-MANAGEMENT-MIB.mib
 940 JVM_MIB_SRC := $(JDK_TOPDIR)/src/closed/share/classes/sun/management/snmp/$(JVM_MIB_NAME)
 941 MGMT_DOCTITLE := Monitoring and Management Interface for the Java$(TRADEMARK) Platform
 942 MGMT_WINDOWTITLE := Monitoring and Management Interface for the Java Platform
 943 MGMT_HEADER := <strong>Monitoring and Management Interface for the Java Platform</strong>
 944 MGMT_BOTTOM := $(call CommonBottom,$(MGMT_FIRST_COPYRIGHT_YEAR))
 945 MGMT_OVERVIEW := $(JDK_SHARE_CLASSES)/com/sun/management/mgmt-overview.html
 946 # MGMT_PKGS is located in NON_CORE_PKGS.gmk
 947 
 948 # The index.html, options, and packages files
 949 MGMT_INDEX_FILE = $(MGMT_DOCDIR)/index.html
 950 MGMT_OPTIONS_FILE = $(DOCSTMPDIR)/mgmt.options
 951 MGMT_PACKAGES_FILE = $(DOCSTMPDIR)/mgmt.packages
 952 
 953 mgmtdocs: $(MGMT_INDEX_FILE)
 954 
 955 # Set relative location to core api document root
 956 $(MGMT_INDEX_FILE): GET2DOCSDIR=$(MGMT2COREAPI)/..
 957 
 958 # Run javadoc if the index file is out of date or missing
 959 $(MGMT_INDEX_FILE): $(MGMT_OPTIONS_FILE) $(MGMT_PACKAGES_FILE) coredocs
 960         $(prep-javadoc)
 961         @if [ -f $(JVM_MIB_SRC) ] ; then \
 962           $(ECHO) "$(CP) $(JVM_MIB_SRC) $(@D)/.."; \
 963           $(CP) $(JVM_MIB_SRC) $(@D)/.. ; \
 964         else \
 965           $(ECHO) "WARNING: File $(JVM_MIB_NAME) not available."; \
 966         fi
 967         $(call JavadocSummary,$(MGMT_OPTIONS_FILE),$(MGMT_PACKAGES_FILE))
 968         $(JAVADOC_CMD) -d $(@D) \
 969             @$(MGMT_OPTIONS_FILE) @$(MGMT_PACKAGES_FILE)
 970 
 971 # Create file with javadoc options in it
 972 $(MGMT_OPTIONS_FILE): $(MGMT_OVERVIEW)
 973         $(prep-target)
 974         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
 975           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
 976           $(call OptionPair,-encoding,ascii) ; \
 977           $(call OptionOnly,-nodeprecatedlist) ; \
 978           $(call OptionPair,-overview,$(MGMT_OVERVIEW)) ; \
 979           $(call OptionPair,-doctitle,$(MGMT_DOCTITLE)) ; \
 980           $(call OptionPair,-windowtitle,$(MGMT_WINDOWTITLE) $(DRAFT_WINTITLE)); \
 981           $(call OptionPair,-header,$(MGMT_HEADER)$(DRAFT_HEADER)) ; \
 982           $(call OptionPair,-bottom,$(MGMT_BOTTOM)$(DRAFT_BOTTOM)) ; \
 983           $(call OptionTrip,-linkoffline,$(MGMT2COREAPI),$(COREAPI_DOCSDIR)/); \
 984         ) >> $@
 985 
 986 # Create a file with the package names in it
 987 $(MGMT_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(MGMT_PKGS))
 988         $(prep-target)
 989         $(call PackageFilter,$(MGMT_PKGS))
 990 
 991 #############################################################
 992 #
 993 # attachdocs
 994 #
 995 
 996 ALL_OTHER_TARGETS += attachdocs
 997 
 998 ATTACH_DOCDIR := $(JDK_API_DOCSDIR)/attach/spec
 999 ATTACH2COREAPI := ../../$(JDKJRE2COREAPI)
1000 ATTACH_DOCTITLE := Attach API
1001 ATTACH_WINDOWTITLE := Attach API
1002 ATTACH_HEADER := <strong>Attach API</strong>
1003 ATTACH_BOTTOM := $(call CommonBottom,$(ATTACH_FIRST_COPYRIGHT_YEAR))
1004 # ATTACH_PKGS is located in NON_CORE_PKGS.gmk
1005 
1006 ATTACH_INDEX_HTML = $(ATTACH_DOCDIR)/index.html
1007 ATTACH_OPTIONS_FILE = $(DOCSTMPDIR)/attach.options
1008 ATTACH_PACKAGES_FILE = $(DOCSTMPDIR)/attach.packages
1009 
1010 attachdocs: $(ATTACH_INDEX_HTML)
1011 
1012 # Set relative location to core api document root
1013 $(ATTACH_INDEX_HTML): GET2DOCSDIR=$(ATTACH2COREAPI)/..
1014 
1015 # Run javadoc if the index file is out of date or missing
1016 $(ATTACH_INDEX_HTML): $(ATTACH_OPTIONS_FILE) $(ATTACH_PACKAGES_FILE) coredocs
1017         $(prep-javadoc)
1018         $(call JavadocSummary,$(ATTACH_OPTIONS_FILE),$(ATTACH_PACKAGES_FILE))
1019         $(JAVADOC_CMD) -d $(@D) \
1020             @$(ATTACH_OPTIONS_FILE) @$(ATTACH_PACKAGES_FILE)
1021 
1022 # Create file with javadoc options in it
1023 $(ATTACH_OPTIONS_FILE):
1024         $(prep-target)
1025         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
1026           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
1027           $(call OptionPair,-encoding,ascii) ; \
1028           $(call OptionOnly,-nodeprecatedlist) ; \
1029           $(call OptionPair,-doctitle,$(ATTACH_DOCTITLE)) ; \
1030           $(call OptionPair,-windowtitle,$(ATTACH_WINDOWTITLE) $(DRAFT_WINTITLE)); \
1031           $(call OptionPair,-header,$(ATTACH_HEADER)$(DRAFT_HEADER)) ; \
1032           $(call OptionPair,-bottom,$(ATTACH_BOTTOM)$(DRAFT_BOTTOM)) ; \
1033           $(call OptionTrip,-linkoffline,$(ATTACH2COREAPI),$(COREAPI_DOCSDIR)/); \
1034         ) >> $@
1035 
1036 # Create a file with the package names in it
1037 $(ATTACH_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(ATTACH_PKGS))
1038         $(prep-target)
1039         $(call PackageFilter,$(ATTACH_PKGS))
1040 
1041 #############################################################
1042 #
1043 # jconsoledocs
1044 #
1045 
1046 ALL_OTHER_TARGETS += jconsoledocs
1047 
1048 JCONSOLE_DOCDIR := $(JDK_API_DOCSDIR)/jconsole/spec
1049 JCONSOLE2COREAPI := ../../$(JDKJRE2COREAPI)
1050 JCONSOLE_DOCTITLE := JConsole API
1051 JCONSOLE_WINDOWTITLE := JConsole API
1052 JCONSOLE_HEADER := <strong>JConsole API</strong>
1053 JCONSOLE_BOTTOM := $(call CommonBottom,$(JCONSOLE_FIRST_COPYRIGHT_YEAR))
1054 # JCONSOLE_PKGS is located in NON_CORE_PKGS.gmk
1055 
1056 JCONSOLE_INDEX_HTML = $(JCONSOLE_DOCDIR)/index.html
1057 JCONSOLE_OPTIONS_FILE = $(DOCSTMPDIR)/jconsole.options
1058 JCONSOLE_PACKAGES_FILE = $(DOCSTMPDIR)/jconsole.packages
1059 
1060 jconsoledocs: $(JCONSOLE_INDEX_HTML)
1061 
1062 # Set relative location to core api document root
1063 $(JCONSOLE_INDEX_HTML): GET2DOCSDIR=$(JCONSOLE2COREAPI)/..
1064 
1065 # Run javadoc if the index file is out of date or missing
1066 $(JCONSOLE_INDEX_HTML): $(JCONSOLE_OPTIONS_FILE) $(JCONSOLE_PACKAGES_FILE) coredocs
1067         $(prep-javadoc)
1068         $(call JavadocSummary,$(JCONSOLE_OPTIONS_FILE),$(JCONSOLE_PACKAGES_FILE))
1069         $(JAVADOC_CMD) -d $(@D) \
1070             @$(JCONSOLE_OPTIONS_FILE) @$(JCONSOLE_PACKAGES_FILE)
1071 
1072 # Create file with javadoc options in it
1073 $(JCONSOLE_OPTIONS_FILE):
1074         $(prep-target)
1075         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
1076           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
1077           $(call OptionPair,-encoding,ascii) ; \
1078           $(call OptionOnly,-nodeprecatedlist) ; \
1079           $(call OptionPair,-doctitle,$(JCONSOLE_DOCTITLE)) ; \
1080           $(call OptionPair,-windowtitle,$(JCONSOLE_WINDOWTITLE) $(DRAFT_WINTITLE)); \
1081           $(call OptionPair,-header,$(JCONSOLE_HEADER)$(DRAFT_HEADER)) ; \
1082           $(call OptionPair,-bottom,$(JCONSOLE_BOTTOM)$(DRAFT_BOTTOM)) ; \
1083           $(call OptionTrip,-linkoffline,$(JCONSOLE2COREAPI),$(COREAPI_DOCSDIR)/); \
1084         ) >> $@
1085 
1086 # Create a file with the package names in it
1087 $(JCONSOLE_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JCONSOLE_PKGS))
1088         $(prep-target)
1089         $(call PackageFilter,$(JCONSOLE_PKGS))
1090 
1091 #############################################################
1092 #
1093 # treeapidocs
1094 #
1095 
1096 ALL_OTHER_TARGETS += treeapidocs
1097 
1098 TREEAPI_DOCDIR := $(JDK_API_DOCSDIR)/javac/tree
1099 TREEAPI2COREAPI := ../../$(JDKJRE2COREAPI)
1100 TREEAPI_DOCTITLE := Compiler Tree API
1101 TREEAPI_WINDOWTITLE := Compiler Tree API
1102 TREEAPI_HEADER := <strong>Compiler Tree API</strong>
1103 TREEAPI_BOTTOM := $(call CommonBottom,$(TREEAPI_FIRST_COPYRIGHT_YEAR))
1104 TREEAPI_GROUPNAME := Packages
1105 TREEAPI_REGEXP := com.sun.source.*
1106 # TREEAPI_PKGS is located in NON_CORE_PKGS.gmk
1107 
1108 TREEAPI_INDEX_HTML = $(TREEAPI_DOCDIR)/index.html
1109 TREEAPI_OPTIONS_FILE = $(DOCSTMPDIR)/treeapi.options
1110 TREEAPI_PACKAGES_FILE = $(DOCSTMPDIR)/treeapi.packages
1111 
1112 treeapidocs: $(TREEAPI_INDEX_HTML)
1113 
1114 # Set relative location to core api document root
1115 $(TREEAPI_INDEX_HTML): GET2DOCSDIR=$(TREEAPI2COREAPI)/..
1116 
1117 # Run javadoc if the index file is out of date or missing
1118 $(TREEAPI_INDEX_HTML): $(TREEAPI_OPTIONS_FILE) $(TREEAPI_PACKAGES_FILE) coredocs
1119         $(prep-javadoc)
1120         $(call JavadocSummary,$(TREEAPI_OPTIONS_FILE),$(TREEAPI_PACKAGES_FILE))
1121         $(JAVADOC_CMD) -d $(@D) \
1122             @$(TREEAPI_OPTIONS_FILE) @$(TREEAPI_PACKAGES_FILE)
1123 
1124 # Create file with javadoc options in it
1125 $(TREEAPI_OPTIONS_FILE):
1126         $(prep-target)
1127         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
1128           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
1129           $(call OptionPair,-encoding,ascii) ; \
1130           $(call OptionPair,-doctitle,$(TREEAPI_DOCTITLE)) ; \
1131           $(call OptionPair,-windowtitle,$(TREEAPI_WINDOWTITLE) $(DRAFT_WINTITLE)); \
1132           $(call OptionPair,-header,$(TREEAPI_HEADER)$(DRAFT_HEADER)) ; \
1133           $(call OptionPair,-tag,$(TAG_JLS)) ; \
1134           $(call OptionPair,-bottom,$(TREEAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
1135           $(call OptionTrip,-group,$(TREEAPI_GROUPNAME),$(TREEAPI_REGEXP)); \
1136           $(call OptionTrip,-linkoffline,$(TREEAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
1137         ) >> $@
1138 
1139 # Create a file with the package names in it
1140 $(TREEAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(TREEAPI_PKGS))
1141         $(prep-target)
1142         $(call PackageFilter,$(TREEAPI_PKGS))
1143 
1144 #############################################################
1145 #
1146 # nashornapidocs
1147 #
1148 
1149 ALL_OTHER_TARGETS += nashornapidocs
1150 
1151 NASHORNAPI_DOCDIR := $(JDK_API_DOCSDIR)/nashorn
1152 NASHORNAPI2COREAPI := ../$(JDKJRE2COREAPI)
1153 NASHORNAPI_DOCTITLE := Nashorn API
1154 NASHORNAPI_WINDOWTITLE := Nashorn API
1155 NASHORNAPI_HEADER := <strong>Nashorn API</strong>
1156 NASHORNAPI_BOTTOM := $(call CommonBottom,$(NASHORNAPI_FIRST_COPYRIGHT_YEAR))
1157 NASHORNAPI_GROUPNAME := Packages
1158 NASHORNAPI_REGEXP := jdk.nashorn.api.scripting.*
1159 
1160 # NASHORNAPI_PKGS is located in NON_CORE_PKGS.gmk
1161 
1162 NASHORNAPI_INDEX_HTML = $(NASHORNAPI_DOCDIR)/index.html
1163 NASHORNAPI_OPTIONS_FILE = $(DOCSTMPDIR)/nashornapi.options
1164 NASHORNAPI_PACKAGES_FILE = $(DOCSTMPDIR)/nashornapi.packages
1165 
1166 nashornapidocs: $(NASHORNAPI_INDEX_HTML)
1167 
1168 # Set relative location to core api document root
1169 $(NASHORNAPI_INDEX_HTML): GET2DOCSDIR=$(NASHORNAPI2COREAPI)/..
1170 
1171 # Run javadoc if the index file is out of date or missing
1172 $(NASHORNAPI_INDEX_HTML): $(NASHORNAPI_OPTIONS_FILE) $(NASHORNAPI_PACKAGES_FILE) coredocs
1173         $(prep-javadoc)
1174         $(call JavadocSummary,$(NASHORNAPI_OPTIONS_FILE),$(NASHORNAPI_PACKAGES_FILE))
1175         $(JAVADOC_CMD) -d $(@D) \
1176             @$(NASHORNAPI_OPTIONS_FILE) @$(NASHORNAPI_PACKAGES_FILE)
1177 
1178 # Create file with javadoc options in it
1179 $(NASHORNAPI_OPTIONS_FILE):
1180         $(prep-target)
1181         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
1182           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
1183           $(call OptionPair,-encoding,ascii) ; \
1184           $(call OptionPair,-doctitle,$(NASHORNAPI_DOCTITLE)) ; \
1185           $(call OptionPair,-windowtitle,$(NASHORNAPI_WINDOWTITLE) $(DRAFT_WINTITLE)); \
1186           $(call OptionPair,-header,$(NASHORNAPI_HEADER)$(DRAFT_HEADER)) ; \
1187           $(call OptionPair,-tag,$(TAG_JLS)) ; \
1188           $(call OptionPair,-bottom,$(NASHORNAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
1189           $(call OptionTrip,-group,$(NASHORNAPI_GROUPNAME),$(NASHORNAPI_REGEXP)); \
1190           $(call OptionTrip,-linkoffline,$(NASHORNAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
1191         ) >> $@
1192 
1193 # Create a file with the package names in it
1194 $(NASHORNAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(NASHORNAPI_PKGS))
1195         $(prep-target)
1196         $(call PackageFilter,$(NASHORNAPI_PKGS))
1197 
1198 #############################################################
1199 #
1200 # sctpdocs
1201 #
1202 
1203 ALL_OTHER_TARGETS += sctpdocs
1204 
1205 SCTPAPI_DOCDIR := $(JRE_API_DOCSDIR)/nio/sctp/spec
1206 SCTPAPI2COREAPI := ../../../$(JDKJRE2COREAPI)
1207 SCTPAPI_DOCTITLE := SCTP API
1208 SCTPAPI_WINDOWTITLE := SCTP API
1209 SCTPAPI_HEADER := <strong>SCTP API</strong>
1210 SCTPAPI_BOTTOM := $(call CommonBottom,$(SCTPAPI_FIRST_COPYRIGHT_YEAR))
1211 # SCTPAPI_PKGS is located in NON_CORE_PKGS.gmk
1212 
1213 SCTPAPI_INDEX_HTML = $(SCTPAPI_DOCDIR)/index.html
1214 SCTPAPI_OPTIONS_FILE = $(DOCSTMPDIR)/sctp.options
1215 SCTPAPI_PACKAGES_FILE = $(DOCSTMPDIR)/sctp.packages
1216 
1217 sctpdocs: $(SCTPAPI_INDEX_HTML)
1218 
1219 # Set relative location to core api document root
1220 $(SCTPAPI_INDEX_HTML): GET2DOCSDIR=$(SCTPAPI2COREAPI)/..
1221 
1222 # Run javadoc if the index file is out of date or missing
1223 $(SCTPAPI_INDEX_HTML): $(SCTPAPI_OPTIONS_FILE) $(SCTPAPI_PACKAGES_FILE) coredocs
1224         $(prep-javadoc)
1225         $(call JavadocSummary,$(SCTPAPI_OPTIONS_FILE),$(SCTPAPI_PACKAGES_FILE))
1226         $(JAVADOC_CMD) -d $(@D) \
1227             @$(SCTPAPI_OPTIONS_FILE) @$(SCTPAPI_PACKAGES_FILE)
1228 
1229 # Create file with javadoc options in it
1230 $(SCTPAPI_OPTIONS_FILE):
1231         $(prep-target)
1232         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
1233           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
1234           $(call OptionPair,-encoding,ascii) ; \
1235           $(call OptionOnly,-nodeprecatedlist) ; \
1236           $(call OptionPair,-doctitle,$(SCTPAPI_DOCTITLE)) ; \
1237           $(call OptionPair,-windowtitle,$(SCTPAPI_WINDOWTITLE) $(DRAFT_WINTITLE)); \
1238           $(call OptionPair,-header,$(SCTPAPI_HEADER)$(DRAFT_HEADER)) ; \
1239           $(call OptionPair,-bottom,$(SCTPAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
1240           $(call OptionTrip,-linkoffline,$(SCTPAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
1241         ) >> $@
1242 
1243 # Create a file with the package names in it
1244 $(SCTPAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(SCTPAPI_PKGS))
1245         $(prep-target)
1246         $(call PackageFilter,$(SCTPAPI_PKGS))
1247 
1248 #############################################################
1249 #
1250 # jaccessdocs - Java Accessibility Utilities
1251 #
1252 
1253 ALL_OTHER_TARGETS += jaccessdocs
1254 
1255 JACCESSAPI_DOCDIR := $(JRE_API_DOCSDIR)/accessibility/jaccess/spec
1256 JACCESSAPI2COREAPI := ../../../$(JDKJRE2COREAPI)
1257 JACCESSAPI_DOCTITLE := JACCESS API
1258 JACCESSAPI_WINDOWTITLE := JACCESS API
1259 JACCESSAPI_HEADER := <strong>JACCESS API</strong>
1260 JACCESSAPI_BOTTOM := $(call CommonBottom,$(JACCESSAPI_FIRST_COPYRIGHT_YEAR))
1261 # JACCESSAPI_PKGS is located in NON_CORE_PKGS.gmk
1262 
1263 JACCESSAPI_INDEX_HTML = $(JACCESSAPI_DOCDIR)/index.html
1264 JACCESSAPI_OPTIONS_FILE = $(DOCSTMPDIR)/jaccess.options
1265 JACCESSAPI_PACKAGES_FILE = $(DOCSTMPDIR)/jaccess.packages
1266 
1267 jaccessdocs: $(JACCESSAPI_INDEX_HTML)
1268 
1269 # Set relative location to core api document root
1270 $(JACCESSAPI_INDEX_HTML): GET2DOCSDIR=$(JACCESSAPI2COREAPI)/..
1271 
1272 # Run javadoc if the index file is out of date or missing
1273 $(JACCESSAPI_INDEX_HTML): $(JACCESSAPI_OPTIONS_FILE) $(JACCESSAPI_PACKAGES_FILE) coredocs
1274         $(prep-javadoc)
1275         $(call JavadocSummary,$(JACCESSAPI_OPTIONS_FILE),$(JACCESSAPI_PACKAGES_FILE))
1276         $(JAVADOC_CMD) -d $(@D) \
1277             @$(JACCESSAPI_OPTIONS_FILE) @$(JACCESSAPI_PACKAGES_FILE)
1278 
1279 # Create file with javadoc options in it
1280 $(JACCESSAPI_OPTIONS_FILE):
1281         $(prep-target)
1282         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
1283           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
1284           $(call OptionPair,-encoding,ascii) ; \
1285           $(call OptionOnly,-nodeprecatedlist) ; \
1286           $(call OptionPair,-doctitle,$(JACCESSAPI_DOCTITLE)) ; \
1287           $(call OptionPair,-windowtitle,$(JACCESSAPI_WINDOWTITLE) $(DRAFT_WINTITLE)); \
1288           $(call OptionPair,-header,$(JACCESSAPI_HEADER)$(DRAFT_HEADER)) ; \
1289           $(call OptionPair,-bottom,$(JACCESSAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
1290           $(call OptionTrip,-linkoffline,$(JACCESSAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
1291         ) >> $@
1292 
1293 # Create a file with the package names in it
1294 $(JACCESSAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JACCESSAPI_PKGS))
1295         $(prep-target)
1296         $(call PackageFilter,$(JACCESSAPI_PKGS))
1297 
1298 #############################################################
1299 #
1300 # jdk.net docs
1301 #
1302 
1303 ALL_OTHER_TARGETS += jdknetdocs
1304 
1305 JDKNET_DOCDIR := $(JRE_API_DOCSDIR)/net/socketoptions/spec
1306 JDKNET2COREAPI := ../../../$(JDKJRE2COREAPI)
1307 JDKNET_DOCTITLE := jdk.net API
1308 JDKNET_WINDOWTITLE := jdk.net API
1309 JDKNET_HEADER := <strong>jdk.net API</strong>
1310 JDKNET_BOTTOM := $(call CommonBottom,$(JDKNET_FIRST_COPYRIGHT_YEAR))
1311 JDKNET_PKGS := jdk.net
1312 
1313 JDKNET_INDEX_HTML = $(JDKNET_DOCDIR)/index.html
1314 JDKNET_OPTIONS_FILE = $(DOCSTMPDIR)/jdknet.options
1315 JDKNET_PACKAGES_FILE = $(DOCSTMPDIR)/jdknet.packages
1316 
1317 jdknetdocs: $(JDKNET_INDEX_HTML)
1318 
1319 # Set relative location to core api document root
1320 $(JDKNET_INDEX_HTML): GET2DOCSDIR=$(JDKNET2COREAPI)/..
1321 
1322 # Run javadoc if the index file is out of date or missing
1323 $(JDKNET_INDEX_HTML): $(JDKNET_OPTIONS_FILE) $(JDKNET_PACKAGES_FILE) coredocs
1324         $(prep-javadoc)
1325         $(call JavadocSummary,$(JDKNET_OPTIONS_FILE),$(JDKNET_PACKAGES_FILE))
1326         $(JAVADOC_CMD) -d $(@D) \
1327             @$(JDKNET_OPTIONS_FILE) @$(JDKNET_PACKAGES_FILE)
1328 
1329 # Create file with javadoc options in it
1330 $(JDKNET_OPTIONS_FILE):
1331         $(prep-target)
1332         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
1333           $(call OptionOnly,-Xdoclint:none) ; \
1334           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
1335           $(call OptionPair,-encoding,ascii) ; \
1336           $(call OptionOnly,-nodeprecatedlist) ; \
1337           $(call OptionPair,-doctitle,$(JDKNET_DOCTITLE)) ; \
1338           $(call OptionPair,-windowtitle,$(JDKNET_WINDOWTITLE) $(DRAFT_WINTITLE)); \
1339           $(call OptionPair,-header,$(JDKNET_HEADER)$(DRAFT_HEADER)); \
1340           $(call OptionPair,-bottom,$(JDKNET_BOTTOM)$(DRAFT_BOTTOM)); \
1341           $(call OptionTrip,-linkoffline,$(JDKNET2COREAPI),$(COREAPI_DOCSDIR)/); \
1342         ) >> $@
1343 
1344 # Create a file with the package names in it
1345 $(JDKNET_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JDKNET_PKGS))
1346         $(prep-target)
1347         $(call PackageFilter,$(JDKNET_PKGS))
1348 
1349 #############################################################
1350 #
1351 # Get a cache of all the directories
1352 
1353 $(DIRECTORY_CACHE): $(ALL_EXISTING_SOURCE_DIRS)
1354         $(prep-target)
1355         @for cp in $(ALL_EXISTING_SOURCE_DIRS) ; do \
1356           $(ECHO) "$(FIND) $${cp} -type f >> $@"; \
1357           $(FIND) $${cp} -type f >> $@; \
1358         done
1359 
1360 #############################################################
1361 #release version of core packages ########
1362 
1363 # The rel-coredocs and rel-docs targets were added by Eric Armstrong. rel-coredocs
1364 # assumes the kind of large, 32-bit machine used in the javapubs group's docs-release
1365 # process. It specifies memory settings accordingly to maximize performance.
1366 #
1367 # The performance settings, like the sanity check, are most important for the core
1368 # docs--the platform APIs. Running javadoc on those APIs takes a significant amount
1369 # of time and memory. Setting the initial heap size as large as possible is important
1370 # to prevent thrashing as the heap grows. Setting the maximum as large as necessary
1371 # is also important to keep the job from failing.
1372 #
1373 #    -J-Xmx512 sets a maximum of 512, which became necessary in 6.0
1374 #    -J-Xms256 sets starting size to 256 (default is 8)
1375 #
1376 # rel-coredocs also includes a sanity check to help ensure that BUILD_NUMBER and
1377 # MILESTONE are specified properly when docs are built outside of the normal release
1378 # engineering process, with the intention of releasing them on the web or in a downloaded
1379 # docs bundle. (When invoked in release engineering's control build, the values are always
1380 # set properly. But when the targets are run by themselves, they default to b00 and
1381 # "internal"--which silently sabotage the result of a build that can take many hours
1382 # to complete.
1383 
1384 # Maximize performance and ensure that build number & milestone are set.
1385 
1386 rel-coredocs: sanitycheckcoredocs
1387         $(MAKE) coredocs
1388 
1389 rel-docs: rel-coredocs $(ALL_OTHER_TARGETS)
1390 #
1391 # end of production targets
1392 
1393 otherdocs: $(ALL_OTHER_TARGETS)
1394 
1395 clean:
1396         $(RM) -r $(DOCSDIR) $(DOCSTMPDIR)
1397 
1398 #############################################################
1399 # DEBUG TARGET
1400 # List the values defined in the makefile hierarchy, to make sure everything
1401 # is set properly, and to help identify values we can use instead of making new ones.
1402 # (Most of them come from common/shared/Defs.gmk)
1403 #
1404 # Notes:
1405 # * BUILD_NUMBER defaults to b00 if not set on command line with BUILD_NUMBER=<value>
1406 # * MILESTONE defaults to internal unless set to beta, rc, or fcs on command line
1407 #
1408 
1409 #############################################################
1410 .PHONY: all docs coredocs rel-docs otherdocs rel-coredocs \
1411     sanitycheckcoredocs $(ALL_OTHER_TARGETS) docs-zip