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 # The non-core api javadocs need to be able to access the root of the core
 225 # api directory, so for jdk/api or jre/api to get to the core api/
 226 # directory we would use this:
 227 JDKJRE2COREAPI = ../../api
 228 
 229 # Common bottom argument
 230 define CommonBottom # year
 231 <font size="-1"><br> $(call CopyrightLine,,$1,)</font>
 232 endef
 233 
 234 # Common trademark bottom argument (Not sure why this is used sometimes)
 235 define CommonTrademarkBottom # year
 236 <font size="-1">\
 237 $(BUG_SUBMIT_LINE)<br>$(JAVA_TRADEMARK_LINE)<br>\
 238 $(call CopyrightLine,,$1,$(COMPANY_ADDRESS))\
 239 </font>
 240 endef
 241 
 242 # Common echo of option
 243 define OptionOnly # opt
 244         $(PRINTF) "%s\n" "$1"
 245 endef
 246 define OptionPair # opt arg
 247         $(PRINTF) "%s '%s'\n" "$1" '$2'
 248 endef
 249 define OptionTrip # opt arg arg
 250         $(PRINTF) "%s '%s' '%s'\n" "$1" '$2' '$3'
 251 endef
 252 
 253 # Core api bottom argument (with special sauce)
 254 COREAPI_BOTTOM = <font size="-1"> $(BUG_SUBMIT_LINE)\
 255 <br>For further API reference and developer documentation, \
 256 see <a href="$(DEV_DOCS_URL)" target="_blank">Java SE Documentation</a>. \
 257 That documentation contains more detailed, developer-targeted descriptions, \
 258 with conceptual overviews, definitions of terms, workarounds, \
 259 and working code examples.<br>\
 260 $(call CopyrightLine,$(COPYRIGHT_URL),$(FIRST_COPYRIGHT_YEAR),)\
 261 </font>
 262 
 263 # Common javadoc options used by all
 264 COMMON_JAVADOCFLAGS = \
 265     -XDignore.symbol.file=true \
 266     -quiet \
 267     -use \
 268     -keywords \
 269     -Xdoclint:none \
 270     -Xprofilespath $(JDK_TOPDIR)/make/profile-rtjar-includes.txt \
 271     $(ADDITIONAL_JAVADOCFLAGS)
 272 
 273 ifdef OPENJDK
 274   ADDITIONAL_JAVADOCFLAGS = \
 275       -Xdocrootparent $(DOCS_BASE_URL)
 276 else
 277   ADDITIONAL_JAVADOCFLAGS =
 278 endif
 279 
 280 # Draft used for non-fcs documents
 281 DRAFT_HEADER =
 282 ifneq ($(MILESTONE), fcs)
 283   DRAFT_HEADER = <br><strong>DRAFT&nbsp;$(MILESTONE)-$(BUILD_NUMBER)</strong>
 284   DRAFT_BOTTOM = <br><strong>DRAFT&nbsp;$(MILESTONE)-$(BUILD_NUMBER)</strong>
 285   DRAFT_WINTITLE = $(BUILD_NUMBER)
 286   # Early access top text (not used in FCS releases)
 287   COREAPI_TOP_EARLYACCESS = \
 288 <div style="background-color: \#EEEEEE"> \
 289 <div style="padding: 6px; margin-top: 2px; margin-bottom: 6px; \
 290 margin-left: 6px; margin-right: 6px; text-align: justify; \
 291 font-size: 80%; font-family: Helvetica, Arial, sans-serif; \
 292 font-weight: normal;"> \
 293 Please note that the specifications and other information \
 294 contained herein are not final and are subject to change. \
 295 The information is being made available to you solely for purpose of \
 296 evaluation. \
 297 </div> </div>
 298 
 299 endif
 300 
 301 #################################################################
 302 
 303 #
 304 # CORE_PKGS environment variable has been moved to the following file
 305 #
 306 include CORE_PKGS.gmk
 307 
 308 #
 309 # Load environment variables for API package names that are not part of
 310 # the Java SE platform
 311 #
 312 include NON_CORE_PKGS.gmk
 313 
 314 #################################################################
 315 
 316 #
 317 # Load custom Javadoc rules, if present
 318 #
 319 -include $(CUSTOM_MAKE_DIR)/Javadoc.gmk
 320 
 321 #################################################################
 322 
 323 #
 324 # Default target is same as docs target, create core api and all others it can
 325 #
 326 
 327 all: docs
 328 docs: coredocs otherdocs
 329 
 330 #################################################################
 331 # Production Targets -- USE THESE TARGETS WHEN:
 332 # a) You're generating docs outside of release engineering's
 333 #    standard control build.
 334 # b) The docs will be pushed to the web and/or included in
 335 #    the downloaded doc bundle.
 336 #
 337 # See: Notes.html#releaseTargets
 338 # Note: Spaces precede ifdef/ifndef indents. Tabs precede target commands (!)
 339 #
 340 
 341 sanitycheckcoredocs:
 342         @$(ECHO) ""
 343         @$(ECHO) "Building core api docs with these values:"
 344         @$(ECHO) "    BUILD_NUMBER = $(BUILD_NUMBER)"
 345         @$(ECHO) "    MILESTONE = $(MILESTONE)"
 346         @$(ECHO) ""
 347         ifeq ($(BUILD_NUMBER), b00)
 348           @$(ECHO) "ERROR: Build number must be defined"
 349           @$(ECHO) "MILESTONE is set to $(MILESTONE)"
 350           @$(ECHO) ""
 351           exit 1
 352         endif
 353 
 354 #############################################################
 355 #
 356 # coredocs
 357 #
 358 COREAPI_DOCTITLE = Java$(TRADEMARK) Platform, Standard Edition \
 359 $(JDK_MINOR_VERSION)<br>API Specification
 360 COREAPI_WINDOWTITLE = Java Platform SE $(JDK_MINOR_VERSION)
 361 COREAPI_HEADER = \
 362 <strong>Java$(TRADEMARK)&nbsp;Platform<br>Standard&nbsp;Ed.&nbsp;$(JDK_MINOR_VERSION)</strong>
 363 
 364 # Java language specification cite
 365 TAG_JLS = jls:a:See <cite> \
 366 The Java&trade; Language Specification</cite>:
 367 
 368 # Overview file for core apis
 369 COREAPI_OVERVIEW = $(JDK_SHARE_CLASSES)/overview-core.html
 370 
 371 # The index.html, options, and packages files
 372 COREAPI_INDEX_FILE = $(COREAPI_DOCSDIR)/index.html
 373 COREAPI_OPTIONS_FILE = $(DOCSTMPDIR)/coredocs.options
 374 COREAPI_PACKAGES_FILE = $(DOCSTMPDIR)/coredocs.packages
 375 
 376 coredocs: $(COREAPI_INDEX_FILE)
 377 
 378 # Set relative location to core api document root
 379 $(COREAPI_INDEX_FILE): GET2DOCSDIR=..
 380 
 381 # Run javadoc if the index file is out of date or missing
 382 $(COREAPI_INDEX_FILE): $(COREAPI_OPTIONS_FILE) $(COREAPI_PACKAGES_FILE)
 383         $(prep-javadoc)
 384         $(call JavadocSummary,$(COREAPI_OPTIONS_FILE),$(COREAPI_PACKAGES_FILE))
 385         $(JAVADOC_CMD) -d $(@D) \
 386             @$(COREAPI_OPTIONS_FILE) @$(COREAPI_PACKAGES_FILE)
 387 
 388 # Create file with javadoc options in it
 389 $(COREAPI_OPTIONS_FILE): $(COREAPI_OVERVIEW)
 390         $(prep-target)
 391         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
 392           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
 393           $(call OptionPair,-encoding,ISO-8859-1) ; \
 394           $(call OptionPair,-tag,beaninfo:X) ; \
 395           $(call OptionPair,-tag,revised:X) ; \
 396           $(call OptionPair,-tag,since.unbundled:X) ; \
 397           $(call OptionPair,-tag,spec:X) ; \
 398           $(call OptionPair,-tag,specdefault:X) ; \
 399           $(call OptionPair,-tag,Note:X) ; \
 400           $(call OptionPair,-tag,ToDo:X) ; \
 401           $(call OptionPair,-tag,apiNote:a:API Note:) ; \
 402           $(call OptionPair,-tag,implSpec:a:Implementation Requirements:) ; \
 403           $(call OptionPair,-tag,implNote:a:Implementation Note:) ; \
 404           $(call OptionPair,-tag,param) ; \
 405           $(call OptionPair,-tag,return) ; \
 406           $(call OptionPair,-tag,throws) ; \
 407           $(call OptionPair,-tag,since) ; \
 408           $(call OptionPair,-tag,version) ; \
 409           $(call OptionPair,-tag,serialData) ; \
 410           $(call OptionPair,-tag,factory) ; \
 411           $(call OptionPair,-tag,see) ; \
 412           $(call OptionPair,-tag,$(TAG_JLS)) ; \
 413           $(call OptionOnly,-splitIndex) ; \
 414           $(call OptionPair,-overview,$(COREAPI_OVERVIEW)) ; \
 415           $(call OptionPair,-doctitle,$(COREAPI_DOCTITLE)) ; \
 416           $(call OptionPair,-windowtitle,$(COREAPI_WINDOWTITLE) $(DRAFT_WINTITLE)) ; \
 417           $(call OptionPair,-header,$(COREAPI_HEADER)$(DRAFT_HEADER)) ; \
 418           $(call OptionPair,-bottom,$(COREAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
 419         ) >> $@
 420         ifdef COREAPI_TOP_EARLYACCESS
 421           @$(call OptionPair,-top,$(COREAPI_TOP_EARLYACCESS)) >> $@
 422         endif
 423 
 424 # Create a file with the package names in it
 425 $(COREAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(CORE_PKGS))
 426         $(prep-target)
 427         $(call PackageFilter,$(CORE_PKGS))
 428 
 429 #############################################################
 430 #
 431 # docletapidocs
 432 #
 433 
 434 ALL_OTHER_TARGETS += docletapidocs
 435 
 436 DOCLETAPI_DOCDIR := $(JDK_API_DOCSDIR)/javadoc/doclet
 437 DOCLETAPI2COREAPI := ../../$(JDKJRE2COREAPI)
 438 DOCLETAPI_DOCTITLE := Doclet API
 439 DOCLETAPI_WINDOWTITLE := Doclet API
 440 DOCLETAPI_HEADER := <strong>Doclet API</strong>
 441 DOCLETAPI_BOTTOM := $(call CommonTrademarkBottom,$(DOCLETAPI_FIRST_COPYRIGHT_YEAR))
 442 DOCLETAPI_GROUPNAME := Packages
 443 DOCLETAPI_REGEXP := com.sun.javadoc
 444 # DOCLETAPI_PKGS is located in NON_CORE_PKGS.gmk
 445 
 446 # The index.html, options, and packages files
 447 DOCLETAPI_INDEX_FILE = $(DOCLETAPI_DOCDIR)/index.html
 448 DOCLETAPI_OPTIONS_FILE = $(DOCSTMPDIR)/docletapi.options
 449 DOCLETAPI_PACKAGES_FILE = $(DOCSTMPDIR)/docletapi.packages
 450 
 451 docletapidocs: $(DOCLETAPI_INDEX_FILE)
 452 
 453 # Set relative location to core api document root
 454 $(DOCLETAPI_INDEX_FILE): GET2DOCSDIR=$(DOCLETAPI2COREAPI)/..
 455 
 456 # Run javadoc if the index file is out of date or missing
 457 $(DOCLETAPI_INDEX_FILE): $(DOCLETAPI_OPTIONS_FILE) $(DOCLETAPI_PACKAGES_FILE) coredocs
 458         $(prep-javadoc)
 459         $(call JavadocSummary,$(DOCLETAPI_OPTIONS_FILE),$(DOCLETAPI_PACKAGES_FILE))
 460         $(JAVADOC_CMD) -d $(@D) \
 461             @$(DOCLETAPI_OPTIONS_FILE) @$(DOCLETAPI_PACKAGES_FILE)
 462 
 463 # Create file with javadoc options in it
 464 $(DOCLETAPI_OPTIONS_FILE):
 465         $(prep-target)
 466         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
 467           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
 468           $(call OptionPair,-encoding,ascii) ; \
 469           $(call OptionOnly,-breakiterator) ; \
 470           $(call OptionPair,-doctitle,$(DOCLETAPI_DOCTITLE)) ; \
 471           $(call OptionPair,-windowtitle,$(DOCLETAPI_WINDOWTITLE) $(DRAFT_WINTITLE)); \
 472           $(call OptionPair,-header,$(DOCLETAPI_HEADER)$(DRAFT_HEADER)) ; \
 473           $(call OptionPair,-bottom,$(DOCLETAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
 474           $(call OptionTrip,-group,$(DOCLETAPI_GROUPNAME),$(DOCLETAPI_REGEXP)); \
 475           $(call OptionTrip,-linkoffline,$(DOCLETAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
 476         ) >> $@
 477 
 478 # Create a file with the package names in it
 479 $(DOCLETAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(DOCLETAPI_PKGS))
 480         $(prep-target)
 481         $(call PackageFilter,$(DOCLETAPI_PKGS))
 482 
 483 #############################################################
 484 #
 485 # tagletapidocs
 486 #
 487 
 488 ALL_OTHER_TARGETS += tagletapidocs
 489 TAGLETAPI_DOCDIR := $(JDK_API_DOCSDIR)/javadoc/taglet
 490 TAGLETAPI2COREAPI := ../../$(JDKJRE2COREAPI)
 491 TAGLETAPI_BOTTOM := $(call CommonTrademarkBottom,$(TAGLETAPI_FIRST_COPYRIGHT_YEAR))
 492 # TAGLETAPI_FILE is located in NON_CORE_PKGS.gmk
 493 
 494 # Temporary directory (special generation rules)
 495 TAGLETAPI_TEMPDIR = $(DOCSTMPDIR)/taglets_temp
 496 
 497 # The index.html, options, and packages files
 498 TAGLETAPI_INDEX_FILE = $(TAGLETAPI_DOCDIR)/index.html
 499 TAGLETAPI_OPTIONS_FILE = $(DOCSTMPDIR)/tagletapi.options
 500 TAGLETAPI_PACKAGES_FILE = $(DOCSTMPDIR)/tagletapi.packages
 501 
 502 tagletapidocs: $(TAGLETAPI_INDEX_FILE)
 503 
 504 # Set relative location to core api document root
 505 $(TAGLETAPI_INDEX_FILE): GET2DOCSDIR=$(TAGLETAPI2COREAPI)/..
 506 
 507 # Run javadoc if the index file is out of date or missing
 508 $(TAGLETAPI_INDEX_FILE): $(TAGLETAPI_OPTIONS_FILE) $(TAGLETAPI_PACKAGES_FILE) coredocs
 509         $(prep-javadoc)
 510         $(RM) -r $(TAGLETAPI_TEMPDIR)
 511         $(MKDIR) -p $(TAGLETAPI_TEMPDIR)
 512         $(call JavadocSummary,$(TAGLETAPI_OPTIONS_FILE),$(TAGLETAPI_PACKAGES_FILE))
 513         $(JAVADOC_CMD) -d $(TAGLETAPI_TEMPDIR) \
 514             @$(TAGLETAPI_OPTIONS_FILE) @$(TAGLETAPI_PACKAGES_FILE)
 515         cp -r $(TAGLETAPI_TEMPDIR)/com $(@D)
 516         cp $(TAGLETAPI_TEMPDIR)/stylesheet.css $(@D)
 517         $(RM) -r $(TAGLETAPI_TEMPDIR)
 518 
 519 # Create file with javadoc options in it
 520 $(TAGLETAPI_OPTIONS_FILE):
 521         $(prep-target)
 522         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
 523           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
 524           $(call OptionPair,-encoding,ascii) ; \
 525           $(call OptionOnly,-nonavbar) ; \
 526           $(call OptionOnly,-noindex) ; \
 527           $(call OptionPair,-bottom,$(TAGLETAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
 528           $(call OptionTrip,-linkoffline,$(TAGLETAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
 529         ) >> $@
 530 
 531 # Create a file with the package names in it
 532 $(TAGLETAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(TAGLETAPI_PKGS))
 533         $(prep-target)
 534         @($(ECHO) "$(JDK_IMPSRC)/$(TAGLETAPI_FILE)" ) > $@
 535 
 536 #############################################################
 537 #
 538 # domapidocs
 539 #
 540 
 541 ALL_OTHER_TARGETS += domapidocs
 542 
 543 DOMAPI_DOCDIR := $(JRE_API_DOCSDIR)/plugin/dom
 544 DOMAPI2COREAPI := ../../$(JDKJRE2COREAPI)
 545 DOMAPI_DOCTITLE := Common DOM API
 546 DOMAPI_WINDOWTITLE := Common DOM API
 547 DOMAPI_HEADER := <strong>Common DOM API</strong>
 548 DOMAPI_BOTTOM := $(call CommonTrademarkBottom,$(DOMAPI_FIRST_COPYRIGHT_YEAR))
 549 DOMAPI_GROUPNAME := Packages
 550 DOMAPI_REGEXP := com.sun.java.browser.dom:org.w3c.dom*
 551 # DOMAPI_PKGS is located in NON_CORE_PKGS.gmk
 552 
 553 # The index.html, options, and packages files
 554 DOMAPI_INDEX_FILE = $(DOMAPI_DOCDIR)/index.html
 555 DOMAPI_OPTIONS_FILE = $(DOCSTMPDIR)/domapi.options
 556 DOMAPI_PACKAGES_FILE = $(DOCSTMPDIR)/domapi.packages
 557 
 558 domapidocs: $(DOMAPI_INDEX_FILE)
 559 
 560 # Set relative location to core api document root
 561 $(DOMAPI_INDEX_FILE): GET2DOCSDIR=$(DOMAPI2COREAPI)/..
 562 
 563 # Run javadoc if the index file is out of date or missing
 564 $(DOMAPI_INDEX_FILE): $(DOMAPI_OPTIONS_FILE) $(DOMAPI_PACKAGES_FILE) coredocs
 565         $(prep-javadoc)
 566         $(call JavadocSummary,$(DOMAPI_OPTIONS_FILE),$(DOMAPI_PACKAGES_FILE))
 567         $(JAVADOC_CMD) -d $(@D) \
 568             @$(DOMAPI_OPTIONS_FILE) @$(DOMAPI_PACKAGES_FILE)
 569 
 570 # Create file with javadoc options in it
 571 $(DOMAPI_OPTIONS_FILE):
 572         $(prep-target)
 573         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
 574           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
 575           $(call OptionPair,-encoding,ascii) ; \
 576           $(call OptionOnly,-splitIndex) ; \
 577           $(call OptionPair,-doctitle,$(DOMAPI_DOCTITLE)) ; \
 578           $(call OptionPair,-windowtitle,$(DOMAPI_WINDOWTITLE) $(DRAFT_WINTITLE)); \
 579           $(call OptionPair,-header,$(DOMAPI_HEADER)$(DRAFT_HEADER)) ; \
 580           $(call OptionPair,-bottom,$(DOMAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
 581           $(call OptionTrip,-group,$(DOMAPI_GROUPNAME),$(DOMAPI_REGEXP)); \
 582           $(call OptionTrip,-linkoffline,$(DOMAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
 583         ) >> $@
 584 
 585 # Create a file with the package names in it
 586 $(DOMAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(DOMAPI_PKGS))
 587         $(prep-target)
 588         $(call PackageFilter,$(DOMAPI_PKGS))
 589 
 590 #############################################################
 591 #
 592 # jpdadocs
 593 #
 594 
 595 ALL_OTHER_TARGETS += jpdadocs
 596 
 597 jpdadocs: jdidocs jdwpdocs jvmtidocs
 598 
 599 #############################################################
 600 #
 601 # jdidocs
 602 #
 603 
 604 ALL_OTHER_TARGETS += jdidocs
 605 
 606 JDI_DOCDIR := $(JDK_API_DOCSDIR)/jpda/jdi
 607 JDI2COREAPI := ../../$(JDKJRE2COREAPI)
 608 JDI_DOCTITLE := Java$(TRADEMARK) Debug Interface
 609 JDI_WINDOWTITLE := Java Debug Interface
 610 JDI_HEADER := <strong>Java Debug Interface</strong>
 611 JDI_BOTTOM := $(call CommonBottom,$(JDI_FIRST_COPYRIGHT_YEAR))
 612 JDI_OVERVIEW := $(JDK_SHARE_CLASSES)/jdi-overview.html
 613 # JDI_PKGS is located in NON_CORE_PKGS.gmk
 614 
 615 # The index.html, options, and packages files
 616 JDI_INDEX_FILE = $(JDI_DOCDIR)/index.html
 617 JDI_OPTIONS_FILE = $(DOCSTMPDIR)/jdi.options
 618 JDI_PACKAGES_FILE = $(DOCSTMPDIR)/jdi.packages
 619 
 620 jdidocs: $(JDI_INDEX_FILE)
 621 
 622 # Set relative location to core api document root
 623 $(JDI_INDEX_FILE): GET2DOCSDIR=$(JDI2COREAPI)/..
 624 
 625 # Run javadoc if the index file is out of date or missing
 626 $(JDI_INDEX_FILE): $(JDI_OPTIONS_FILE) $(JDI_PACKAGES_FILE) coredocs
 627         $(prep-javadoc)
 628         $(call JavadocSummary,$(JDI_OPTIONS_FILE),$(JDI_PACKAGES_FILE))
 629         $(JAVADOC_CMD) -d $(@D) \
 630             @$(JDI_OPTIONS_FILE) @$(JDI_PACKAGES_FILE)
 631 
 632 # Create file with javadoc options in it
 633 $(JDI_OPTIONS_FILE): $(JDI_OVERVIEW)
 634         $(prep-target)
 635         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
 636           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
 637           $(call OptionPair,-encoding,ascii) ; \
 638           $(call OptionPair,-overview,$(JDI_OVERVIEW)) ; \
 639           $(call OptionPair,-doctitle,$(JDI_DOCTITLE)) ; \
 640           $(call OptionPair,-windowtitle,$(JDI_WINDOWTITLE) $(DRAFT_WINTITLE)); \
 641           $(call OptionPair,-header,$(JDI_HEADER)$(DRAFT_HEADER)) ; \
 642           $(call OptionPair,-bottom,$(JDI_BOTTOM)$(DRAFT_BOTTOM)) ; \
 643           $(call OptionTrip,-linkoffline,$(JDI2COREAPI),$(COREAPI_DOCSDIR)/); \
 644         ) >> $@
 645 
 646 # Create a file with the package names in it
 647 $(JDI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JDI_PKGS))
 648         $(prep-target)
 649         $(call PackageFilter,$(JDI_PKGS))
 650 
 651 #############################################################
 652 #
 653 # jdwpdocs
 654 #
 655 
 656 ALL_OTHER_TARGETS += jdwpdocs
 657 
 658 JDWP_DOCDIR = $(PLATFORM_DOCSDIR)/jpda/jdwp
 659 
 660 jdwpdocs: $(JDWP_DOCDIR)/jdwp-protocol.html
 661 $(JDWP_DOCDIR)/jdwp-protocol.html : $(JDK_OUTPUTDIR)/gensrc_jdwp_doc/jdwp-protocol.html
 662         $(MKDIR) -p $(@D)
 663         $(RM) $@
 664         $(CP) $< $@
 665 
 666 #############################################################
 667 #
 668 # jvmtidocs
 669 #
 670 
 671 ALL_OTHER_TARGETS += jvmtidocs
 672 
 673 JVMTI_DOCDIR = $(PLATFORM_DOCSDIR)/jvmti
 674 JVMTI_HTML = $(HOTSPOT_DIST)/docs/platform/jvmti/jvmti.html
 675 
 676 jvmtidocs: $(JVMTI_DOCDIR)/jvmti.html
 677 $(JVMTI_DOCDIR)/jvmti.html:
 678         @$(prep-javadoc)
 679         @if [ -f $(JVMTI_HTML) ] ; then \
 680           $(ECHO) "$(CP) $(JVMTI_HTML) $@"; \
 681           $(CP) $(JVMTI_HTML) $@; \
 682         else \
 683           $(ECHO) "WARNING: Generated file does not exist: $(JVMTI_HTML)"; \
 684         fi
 685 
 686 #############################################################
 687 #
 688 # jaasdocs
 689 #
 690 
 691 ALL_OTHER_TARGETS += jaasdocs
 692 
 693 JAAS_DOCDIR := $(JRE_API_DOCSDIR)/security/jaas/spec
 694 JAAS2COREAPI := ../../../$(JDKJRE2COREAPI)
 695 JAAS_DOCTITLE := Java$(TRADEMARK) Authentication and Authorization Service
 696 JAAS_WINDOWTITLE := Java Authentication and Authorization Service
 697 JAAS_HEADER := <strong>Java Authentication and Authorization Service</strong>
 698 JAAS_BOTTOM := $(call CommonBottom,$(JAAS_FIRST_COPYRIGHT_YEAR))
 699 # JAAS_PKGS is located in NON_CORE_PKGS.gmk
 700 JAAS_OVERVIEW := $(JDK_SHARE_CLASSES)/com/sun/security/auth/jaas-overview.html
 701 
 702 # The index.html, options, and packages files
 703 JAAS_INDEX_FILE = $(JAAS_DOCDIR)/index.html
 704 JAAS_OPTIONS_FILE = $(DOCSTMPDIR)/jaas.options
 705 JAAS_PACKAGES_FILE = $(DOCSTMPDIR)/jaas.packages
 706 
 707 jaasdocs: $(JAAS_INDEX_FILE)
 708 
 709 # Set relative location to core api document root
 710 $(JAAS_INDEX_FILE): GET2DOCSDIR=$(JAAS2COREAPI)/..
 711 
 712 # Run javadoc if the index file is out of date or missing
 713 $(JAAS_INDEX_FILE): $(JAAS_OPTIONS_FILE) $(JAAS_PACKAGES_FILE) coredocs
 714         $(prep-javadoc)
 715         $(call JavadocSummary,$(JAAS_OPTIONS_FILE),$(JAAS_PACKAGES_FILE))
 716         $(JAVADOC_CMD) -d $(@D) \
 717             @$(JAAS_OPTIONS_FILE) @$(JAAS_PACKAGES_FILE)
 718 
 719 # Create file with javadoc options in it
 720 $(JAAS_OPTIONS_FILE): $(JAAS_OVERVIEW)
 721         $(prep-target)
 722         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
 723           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
 724           $(call OptionPair,-encoding,ascii) ; \
 725           $(call OptionPair,-overview,$(JAAS_OVERVIEW)) ; \
 726           $(call OptionPair,-doctitle,$(JAAS_DOCTITLE)) ; \
 727           $(call OptionPair,-windowtitle,$(JAAS_WINDOWTITLE) $(DRAFT_WINTITLE)); \
 728           $(call OptionPair,-header,$(JAAS_HEADER)$(DRAFT_HEADER)) ; \
 729           $(call OptionPair,-bottom,$(JAAS_BOTTOM)$(DRAFT_BOTTOM)) ; \
 730           $(call OptionTrip,-linkoffline,$(JAAS2COREAPI),$(COREAPI_DOCSDIR)/); \
 731         ) >> $@
 732 
 733 # Create a file with the package names in it
 734 $(JAAS_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JAAS_PKGS))
 735         $(prep-target)
 736         $(call PackageFilter,$(JAAS_PKGS))
 737 
 738 #############################################################
 739 #
 740 # jgssdocs
 741 #
 742 
 743 ALL_OTHER_TARGETS += jgssdocs
 744 
 745 JGSS_DOCDIR := $(JRE_API_DOCSDIR)/security/jgss/spec
 746 JGSS2COREAPI := ../../../$(JDKJRE2COREAPI)
 747 JGSS_DOCTITLE := Java$(TRADEMARK) GSS-API Utilities
 748 JGSS_WINDOWTITLE := Java GSS-API Utilities
 749 JGSS_HEADER := <strong>Java GSS-API Utilities</strong>
 750 JGSS_BOTTOM := $(call CommonBottom,$(JGSS_FIRST_COPYRIGHT_YEAR))
 751 JGSS_OVERVIEW := $(JDK_SHARE_CLASSES)/com/sun/security/jgss/jgss-overview.html
 752 # JGSS_PKGS is located in NON_CORE_PKGS.gmk
 753 
 754 # The index.html, options, and packages files
 755 JGSS_INDEX_FILE = $(JGSS_DOCDIR)/index.html
 756 JGSS_OPTIONS_FILE = $(DOCSTMPDIR)/jgss.options
 757 JGSS_PACKAGES_FILE = $(DOCSTMPDIR)/jgss.packages
 758 
 759 jgssdocs: $(JGSS_INDEX_FILE)
 760 
 761 # Set relative location to core api document root
 762 $(JGSS_INDEX_FILE): GET2DOCSDIR=$(JGSS2COREAPI)/..
 763 
 764 # Run javadoc if the index file is out of date or missing
 765 $(JGSS_INDEX_FILE): $(JGSS_OPTIONS_FILE) $(JGSS_PACKAGES_FILE) coredocs
 766         $(prep-javadoc)
 767         $(call JavadocSummary,$(JGSS_OPTIONS_FILE),$(JGSS_PACKAGES_FILE))
 768         $(JAVADOC_CMD) -d $(@D) \
 769             @$(JGSS_OPTIONS_FILE) @$(JGSS_PACKAGES_FILE)
 770 
 771 # Create file with javadoc options in it
 772 $(JGSS_OPTIONS_FILE): $(JGSS_OVERVIEW)
 773         $(prep-target)
 774         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
 775           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
 776           $(call OptionPair,-encoding,ascii) ; \
 777           $(call OptionOnly,-nodeprecatedlist) ; \
 778           $(call OptionPair,-overview,$(JGSS_OVERVIEW)) ; \
 779           $(call OptionPair,-doctitle,$(JGSS_DOCTITLE)) ; \
 780           $(call OptionPair,-windowtitle,$(JGSS_WINDOWTITLE) $(DRAFT_WINTITLE)); \
 781           $(call OptionPair,-header,$(JGSS_HEADER)$(DRAFT_HEADER)) ; \
 782           $(call OptionPair,-bottom,$(JGSS_BOTTOM)$(DRAFT_BOTTOM)) ; \
 783           $(call OptionTrip,-linkoffline,$(JGSS2COREAPI),$(COREAPI_DOCSDIR)/); \
 784         ) >> $@
 785 
 786 # Create a file with the package names in it
 787 $(JGSS_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JGSS_PKGS))
 788         $(prep-target)
 789         $(call PackageFilter,$(JGSS_PKGS))
 790 
 791 #############################################################
 792 #
 793 # smartcardiodocs
 794 #
 795 
 796 ALL_OTHER_TARGETS += smartcardiodocs
 797 
 798 SMARTCARDIO_DOCDIR := $(JRE_API_DOCSDIR)/security/smartcardio/spec
 799 SMARTCARDIO2COREAPI := ../../../$(JDKJRE2COREAPI)
 800 SMARTCARDIO_DOCTITLE := Java$(TRADEMARK) Smart Card I/O
 801 SMARTCARDIO_WINDOWTITLE := Java Smart Card I/O
 802 SMARTCARDIO_HEADER := <strong>Java Smart Card I/O</strong>
 803 SMARTCARDIO_BOTTOM := $(call CommonBottom,$(SMARTCARDIO_FIRST_COPYRIGHT_YEAR))
 804 # SMARTCARDIO_PKGS is located in NON_CORE_PKGS.gmk
 805 
 806 # The index.html, options, and packages files
 807 SMARTCARDIO_INDEX_FILE = $(SMARTCARDIO_DOCDIR)/index.html
 808 SMARTCARDIO_OPTIONS_FILE = $(DOCSTMPDIR)/smartcardio.options
 809 SMARTCARDIO_PACKAGES_FILE = $(DOCSTMPDIR)/smartcardio.packages
 810 
 811 smartcardiodocs: $(SMARTCARDIO_INDEX_FILE)
 812 
 813 # Set relative location to core api document root
 814 $(SMARTCARDIO_INDEX_FILE): GET2DOCSDIR=$(SMARTCARDIO2COREAPI)/..
 815 
 816 # Run javadoc if the index file is out of date or missing
 817 $(SMARTCARDIO_INDEX_FILE): $(SMARTCARDIO_OPTIONS_FILE) $(SMARTCARDIO_PACKAGES_FILE) coredocs
 818         $(prep-javadoc)
 819         $(call JavadocSummary,$(SMARTCARDIO_OPTIONS_FILE),$(SMARTCARDIO_PACKAGES_FILE))
 820         $(JAVADOC_CMD) -d $(@D) \
 821             @$(SMARTCARDIO_OPTIONS_FILE) @$(SMARTCARDIO_PACKAGES_FILE)
 822 
 823 # Create file with javadoc options in it
 824 $(SMARTCARDIO_OPTIONS_FILE):
 825         $(prep-target)
 826         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
 827           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
 828           $(call OptionPair,-encoding,ascii) ; \
 829           $(call OptionOnly,-nodeprecatedlist) ; \
 830           $(call OptionPair,-doctitle,$(SMARTCARDIO_DOCTITLE)) ; \
 831           $(call OptionPair,-windowtitle,$(SMARTCARDIO_WINDOWTITLE) $(DRAFT_WINTITLE)); \
 832           $(call OptionPair,-header,$(SMARTCARDIO_HEADER)$(DRAFT_HEADER)); \
 833           $(call OptionPair,-bottom,$(SMARTCARDIO_BOTTOM)$(DRAFT_BOTTOM)); \
 834           $(call OptionTrip,-linkoffline,$(SMARTCARDIO2COREAPI),$(COREAPI_DOCSDIR)/); \
 835         ) >> $@
 836 
 837 # Create a file with the package names in it
 838 $(SMARTCARDIO_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(SMARTCARDIO_PKGS))
 839         $(prep-target)
 840         $(call PackageFilter,$(SMARTCARDIO_PKGS))
 841 
 842 #############################################################
 843 #
 844 # httpserverdocs
 845 #
 846 
 847 ALL_OTHER_TARGETS += httpserverdocs
 848 
 849 HTTPSERVER_DOCDIR := $(JRE_API_DOCSDIR)/net/httpserver/spec
 850 HTTPSERVER2COREAPI := ../../../$(JDKJRE2COREAPI)
 851 HTTPSERVER_DOCTITLE := Java$(TRADEMARK) HTTP Server
 852 HTTPSERVER_WINDOWTITLE := Java HTTP Server
 853 HTTPSERVER_HEADER := <strong>Java HTTP Server</strong>
 854 HTTPSERVER_BOTTOM := $(call CommonBottom,$(HTTPSERVER_FIRST_COPYRIGHT_YEAR))
 855 # HTTPSERVER_PKGS is located in NON_CORE_PKGS.gmk
 856 
 857 HTTPSERVER_INDEX_HTML = $(HTTPSERVER_DOCDIR)/index.html
 858 HTTPSERVER_OPTIONS_FILE = $(DOCSTMPDIR)/httpserver.options
 859 HTTPSERVER_PACKAGES_FILE = $(DOCSTMPDIR)/httpserver.packages
 860 
 861 httpserverdocs: $(HTTPSERVER_INDEX_HTML)
 862 
 863 # Set relative location to core api document root
 864 $(HTTPSERVER_INDEX_HTML): GET2DOCSDIR=$(HTTPSERVER2COREAPI)/..
 865 
 866 # Run javadoc if the index file is out of date or missing
 867 $(HTTPSERVER_INDEX_HTML): $(HTTPSERVER_OPTIONS_FILE) $(HTTPSERVER_PACKAGES_FILE) coredocs
 868         $(prep-javadoc)
 869         $(call JavadocSummary,$(HTTPSERVER_OPTIONS_FILE),$(HTTPSERVER_PACKAGES_FILE))
 870         $(JAVADOC_CMD) -d $(@D) \
 871             @$(HTTPSERVER_OPTIONS_FILE) @$(HTTPSERVER_PACKAGES_FILE)
 872 
 873 # Create file with javadoc options in it
 874 $(HTTPSERVER_OPTIONS_FILE):
 875         $(prep-target)
 876         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
 877           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
 878           $(call OptionPair,-encoding,ascii) ; \
 879           $(call OptionOnly,-nodeprecatedlist) ; \
 880           $(call OptionPair,-doctitle,$(HTTPSERVER_DOCTITLE)) ; \
 881           $(call OptionPair,-windowtitle,$(HTTPSERVER_WINDOWTITLE) $(DRAFT_WINTITLE)); \
 882           $(call OptionPair,-header,$(HTTPSERVER_HEADER)$(DRAFT_HEADER)); \
 883           $(call OptionPair,-bottom,$(HTTPSERVER_BOTTOM)$(DRAFT_BOTTOM)); \
 884           $(call OptionTrip,-linkoffline,$(HTTPSERVER2COREAPI),$(COREAPI_DOCSDIR)/); \
 885         ) >> $@
 886 
 887 # Create a file with the package names in it
 888 $(HTTPSERVER_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(HTTPSERVER_PKGS))
 889         $(prep-target)
 890         $(call PackageFilter,$(HTTPSERVER_PKGS))
 891 
 892 #############################################################
 893 #
 894 # mgmtdocs
 895 #
 896 
 897 ALL_OTHER_TARGETS += mgmtdocs
 898 
 899 MGMT_DOCDIR := $(JRE_API_DOCSDIR)/management/extension
 900 MGMT2COREAPI := ../../$(JDKJRE2COREAPI)
 901 JVM_MIB_NAME := JVM-MANAGEMENT-MIB.mib
 902 JVM_MIB_SRC := $(JDK_TOPDIR)/src/closed/share/classes/sun/management/snmp/$(JVM_MIB_NAME)
 903 MGMT_DOCTITLE := Monitoring and Management Interface for the Java$(TRADEMARK) Platform
 904 MGMT_WINDOWTITLE := Monitoring and Management Interface for the Java Platform
 905 MGMT_HEADER := <strong>Monitoring and Management Interface for the Java Platform</strong>
 906 MGMT_BOTTOM := $(call CommonBottom,$(MGMT_FIRST_COPYRIGHT_YEAR))
 907 MGMT_OVERVIEW := $(JDK_SHARE_CLASSES)/com/sun/management/mgmt-overview.html
 908 # MGMT_PKGS is located in NON_CORE_PKGS.gmk
 909 
 910 # The index.html, options, and packages files
 911 MGMT_INDEX_FILE = $(MGMT_DOCDIR)/index.html
 912 MGMT_OPTIONS_FILE = $(DOCSTMPDIR)/mgmt.options
 913 MGMT_PACKAGES_FILE = $(DOCSTMPDIR)/mgmt.packages
 914 
 915 mgmtdocs: $(MGMT_INDEX_FILE)
 916 
 917 # Set relative location to core api document root
 918 $(MGMT_INDEX_FILE): GET2DOCSDIR=$(MGMT2COREAPI)/..
 919 
 920 # Run javadoc if the index file is out of date or missing
 921 $(MGMT_INDEX_FILE): $(MGMT_OPTIONS_FILE) $(MGMT_PACKAGES_FILE) coredocs
 922         $(prep-javadoc)
 923         @if [ -f $(JVM_MIB_SRC) ] ; then \
 924           $(ECHO) "$(CP) $(JVM_MIB_SRC) $(@D)/.."; \
 925           $(CP) $(JVM_MIB_SRC) $(@D)/.. ; \
 926         else \
 927           $(ECHO) "WARNING: File $(JVM_MIB_NAME) not available."; \
 928         fi
 929         $(call JavadocSummary,$(MGMT_OPTIONS_FILE),$(MGMT_PACKAGES_FILE))
 930         $(JAVADOC_CMD) -d $(@D) \
 931             @$(MGMT_OPTIONS_FILE) @$(MGMT_PACKAGES_FILE)
 932 
 933 # Create file with javadoc options in it
 934 $(MGMT_OPTIONS_FILE): $(MGMT_OVERVIEW)
 935         $(prep-target)
 936         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
 937           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
 938           $(call OptionPair,-encoding,ascii) ; \
 939           $(call OptionOnly,-nodeprecatedlist) ; \
 940           $(call OptionPair,-overview,$(MGMT_OVERVIEW)) ; \
 941           $(call OptionPair,-doctitle,$(MGMT_DOCTITLE)) ; \
 942           $(call OptionPair,-windowtitle,$(MGMT_WINDOWTITLE) $(DRAFT_WINTITLE)); \
 943           $(call OptionPair,-header,$(MGMT_HEADER)$(DRAFT_HEADER)) ; \
 944           $(call OptionPair,-bottom,$(MGMT_BOTTOM)$(DRAFT_BOTTOM)) ; \
 945           $(call OptionTrip,-linkoffline,$(MGMT2COREAPI),$(COREAPI_DOCSDIR)/); \
 946         ) >> $@
 947 
 948 # Create a file with the package names in it
 949 $(MGMT_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(MGMT_PKGS))
 950         $(prep-target)
 951         $(call PackageFilter,$(MGMT_PKGS))
 952 
 953 #############################################################
 954 #
 955 # attachdocs
 956 #
 957 
 958 ALL_OTHER_TARGETS += attachdocs
 959 
 960 ATTACH_DOCDIR := $(JDK_API_DOCSDIR)/attach/spec
 961 ATTACH2COREAPI := ../../$(JDKJRE2COREAPI)
 962 ATTACH_DOCTITLE := Attach API
 963 ATTACH_WINDOWTITLE := Attach API
 964 ATTACH_HEADER := <strong>Attach API</strong>
 965 ATTACH_BOTTOM := $(call CommonBottom,$(ATTACH_FIRST_COPYRIGHT_YEAR))
 966 # ATTACH_PKGS is located in NON_CORE_PKGS.gmk
 967 
 968 ATTACH_INDEX_HTML = $(ATTACH_DOCDIR)/index.html
 969 ATTACH_OPTIONS_FILE = $(DOCSTMPDIR)/attach.options
 970 ATTACH_PACKAGES_FILE = $(DOCSTMPDIR)/attach.packages
 971 
 972 attachdocs: $(ATTACH_INDEX_HTML)
 973 
 974 # Set relative location to core api document root
 975 $(ATTACH_INDEX_HTML): GET2DOCSDIR=$(ATTACH2COREAPI)/..
 976 
 977 # Run javadoc if the index file is out of date or missing
 978 $(ATTACH_INDEX_HTML): $(ATTACH_OPTIONS_FILE) $(ATTACH_PACKAGES_FILE) coredocs
 979         $(prep-javadoc)
 980         $(call JavadocSummary,$(ATTACH_OPTIONS_FILE),$(ATTACH_PACKAGES_FILE))
 981         $(JAVADOC_CMD) -d $(@D) \
 982             @$(ATTACH_OPTIONS_FILE) @$(ATTACH_PACKAGES_FILE)
 983 
 984 # Create file with javadoc options in it
 985 $(ATTACH_OPTIONS_FILE):
 986         $(prep-target)
 987         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
 988           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
 989           $(call OptionPair,-encoding,ascii) ; \
 990           $(call OptionOnly,-nodeprecatedlist) ; \
 991           $(call OptionPair,-doctitle,$(ATTACH_DOCTITLE)) ; \
 992           $(call OptionPair,-windowtitle,$(ATTACH_WINDOWTITLE) $(DRAFT_WINTITLE)); \
 993           $(call OptionPair,-header,$(ATTACH_HEADER)$(DRAFT_HEADER)) ; \
 994           $(call OptionPair,-bottom,$(ATTACH_BOTTOM)$(DRAFT_BOTTOM)) ; \
 995           $(call OptionTrip,-linkoffline,$(ATTACH2COREAPI),$(COREAPI_DOCSDIR)/); \
 996         ) >> $@
 997 
 998 # Create a file with the package names in it
 999 $(ATTACH_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(ATTACH_PKGS))
1000         $(prep-target)
1001         $(call PackageFilter,$(ATTACH_PKGS))
1002 
1003 #############################################################
1004 #
1005 # jconsoledocs
1006 #
1007 
1008 ALL_OTHER_TARGETS += jconsoledocs
1009 
1010 JCONSOLE_DOCDIR := $(JDK_API_DOCSDIR)/jconsole/spec
1011 JCONSOLE2COREAPI := ../../$(JDKJRE2COREAPI)
1012 JCONSOLE_DOCTITLE := JConsole API
1013 JCONSOLE_WINDOWTITLE := JConsole API
1014 JCONSOLE_HEADER := <strong>JConsole API</strong>
1015 JCONSOLE_BOTTOM := $(call CommonBottom,$(JCONSOLE_FIRST_COPYRIGHT_YEAR))
1016 # JCONSOLE_PKGS is located in NON_CORE_PKGS.gmk
1017 
1018 JCONSOLE_INDEX_HTML = $(JCONSOLE_DOCDIR)/index.html
1019 JCONSOLE_OPTIONS_FILE = $(DOCSTMPDIR)/jconsole.options
1020 JCONSOLE_PACKAGES_FILE = $(DOCSTMPDIR)/jconsole.packages
1021 
1022 jconsoledocs: $(JCONSOLE_INDEX_HTML)
1023 
1024 # Set relative location to core api document root
1025 $(JCONSOLE_INDEX_HTML): GET2DOCSDIR=$(JCONSOLE2COREAPI)/..
1026 
1027 # Run javadoc if the index file is out of date or missing
1028 $(JCONSOLE_INDEX_HTML): $(JCONSOLE_OPTIONS_FILE) $(JCONSOLE_PACKAGES_FILE) coredocs
1029         $(prep-javadoc)
1030         $(call JavadocSummary,$(JCONSOLE_OPTIONS_FILE),$(JCONSOLE_PACKAGES_FILE))
1031         $(JAVADOC_CMD) -d $(@D) \
1032             @$(JCONSOLE_OPTIONS_FILE) @$(JCONSOLE_PACKAGES_FILE)
1033 
1034 # Create file with javadoc options in it
1035 $(JCONSOLE_OPTIONS_FILE):
1036         $(prep-target)
1037         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
1038           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
1039           $(call OptionPair,-encoding,ascii) ; \
1040           $(call OptionOnly,-nodeprecatedlist) ; \
1041           $(call OptionPair,-doctitle,$(JCONSOLE_DOCTITLE)) ; \
1042           $(call OptionPair,-windowtitle,$(JCONSOLE_WINDOWTITLE) $(DRAFT_WINTITLE)); \
1043           $(call OptionPair,-header,$(JCONSOLE_HEADER)$(DRAFT_HEADER)) ; \
1044           $(call OptionPair,-bottom,$(JCONSOLE_BOTTOM)$(DRAFT_BOTTOM)) ; \
1045           $(call OptionTrip,-linkoffline,$(JCONSOLE2COREAPI),$(COREAPI_DOCSDIR)/); \
1046         ) >> $@
1047 
1048 # Create a file with the package names in it
1049 $(JCONSOLE_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JCONSOLE_PKGS))
1050         $(prep-target)
1051         $(call PackageFilter,$(JCONSOLE_PKGS))
1052 
1053 #############################################################
1054 #
1055 # treeapidocs
1056 #
1057 
1058 ALL_OTHER_TARGETS += treeapidocs
1059 
1060 TREEAPI_DOCDIR := $(JDK_API_DOCSDIR)/javac/tree
1061 TREEAPI2COREAPI := ../../$(JDKJRE2COREAPI)
1062 TREEAPI_DOCTITLE := Compiler Tree API
1063 TREEAPI_WINDOWTITLE := Compiler Tree API
1064 TREEAPI_HEADER := <strong>Compiler Tree API</strong>
1065 TREEAPI_BOTTOM := $(call CommonBottom,$(TREEAPI_FIRST_COPYRIGHT_YEAR))
1066 TREEAPI_GROUPNAME := Packages
1067 TREEAPI_REGEXP := com.sun.source.*
1068 # TREEAPI_PKGS is located in NON_CORE_PKGS.gmk
1069 
1070 TREEAPI_INDEX_HTML = $(TREEAPI_DOCDIR)/index.html
1071 TREEAPI_OPTIONS_FILE = $(DOCSTMPDIR)/treeapi.options
1072 TREEAPI_PACKAGES_FILE = $(DOCSTMPDIR)/treeapi.packages
1073 
1074 treeapidocs: $(TREEAPI_INDEX_HTML)
1075 
1076 # Set relative location to core api document root
1077 $(TREEAPI_INDEX_HTML): GET2DOCSDIR=$(TREEAPI2COREAPI)/..
1078 
1079 # Run javadoc if the index file is out of date or missing
1080 $(TREEAPI_INDEX_HTML): $(TREEAPI_OPTIONS_FILE) $(TREEAPI_PACKAGES_FILE) coredocs
1081         $(prep-javadoc)
1082         $(call JavadocSummary,$(TREEAPI_OPTIONS_FILE),$(TREEAPI_PACKAGES_FILE))
1083         $(JAVADOC_CMD) -d $(@D) \
1084             @$(TREEAPI_OPTIONS_FILE) @$(TREEAPI_PACKAGES_FILE)
1085 
1086 # Create file with javadoc options in it
1087 $(TREEAPI_OPTIONS_FILE):
1088         $(prep-target)
1089         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
1090           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
1091           $(call OptionPair,-encoding,ascii) ; \
1092           $(call OptionPair,-doctitle,$(TREEAPI_DOCTITLE)) ; \
1093           $(call OptionPair,-windowtitle,$(TREEAPI_WINDOWTITLE) $(DRAFT_WINTITLE)); \
1094           $(call OptionPair,-header,$(TREEAPI_HEADER)$(DRAFT_HEADER)) ; \
1095           $(call OptionPair,-tag,$(TAG_JLS)) ; \
1096           $(call OptionPair,-bottom,$(TREEAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
1097           $(call OptionTrip,-group,$(TREEAPI_GROUPNAME),$(TREEAPI_REGEXP)); \
1098           $(call OptionTrip,-linkoffline,$(TREEAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
1099         ) >> $@
1100 
1101 # Create a file with the package names in it
1102 $(TREEAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(TREEAPI_PKGS))
1103         $(prep-target)
1104         $(call PackageFilter,$(TREEAPI_PKGS))
1105 
1106 #############################################################
1107 #
1108 # nashornapidocs
1109 #
1110 
1111 ALL_OTHER_TARGETS += nashornapidocs
1112 
1113 NASHORNAPI_DOCDIR := $(JDK_API_DOCSDIR)/nashorn
1114 NASHORNAPI2COREAPI := ../$(JDKJRE2COREAPI)
1115 NASHORNAPI_DOCTITLE := Nashorn API
1116 NASHORNAPI_WINDOWTITLE := Nashorn API
1117 NASHORNAPI_HEADER := <strong>Nashorn API</strong>
1118 NASHORNAPI_BOTTOM := $(call CommonBottom,$(NASHORNAPI_FIRST_COPYRIGHT_YEAR))
1119 NASHORNAPI_GROUPNAME := Packages
1120 NASHORNAPI_REGEXP := jdk.nashorn.api.scripting.*
1121 
1122 # NASHORNAPI_PKGS is located in NON_CORE_PKGS.gmk
1123 
1124 NASHORNAPI_INDEX_HTML = $(NASHORNAPI_DOCDIR)/index.html
1125 NASHORNAPI_OPTIONS_FILE = $(DOCSTMPDIR)/nashornapi.options
1126 NASHORNAPI_PACKAGES_FILE = $(DOCSTMPDIR)/nashornapi.packages
1127 
1128 nashornapidocs: $(NASHORNAPI_INDEX_HTML)
1129 
1130 # Set relative location to core api document root
1131 $(NASHORNAPI_INDEX_HTML): GET2DOCSDIR=$(NASHORNAPI2COREAPI)/..
1132 
1133 # Run javadoc if the index file is out of date or missing
1134 $(NASHORNAPI_INDEX_HTML): $(NASHORNAPI_OPTIONS_FILE) $(NASHORNAPI_PACKAGES_FILE) coredocs
1135         $(prep-javadoc)
1136         $(call JavadocSummary,$(NASHORNAPI_OPTIONS_FILE),$(NASHORNAPI_PACKAGES_FILE))
1137         $(JAVADOC_CMD) -d $(@D) \
1138             @$(NASHORNAPI_OPTIONS_FILE) @$(NASHORNAPI_PACKAGES_FILE)
1139 
1140 # Create file with javadoc options in it
1141 $(NASHORNAPI_OPTIONS_FILE):
1142         $(prep-target)
1143         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
1144           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
1145           $(call OptionPair,-encoding,ascii) ; \
1146           $(call OptionPair,-doctitle,$(NASHORNAPI_DOCTITLE)) ; \
1147           $(call OptionPair,-windowtitle,$(NASHORNAPI_WINDOWTITLE) $(DRAFT_WINTITLE)); \
1148           $(call OptionPair,-header,$(NASHORNAPI_HEADER)$(DRAFT_HEADER)) ; \
1149           $(call OptionPair,-tag,$(TAG_JLS)) ; \
1150           $(call OptionPair,-bottom,$(NASHORNAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
1151           $(call OptionTrip,-group,$(NASHORNAPI_GROUPNAME),$(NASHORNAPI_REGEXP)); \
1152           $(call OptionTrip,-linkoffline,$(NASHORNAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
1153         ) >> $@
1154 
1155 # Create a file with the package names in it
1156 $(NASHORNAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(NASHORNAPI_PKGS))
1157         $(prep-target)
1158         $(call PackageFilter,$(NASHORNAPI_PKGS))
1159 
1160 #############################################################
1161 #
1162 # sctpdocs
1163 #
1164 
1165 ALL_OTHER_TARGETS += sctpdocs
1166 
1167 SCTPAPI_DOCDIR := $(JRE_API_DOCSDIR)/nio/sctp/spec
1168 SCTPAPI2COREAPI := ../../../$(JDKJRE2COREAPI)
1169 SCTPAPI_DOCTITLE := SCTP API
1170 SCTPAPI_WINDOWTITLE := SCTP API
1171 SCTPAPI_HEADER := <strong>SCTP API</strong>
1172 SCTPAPI_BOTTOM := $(call CommonBottom,$(SCTPAPI_FIRST_COPYRIGHT_YEAR))
1173 # SCTPAPI_PKGS is located in NON_CORE_PKGS.gmk
1174 
1175 SCTPAPI_INDEX_HTML = $(SCTPAPI_DOCDIR)/index.html
1176 SCTPAPI_OPTIONS_FILE = $(DOCSTMPDIR)/sctp.options
1177 SCTPAPI_PACKAGES_FILE = $(DOCSTMPDIR)/sctp.packages
1178 
1179 sctpdocs: $(SCTPAPI_INDEX_HTML)
1180 
1181 # Set relative location to core api document root
1182 $(SCTPAPI_INDEX_HTML): GET2DOCSDIR=$(SCTPAPI2COREAPI)/..
1183 
1184 # Run javadoc if the index file is out of date or missing
1185 $(SCTPAPI_INDEX_HTML): $(SCTPAPI_OPTIONS_FILE) $(SCTPAPI_PACKAGES_FILE) coredocs
1186         $(prep-javadoc)
1187         $(call JavadocSummary,$(SCTPAPI_OPTIONS_FILE),$(SCTPAPI_PACKAGES_FILE))
1188         $(JAVADOC_CMD) -d $(@D) \
1189             @$(SCTPAPI_OPTIONS_FILE) @$(SCTPAPI_PACKAGES_FILE)
1190 
1191 # Create file with javadoc options in it
1192 $(SCTPAPI_OPTIONS_FILE):
1193         $(prep-target)
1194         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
1195           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
1196           $(call OptionPair,-encoding,ascii) ; \
1197           $(call OptionOnly,-nodeprecatedlist) ; \
1198           $(call OptionPair,-doctitle,$(SCTPAPI_DOCTITLE)) ; \
1199           $(call OptionPair,-windowtitle,$(SCTPAPI_WINDOWTITLE) $(DRAFT_WINTITLE)); \
1200           $(call OptionPair,-header,$(SCTPAPI_HEADER)$(DRAFT_HEADER)) ; \
1201           $(call OptionPair,-bottom,$(SCTPAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
1202           $(call OptionTrip,-linkoffline,$(SCTPAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
1203         ) >> $@
1204 
1205 # Create a file with the package names in it
1206 $(SCTPAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(SCTPAPI_PKGS))
1207         $(prep-target)
1208         $(call PackageFilter,$(SCTPAPI_PKGS))
1209 
1210 #############################################################
1211 #
1212 # jaccessdocs - Java Accessibility Utilities
1213 #
1214 
1215 ALL_OTHER_TARGETS += jaccessdocs
1216 
1217 JACCESSAPI_DOCDIR := $(JRE_API_DOCSDIR)/accessibility/jaccess/spec
1218 JACCESSAPI2COREAPI := ../../../$(JDKJRE2COREAPI)
1219 JACCESSAPI_DOCTITLE := JACCESS API
1220 JACCESSAPI_WINDOWTITLE := JACCESS API
1221 JACCESSAPI_HEADER := <strong>JACCESS API</strong>
1222 JACCESSAPI_BOTTOM := $(call CommonBottom,$(JACCESSAPI_FIRST_COPYRIGHT_YEAR))
1223 # JACCESSAPI_PKGS is located in NON_CORE_PKGS.gmk
1224 
1225 JACCESSAPI_INDEX_HTML = $(JACCESSAPI_DOCDIR)/index.html
1226 JACCESSAPI_OPTIONS_FILE = $(DOCSTMPDIR)/jaccess.options
1227 JACCESSAPI_PACKAGES_FILE = $(DOCSTMPDIR)/jaccess.packages
1228 
1229 jaccessdocs: $(JACCESSAPI_INDEX_HTML)
1230 
1231 # Set relative location to core api document root
1232 $(JACCESSAPI_INDEX_HTML): GET2DOCSDIR=$(JACCESSAPI2COREAPI)/..
1233 
1234 # Run javadoc if the index file is out of date or missing
1235 $(JACCESSAPI_INDEX_HTML): $(JACCESSAPI_OPTIONS_FILE) $(JACCESSAPI_PACKAGES_FILE) coredocs
1236         $(prep-javadoc)
1237         $(call JavadocSummary,$(JACCESSAPI_OPTIONS_FILE),$(JACCESSAPI_PACKAGES_FILE))
1238         $(JAVADOC_CMD) -d $(@D) \
1239             @$(JACCESSAPI_OPTIONS_FILE) @$(JACCESSAPI_PACKAGES_FILE)
1240 
1241 # Create file with javadoc options in it
1242 $(JACCESSAPI_OPTIONS_FILE):
1243         $(prep-target)
1244         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
1245           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
1246           $(call OptionPair,-encoding,ascii) ; \
1247           $(call OptionOnly,-nodeprecatedlist) ; \
1248           $(call OptionPair,-doctitle,$(JACCESSAPI_DOCTITLE)) ; \
1249           $(call OptionPair,-windowtitle,$(JACCESSAPI_WINDOWTITLE) $(DRAFT_WINTITLE)); \
1250           $(call OptionPair,-header,$(JACCESSAPI_HEADER)$(DRAFT_HEADER)) ; \
1251           $(call OptionPair,-bottom,$(JACCESSAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
1252           $(call OptionTrip,-linkoffline,$(JACCESSAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
1253         ) >> $@
1254 
1255 # Create a file with the package names in it
1256 $(JACCESSAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JACCESSAPI_PKGS))
1257         $(prep-target)
1258         $(call PackageFilter,$(JACCESSAPI_PKGS))
1259 
1260 #############################################################
1261 #
1262 # jdk.net docs
1263 #
1264 
1265 ALL_OTHER_TARGETS += jdknetdocs
1266 
1267 JDKNET_DOCDIR := $(JRE_API_DOCSDIR)/net/socketoptions/spec
1268 JDKNET2COREAPI := ../../../$(JDKJRE2COREAPI)
1269 JDKNET_DOCTITLE := jdk.net API
1270 JDKNET_WINDOWTITLE := jdk.net API
1271 JDKNET_HEADER := <strong>jdk.net API</strong>
1272 JDKNET_BOTTOM := $(call CommonBottom,$(JDKNET_FIRST_COPYRIGHT_YEAR))
1273 JDKNET_PKGS := jdk.net
1274 
1275 JDKNET_INDEX_HTML = $(JDKNET_DOCDIR)/index.html
1276 JDKNET_OPTIONS_FILE = $(DOCSTMPDIR)/jdknet.options
1277 JDKNET_PACKAGES_FILE = $(DOCSTMPDIR)/jdknet.packages
1278 
1279 jdknetdocs: $(JDKNET_INDEX_HTML)
1280 
1281 # Set relative location to core api document root
1282 $(JDKNET_INDEX_HTML): GET2DOCSDIR=$(JDKNET2COREAPI)/..
1283 
1284 # Run javadoc if the index file is out of date or missing
1285 $(JDKNET_INDEX_HTML): $(JDKNET_OPTIONS_FILE) $(JDKNET_PACKAGES_FILE) coredocs
1286         $(prep-javadoc)
1287         $(call JavadocSummary,$(JDKNET_OPTIONS_FILE),$(JDKNET_PACKAGES_FILE))
1288         $(JAVADOC_CMD) -d $(@D) \
1289             @$(JDKNET_OPTIONS_FILE) @$(JDKNET_PACKAGES_FILE)
1290 
1291 # Create file with javadoc options in it
1292 $(JDKNET_OPTIONS_FILE):
1293         $(prep-target)
1294         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
1295           $(call OptionOnly,-Xdoclint:none) ; \
1296           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
1297           $(call OptionPair,-encoding,ascii) ; \
1298           $(call OptionOnly,-nodeprecatedlist) ; \
1299           $(call OptionPair,-doctitle,$(JDKNET_DOCTITLE)) ; \
1300           $(call OptionPair,-windowtitle,$(JDKNET_WINDOWTITLE) $(DRAFT_WINTITLE)); \
1301           $(call OptionPair,-header,$(JDKNET_HEADER)$(DRAFT_HEADER)); \
1302           $(call OptionPair,-bottom,$(JDKNET_BOTTOM)$(DRAFT_BOTTOM)); \
1303           $(call OptionTrip,-linkoffline,$(JDKNET2COREAPI),$(COREAPI_DOCSDIR)/); \
1304         ) >> $@
1305 
1306 # Create a file with the package names in it
1307 $(JDKNET_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JDKNET_PKGS))
1308         $(prep-target)
1309         $(call PackageFilter,$(JDKNET_PKGS))
1310 
1311 #############################################################
1312 #
1313 # Get a cache of all the directories
1314 
1315 $(DIRECTORY_CACHE): $(ALL_EXISTING_SOURCE_DIRS)
1316         $(prep-target)
1317         @for cp in $(ALL_EXISTING_SOURCE_DIRS) ; do \
1318           $(ECHO) "$(FIND) $${cp} -type f >> $@"; \
1319           $(FIND) $${cp} -type f >> $@; \
1320         done
1321 
1322 #############################################################
1323 #release version of core packages ########
1324 
1325 # The rel-coredocs and rel-docs targets were added by Eric Armstrong. rel-coredocs
1326 # assumes the kind of large, 32-bit machine used in the javapubs group's docs-release
1327 # process. It specifies memory settings accordingly to maximize performance.
1328 #
1329 # The performance settings, like the sanity check, are most important for the core
1330 # docs--the platform APIs. Running javadoc on those APIs takes a significant amount
1331 # of time and memory. Setting the initial heap size as large as possible is important
1332 # to prevent thrashing as the heap grows. Setting the maximum as large as necessary
1333 # is also important to keep the job from failing.
1334 #
1335 #    -J-Xmx512 sets a maximum of 512, which became necessary in 6.0
1336 #    -J-Xms256 sets starting size to 256 (default is 8)
1337 #
1338 # rel-coredocs also includes a sanity check to help ensure that BUILD_NUMBER and
1339 # MILESTONE are specified properly when docs are built outside of the normal release
1340 # engineering process, with the intention of releasing them on the web or in a downloaded
1341 # docs bundle. (When invoked in release engineering's control build, the values are always
1342 # set properly. But when the targets are run by themselves, they default to b00 and
1343 # "internal"--which silently sabotage the result of a build that can take many hours
1344 # to complete.
1345 
1346 # Maximize performance and ensure that build number & milestone are set.
1347 
1348 rel-coredocs: sanitycheckcoredocs
1349         $(MAKE) coredocs
1350 
1351 rel-docs: rel-coredocs $(ALL_OTHER_TARGETS)
1352 #
1353 # end of production targets
1354 
1355 otherdocs: $(ALL_OTHER_TARGETS)
1356 
1357 clean:
1358         $(RM) -r $(DOCSDIR) $(DOCSTMPDIR)
1359 
1360 #############################################################
1361 # DEBUG TARGET
1362 # List the values defined in the makefile hierarchy, to make sure everything
1363 # is set properly, and to help identify values we can use instead of making new ones.
1364 # (Most of them come from common/shared/Defs.gmk)
1365 #
1366 # Notes:
1367 # * BUILD_NUMBER defaults to b00 if not set on command line with BUILD_NUMBER=<value>
1368 # * MILESTONE defaults to internal unless set to beta, rc, or fcs on command line
1369 #
1370 
1371 #############################################################
1372 .PHONY: all docs coredocs rel-docs otherdocs rel-coredocs \
1373     sanitycheckcoredocs $(ALL_OTHER_TARGETS)