1 # Copyright (c) 1997, 2013, 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 JNLP_FIRST_COPYRIGHT_YEAR           = 1998
  74 PLUGIN2_FIRST_COPYRIGHT_YEAR        = 2007
  75 
  76 # Oracle name
  77 FULL_COMPANY_NAME = Oracle and/or its affiliates
  78 
  79 # Copyright address
  80 COMPANY_ADDRESS = 500 Oracle Parkway<br>Redwood Shores, CA 94065 USA.
  81 
  82 # The trademark symbol
  83 TRADEMARK = &trade;
  84 
  85 # Common copyright lines used
  86 #   The word "Copyright" might optionally be a link to the file cpyr.html.
  87 #   The first year of copyright may vary or not be available.
  88 #   The address to the company might be optional.
  89 COMMA:= ,
  90 EMPTY:=
  91 SPACE:=$(EMPTY) $(EMPTY)
  92 COPYRIGHT_SYMBOL = &\#x00a9;
  93 # Macro to construct the copyright line
  94 #   (The GNU make 3.78.1 "if" conditional is broken, fixed in GNU make 3.81)
  95 define CopyrightLine # optionalurl optionalfirstyear optionaladdress
  96 $(if $(strip $1),<a href="$(strip $1)">Copyright</a>,Copyright) \
  97 $(COPYRIGHT_SYMBOL) $(if $2,$2${COMMA},) $(COPYRIGHT_YEAR),\
  98 $(FULL_COMPANY_NAME). $3 All rights reserved.
  99 endef
 100 
 101 # Url to root of documents
 102 DOCSDIR_URL = {@docroot}/$(GET2DOCSDIR)
 103 
 104 # Url to copyright html file
 105 COPYRIGHT_URL-7 = $(DOCSDIR_URL)/legal/cpyr.html
 106 # This isn't added in old build yet.
 107 #COPYRIGHT_URL-8 = $(DOCSDIR_URL)/legal/cpyr.html
 108 COPYRIGHT_URL = $(COPYRIGHT_URL-$(JDK_MINOR_VERSION))
 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 = http://download.oracle.com/javase/7/docs/index.html
 119 # This isn't added in old build yet.
 120 #DEV_DOCS_URL-8 = http://download.oracle.com/javase/7/docs/index.html
 121 DEV_DOCS_URL = $(DEV_DOCS_URL-$(JDK_MINOR_VERSION))
 122 DOCS_BASE_URL = http://download.oracle.com/javase/7/docs
 123 
 124 # Common Java trademark line
 125 JAVA_TRADEMARK_LINE = Java is a trademark or registered trademark of \
 126 $(FULL_COMPANY_NAME) in the US and other countries.
 127 
 128 #################################################################
 129 # Macros:
 130 
 131 
 132 # List of all possible directories for javadoc to look for sources
 133 #    NOTE: Quotes are required around sourcepath argument only on Windows.
 134 #          Otherwise, you get "No packages or classes specified." due 
 135 #          to $(PATH_SEP) being interpreted as an end of 
 136 #          command (newline or shell ; character)
 137 ALL_SOURCE_DIRS = $(JDK_SHARE_CLASSES) \
 138                   $(JDK_IMPSRC) \
 139                   $(JDK_GENSRC) \
 140                   $(JDK_OUTPUTDIR)/gendocsrc_rmic \
 141                   $(JDK_TOPDIR)/src/solaris/classes \
 142                   $(JDK_TOPDIR)/src/windows/classes \
 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)/makefiles/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 endif
 299 
 300 #################################################################
 301 
 302 #
 303 # CORE_PKGS environment variable has been moved to the following file
 304 #
 305 include CORE_PKGS.gmk
 306 
 307 #
 308 # Load environment variables for API package names that are not part of
 309 # the Java SE platform
 310 #
 311 include NON_CORE_PKGS.gmk
 312 
 313 #################################################################
 314 
 315 #
 316 # Default target is same as docs target, create core api and all others it can
 317 #
 318 
 319 all: docs
 320 docs: coredocs otherdocs
 321 
 322 #################################################################
 323 # Production Targets -- USE THESE TARGETS WHEN:
 324 #    a) You're generating docs outside of release engineering's
 325 #       standard control build.
 326 #    b) The docs will be pushed to the web and/or included in
 327 #       the downloaded doc bundle.
 328 #
 329 # See:  Notes.html#releaseTargets
 330 # Note: Spaces precede ifdef/ifndef indents. Tabs precede target commands (!)
 331 #
 332 
 333 sanitycheckcoredocs:
 334         @$(ECHO) ""
 335         @$(ECHO) "Building core api docs with these values:"
 336         @$(ECHO) "    BUILD_NUMBER = $(BUILD_NUMBER)"
 337         @$(ECHO) "    MILESTONE = $(MILESTONE)"
 338         @$(ECHO) ""
 339   ifeq ($(BUILD_NUMBER), b00)
 340         @$(ECHO) "ERROR: Build number must be defined"
 341         @$(ECHO) "MILESTONE is set to $(MILESTONE)"
 342         @$(ECHO) ""
 343         exit 1
 344   endif
 345 
 346 #############################################################
 347 #
 348 # coredocs
 349 #
 350 COREAPI_DOCTITLE  = Java$(TRADEMARK) Platform, Standard Edition \
 351 $(JDK_MINOR_VERSION)<br>API Specification
 352 COREAPI_WINDOWTITLE  = Java Platform SE $(JDK_MINOR_VERSION)
 353 COREAPI_HEADER = \
 354 <strong>Java$(TRADEMARK)&nbsp;Platform<br>Standard&nbsp;Ed.&nbsp;$(JDK_MINOR_VERSION)</strong>
 355 
 356 # Java language specification cite
 357 TAG_JLS = jls:a:See <cite> \
 358 The Java&trade; Language Specification</cite>:
 359 
 360 # Overview file for core apis
 361 COREAPI_OVERVIEW = $(JDK_SHARE_CLASSES)/overview-core.html
 362 
 363 # The index.html, options, and packages files
 364 COREAPI_INDEX_FILE    = $(COREAPI_DOCSDIR)/index.html
 365 COREAPI_OPTIONS_FILE  = $(DOCSTMPDIR)/coredocs.options
 366 COREAPI_PACKAGES_FILE = $(DOCSTMPDIR)/coredocs.packages
 367 
 368 coredocs: $(COREAPI_INDEX_FILE)
 369 
 370 # Set relative location to core api document root
 371 $(COREAPI_INDEX_FILE): GET2DOCSDIR=..
 372 
 373 # Run javadoc if the index file is out of date or missing
 374 $(COREAPI_INDEX_FILE): $(COREAPI_OPTIONS_FILE) $(COREAPI_PACKAGES_FILE)
 375         $(prep-javadoc)
 376         $(call JavadocSummary,$(COREAPI_OPTIONS_FILE),$(COREAPI_PACKAGES_FILE))
 377         $(JAVADOC_CMD) -d $(@D) \
 378           @$(COREAPI_OPTIONS_FILE) @$(COREAPI_PACKAGES_FILE)
 379 
 380 # Create file with javadoc options in it
 381 $(COREAPI_OPTIONS_FILE): $(COREAPI_OVERVIEW)
 382         $(prep-target)
 383         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS))                     ; \
 384           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))      ; \
 385           $(call OptionPair,-encoding,ISO-8859-1)                       ; \
 386           $(call OptionPair,-tag,beaninfo:X)                            ; \
 387           $(call OptionPair,-tag,revised:X)                             ; \
 388           $(call OptionPair,-tag,since.unbundled:X)                     ; \
 389           $(call OptionPair,-tag,spec:X)                                ; \
 390           $(call OptionPair,-tag,specdefault:X)                         ; \
 391           $(call OptionPair,-tag,Note:X)                                ; \
 392           $(call OptionPair,-tag,ToDo:X)                                ; \
 393           $(call OptionPair,-tag,apiNote:a:<em>API Note:</em>)      ; \
 394           $(call OptionPair,-tag,implSpec:a:<em>Implementation Requirements:</em>); \
 395           $(call OptionPair,-tag,implNote:a:<em>Implementation Note:</em>); \
 396           $(call OptionPair,-tag,param)                                 ; \
 397           $(call OptionPair,-tag,return)                                ; \
 398           $(call OptionPair,-tag,throws)                                ; \
 399           $(call OptionPair,-tag,since)                                 ; \
 400           $(call OptionPair,-tag,version)                               ; \
 401           $(call OptionPair,-tag,serialData)                            ; \
 402           $(call OptionPair,-tag,factory)                               ; \
 403           $(call OptionPair,-tag,see)                                   ; \
 404           $(call OptionPair,-tag,$(TAG_JLS))                            ; \
 405           $(call OptionOnly,-splitIndex)                                ; \
 406           $(call OptionPair,-overview,$(COREAPI_OVERVIEW))              ; \
 407           $(call OptionPair,-doctitle,$(COREAPI_DOCTITLE))              ; \
 408           $(call OptionPair,-windowtitle,$(COREAPI_WINDOWTITLE) $(DRAFT_WINTITLE)) ;\
 409           $(call OptionPair,-header,$(COREAPI_HEADER)$(DRAFT_HEADER))   ; \
 410           $(call OptionPair,-bottom,$(COREAPI_BOTTOM)$(DRAFT_BOTTOM))   ; \
 411         ) >> $@
 412 ifdef COREAPI_TOP_EARLYACCESS
 413         @$(call OptionPair,-top,$(COREAPI_TOP_EARLYACCESS)) >> $@
 414 endif
 415 
 416 # Create a file with the package names in it
 417 $(COREAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(CORE_PKGS))
 418         $(prep-target)
 419         $(call PackageFilter,$(CORE_PKGS))
 420 
 421 #############################################################
 422 #
 423 # docletapidocs
 424 #
 425 
 426 ALL_OTHER_TARGETS += docletapidocs
 427 
 428 DOCLETAPI_DOCDIR       := $(JDK_API_DOCSDIR)/javadoc/doclet
 429 DOCLETAPI2COREAPI      := ../../$(JDKJRE2COREAPI)
 430 DOCLETAPI_DOCTITLE     := Doclet API
 431 DOCLETAPI_WINDOWTITLE  := Doclet API
 432 DOCLETAPI_HEADER       := <strong>Doclet API</strong>
 433 DOCLETAPI_BOTTOM       := $(call CommonTrademarkBottom,$(DOCLETAPI_FIRST_COPYRIGHT_YEAR))
 434 DOCLETAPI_GROUPNAME    := Packages
 435 DOCLETAPI_REGEXP       := com.sun.javadoc
 436 # DOCLETAPI_PKGS is located in NON_CORE_PKGS.gmk
 437 
 438 # The index.html, options, and packages files
 439 DOCLETAPI_INDEX_FILE    = $(DOCLETAPI_DOCDIR)/index.html
 440 DOCLETAPI_OPTIONS_FILE  = $(DOCSTMPDIR)/docletapi.options
 441 DOCLETAPI_PACKAGES_FILE = $(DOCSTMPDIR)/docletapi.packages
 442 
 443 docletapidocs: $(DOCLETAPI_INDEX_FILE)
 444 
 445 # Set relative location to core api document root
 446 $(DOCLETAPI_INDEX_FILE): GET2DOCSDIR=$(DOCLETAPI2COREAPI)/..
 447 
 448 # Run javadoc if the index file is out of date or missing
 449 $(DOCLETAPI_INDEX_FILE): $(DOCLETAPI_OPTIONS_FILE) $(DOCLETAPI_PACKAGES_FILE) coredocs
 450         $(prep-javadoc)
 451         $(call JavadocSummary,$(DOCLETAPI_OPTIONS_FILE),$(DOCLETAPI_PACKAGES_FILE))
 452         $(JAVADOC_CMD) -d $(@D) \
 453           @$(DOCLETAPI_OPTIONS_FILE) @$(DOCLETAPI_PACKAGES_FILE)
 454 
 455 # Create file with javadoc options in it
 456 $(DOCLETAPI_OPTIONS_FILE):
 457         $(prep-target)
 458         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS))                     ; \
 459           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))      ; \
 460           $(call OptionPair,-encoding,ascii)                            ; \
 461           $(call OptionOnly,-breakiterator)                             ; \
 462           $(call OptionPair,-doctitle,$(DOCLETAPI_DOCTITLE))            ; \
 463           $(call OptionPair,-windowtitle,$(DOCLETAPI_WINDOWTITLE) $(DRAFT_WINTITLE));\
 464           $(call OptionPair,-header,$(DOCLETAPI_HEADER)$(DRAFT_HEADER)) ; \
 465           $(call OptionPair,-bottom,$(DOCLETAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
 466           $(call OptionTrip,-group,$(DOCLETAPI_GROUPNAME),$(DOCLETAPI_REGEXP)); \
 467           $(call OptionTrip,-linkoffline,$(DOCLETAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
 468         ) >> $@
 469 
 470 # Create a file with the package names in it
 471 $(DOCLETAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(DOCLETAPI_PKGS))
 472         $(prep-target)
 473         $(call PackageFilter,$(DOCLETAPI_PKGS))
 474 
 475 #############################################################
 476 #
 477 # tagletapidocs
 478 #
 479 
 480 ALL_OTHER_TARGETS += tagletapidocs
 481 TAGLETAPI_DOCDIR   := $(JDK_API_DOCSDIR)/javadoc/taglet
 482 TAGLETAPI2COREAPI  := ../../$(JDKJRE2COREAPI)
 483 TAGLETAPI_BOTTOM   := $(call CommonTrademarkBottom,$(TAGLETAPI_FIRST_COPYRIGHT_YEAR))
 484 # TAGLETAPI_FILE is located in NON_CORE_PKGS.gmk
 485 
 486 # Temporary directory (special generation rules)
 487 TAGLETAPI_TEMPDIR       = $(DOCSTMPDIR)/taglets_temp
 488 
 489 # The index.html, options, and packages files
 490 TAGLETAPI_INDEX_FILE    = $(TAGLETAPI_DOCDIR)/index.html
 491 TAGLETAPI_OPTIONS_FILE  = $(DOCSTMPDIR)/tagletapi.options
 492 TAGLETAPI_PACKAGES_FILE = $(DOCSTMPDIR)/tagletapi.packages
 493 
 494 tagletapidocs: $(TAGLETAPI_INDEX_FILE)
 495 
 496 # Set relative location to core api document root
 497 $(TAGLETAPI_INDEX_FILE): GET2DOCSDIR=$(TAGLETAPI2COREAPI)/..
 498 
 499 # Run javadoc if the index file is out of date or missing
 500 $(TAGLETAPI_INDEX_FILE): $(TAGLETAPI_OPTIONS_FILE) $(TAGLETAPI_PACKAGES_FILE) coredocs
 501         $(prep-javadoc)
 502         $(RM) -r $(TAGLETAPI_TEMPDIR)
 503         $(MKDIR) -p $(TAGLETAPI_TEMPDIR)
 504         $(call JavadocSummary,$(TAGLETAPI_OPTIONS_FILE),$(TAGLETAPI_PACKAGES_FILE))
 505         $(JAVADOC_CMD) -d $(TAGLETAPI_TEMPDIR) \
 506           @$(TAGLETAPI_OPTIONS_FILE) @$(TAGLETAPI_PACKAGES_FILE)
 507         cp -r $(TAGLETAPI_TEMPDIR)/com $(@D)
 508         cp $(TAGLETAPI_TEMPDIR)/stylesheet.css $(@D)
 509         $(RM) -r $(TAGLETAPI_TEMPDIR)
 510 
 511 # Create file with javadoc options in it
 512 $(TAGLETAPI_OPTIONS_FILE):
 513         $(prep-target)
 514         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS))                     ; \
 515           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))      ; \
 516           $(call OptionPair,-encoding,ascii)                            ; \
 517           $(call OptionOnly,-nonavbar)                                  ; \
 518           $(call OptionOnly,-noindex)                                   ; \
 519           $(call OptionPair,-bottom,$(TAGLETAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
 520           $(call OptionTrip,-linkoffline,$(TAGLETAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
 521         ) >> $@
 522 
 523 # Create a file with the package names in it
 524 $(TAGLETAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(TAGLETAPI_PKGS))
 525         $(prep-target)
 526         @($(ECHO) "$(JDK_IMPSRC)/$(TAGLETAPI_FILE)" ) > $@
 527 
 528 #############################################################
 529 #
 530 # domapidocs
 531 #
 532 
 533 ALL_OTHER_TARGETS += domapidocs
 534 
 535 DOMAPI_DOCDIR       := $(JRE_API_DOCSDIR)/plugin/dom
 536 DOMAPI2COREAPI      := ../../$(JDKJRE2COREAPI)
 537 DOMAPI_DOCTITLE     := Common DOM API
 538 DOMAPI_WINDOWTITLE  := Common DOM API
 539 DOMAPI_HEADER       := <strong>Common DOM API</strong>
 540 DOMAPI_BOTTOM       := $(call CommonTrademarkBottom,$(DOMAPI_FIRST_COPYRIGHT_YEAR))
 541 DOMAPI_GROUPNAME    := Packages
 542 DOMAPI_REGEXP       := com.sun.java.browser.dom:org.w3c.dom*
 543 # DOMAPI_PKGS is located in NON_CORE_PKGS.gmk
 544 
 545 # The index.html, options, and packages files
 546 DOMAPI_INDEX_FILE    = $(DOMAPI_DOCDIR)/index.html
 547 DOMAPI_OPTIONS_FILE  = $(DOCSTMPDIR)/domapi.options
 548 DOMAPI_PACKAGES_FILE = $(DOCSTMPDIR)/domapi.packages
 549 
 550 domapidocs: $(DOMAPI_INDEX_FILE)
 551 
 552 # Set relative location to core api document root
 553 $(DOMAPI_INDEX_FILE): GET2DOCSDIR=$(DOMAPI2COREAPI)/..
 554 
 555 # Run javadoc if the index file is out of date or missing
 556 $(DOMAPI_INDEX_FILE): $(DOMAPI_OPTIONS_FILE) $(DOMAPI_PACKAGES_FILE) coredocs
 557         $(prep-javadoc)
 558         $(call JavadocSummary,$(DOMAPI_OPTIONS_FILE),$(DOMAPI_PACKAGES_FILE))
 559         $(JAVADOC_CMD) -d $(@D) \
 560           @$(DOMAPI_OPTIONS_FILE) @$(DOMAPI_PACKAGES_FILE)
 561 
 562 # Create file with javadoc options in it
 563 $(DOMAPI_OPTIONS_FILE):
 564         $(prep-target)
 565         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS))                     ; \
 566           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))      ; \
 567           $(call OptionPair,-encoding,ascii)                            ; \
 568           $(call OptionOnly,-splitIndex)                                ; \
 569           $(call OptionPair,-doctitle,$(DOMAPI_DOCTITLE))               ; \
 570           $(call OptionPair,-windowtitle,$(DOMAPI_WINDOWTITLE) $(DRAFT_WINTITLE));\
 571           $(call OptionPair,-header,$(DOMAPI_HEADER)$(DRAFT_HEADER))    ; \
 572           $(call OptionPair,-bottom,$(DOMAPI_BOTTOM)$(DRAFT_BOTTOM))    ; \
 573           $(call OptionTrip,-group,$(DOMAPI_GROUPNAME),$(DOMAPI_REGEXP)); \
 574           $(call OptionTrip,-linkoffline,$(DOMAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
 575         ) >> $@
 576 
 577 # Create a file with the package names in it
 578 $(DOMAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(DOMAPI_PKGS))
 579         $(prep-target)
 580         $(call PackageFilter,$(DOMAPI_PKGS))
 581 
 582 #############################################################
 583 #
 584 # jpdadocs
 585 #
 586 
 587 ALL_OTHER_TARGETS += jpdadocs
 588 
 589 jpdadocs: jdidocs jdwpdocs jvmtidocs
 590 
 591 #############################################################
 592 #
 593 # jdidocs
 594 #
 595 
 596 ALL_OTHER_TARGETS += jdidocs
 597 
 598 JDI_DOCDIR      := $(JDK_API_DOCSDIR)/jpda/jdi
 599 JDI2COREAPI     := ../../$(JDKJRE2COREAPI)
 600 JDI_DOCTITLE    := Java$(TRADEMARK) Debug Interface
 601 JDI_WINDOWTITLE := Java Debug Interface
 602 JDI_HEADER      := <strong>Java Debug Interface</strong>
 603 JDI_BOTTOM      := $(call CommonBottom,$(JDI_FIRST_COPYRIGHT_YEAR))
 604 JDI_OVERVIEW    := $(JDK_SHARE_CLASSES)/jdi-overview.html
 605 # JDI_PKGS is located in NON_CORE_PKGS.gmk
 606 
 607 # The index.html, options, and packages files
 608 JDI_INDEX_FILE    = $(JDI_DOCDIR)/index.html
 609 JDI_OPTIONS_FILE  = $(DOCSTMPDIR)/jdi.options
 610 JDI_PACKAGES_FILE = $(DOCSTMPDIR)/jdi.packages
 611 
 612 jdidocs: $(JDI_INDEX_FILE)
 613 
 614 # Set relative location to core api document root
 615 $(JDI_INDEX_FILE): GET2DOCSDIR=$(JDI2COREAPI)/..
 616 
 617 # Run javadoc if the index file is out of date or missing
 618 $(JDI_INDEX_FILE): $(JDI_OPTIONS_FILE) $(JDI_PACKAGES_FILE) coredocs
 619         $(prep-javadoc)
 620         $(call JavadocSummary,$(JDI_OPTIONS_FILE),$(JDI_PACKAGES_FILE))
 621         $(JAVADOC_CMD) -d $(@D) \
 622           @$(JDI_OPTIONS_FILE) @$(JDI_PACKAGES_FILE)
 623 
 624 # Create file with javadoc options in it
 625 $(JDI_OPTIONS_FILE): $(JDI_OVERVIEW)
 626         $(prep-target)
 627         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS))                     ; \
 628           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))      ; \
 629           $(call OptionPair,-encoding,ascii)                            ; \
 630           $(call OptionPair,-overview,$(JDI_OVERVIEW))                  ; \
 631           $(call OptionPair,-doctitle,$(JDI_DOCTITLE))                  ; \
 632           $(call OptionPair,-windowtitle,$(JDI_WINDOWTITLE) $(DRAFT_WINTITLE)); \
 633           $(call OptionPair,-header,$(JDI_HEADER)$(DRAFT_HEADER))       ; \
 634           $(call OptionPair,-bottom,$(JDI_BOTTOM)$(DRAFT_BOTTOM))       ; \
 635           $(call OptionTrip,-linkoffline,$(JDI2COREAPI),$(COREAPI_DOCSDIR)/); \
 636         ) >> $@
 637 
 638 # Create a file with the package names in it
 639 $(JDI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JDI_PKGS))
 640         $(prep-target)
 641         $(call PackageFilter,$(JDI_PKGS))
 642 
 643 #############################################################
 644 #
 645 # jdwpdocs
 646 #
 647 
 648 ALL_OTHER_TARGETS += jdwpdocs
 649 
 650 JDWP_DOCDIR     = $(PLATFORM_DOCSDIR)/jpda/jdwp
 651 
 652 jdwpdocs: $(JDWP_DOCDIR)/jdwp-protocol.html
 653 $(JDWP_DOCDIR)/jdwp-protocol.html : $(JDK_OUTPUTDIR)/gensrc_jdwp_doc/jdwp-protocol.html
 654         $(MKDIR) -p $(@D)
 655         $(RM) $@
 656         $(CP) $< $@
 657 
 658 #############################################################
 659 #
 660 # jvmtidocs
 661 #
 662 
 663 ALL_OTHER_TARGETS += jvmtidocs
 664 
 665 JVMTI_DOCDIR      = $(PLATFORM_DOCSDIR)/jvmti
 666 JVMTI_HTML        = $(HOTSPOT_DIST)/docs/platform/jvmti/jvmti.html
 667 
 668 jvmtidocs:  $(JVMTI_DOCDIR)/jvmti.html
 669 $(JVMTI_DOCDIR)/jvmti.html:
 670         @$(prep-javadoc)
 671         @if [ -f $(JVMTI_HTML) ] ; then                                    \
 672           $(ECHO) "$(CP) $(JVMTI_HTML) $@";                                \
 673           $(CP) $(JVMTI_HTML) $@;                                          \
 674         else                                                               \
 675           $(ECHO) "WARNING: Generated file does not exist: $(JVMTI_HTML)"; \
 676         fi
 677 
 678 #############################################################
 679 #
 680 # jaasdocs
 681 #
 682 
 683 ALL_OTHER_TARGETS += jaasdocs
 684 
 685 JAAS_DOCDIR      := $(JRE_API_DOCSDIR)/security/jaas/spec
 686 JAAS2COREAPI     := ../../../$(JDKJRE2COREAPI)
 687 JAAS_DOCTITLE    := Java$(TRADEMARK) Authentication and Authorization Service
 688 JAAS_WINDOWTITLE := Java Authentication and Authorization Service
 689 JAAS_HEADER      := <strong>Java Authentication and Authorization Service</strong>
 690 JAAS_BOTTOM      := $(call CommonBottom,$(JAAS_FIRST_COPYRIGHT_YEAR))
 691 # JAAS_PKGS is located in NON_CORE_PKGS.gmk
 692 JAAS_OVERVIEW    := $(JDK_SHARE_CLASSES)/com/sun/security/auth/jaas-overview.html
 693 
 694 # The index.html, options, and packages files
 695 JAAS_INDEX_FILE    = $(JAAS_DOCDIR)/index.html
 696 JAAS_OPTIONS_FILE  = $(DOCSTMPDIR)/jaas.options
 697 JAAS_PACKAGES_FILE = $(DOCSTMPDIR)/jaas.packages
 698 
 699 jaasdocs: $(JAAS_INDEX_FILE)
 700 
 701 # Set relative location to core api document root
 702 $(JAAS_INDEX_FILE): GET2DOCSDIR=$(JAAS2COREAPI)/..
 703 
 704 # Run javadoc if the index file is out of date or missing
 705 $(JAAS_INDEX_FILE): $(JAAS_OPTIONS_FILE) $(JAAS_PACKAGES_FILE) coredocs
 706         $(prep-javadoc)
 707         $(call JavadocSummary,$(JAAS_OPTIONS_FILE),$(JAAS_PACKAGES_FILE))
 708         $(JAVADOC_CMD) -d $(@D) \
 709           @$(JAAS_OPTIONS_FILE) @$(JAAS_PACKAGES_FILE)
 710 
 711 # Create file with javadoc options in it
 712 $(JAAS_OPTIONS_FILE): $(JAAS_OVERVIEW)
 713         $(prep-target)
 714         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS))                     ; \
 715           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))      ; \
 716           $(call OptionPair,-encoding,ascii)                            ; \
 717           $(call OptionPair,-overview,$(JAAS_OVERVIEW))                 ; \
 718           $(call OptionPair,-doctitle,$(JAAS_DOCTITLE))                 ; \
 719           $(call OptionPair,-windowtitle,$(JAAS_WINDOWTITLE) $(DRAFT_WINTITLE)); \
 720           $(call OptionPair,-header,$(JAAS_HEADER)$(DRAFT_HEADER))      ; \
 721           $(call OptionPair,-bottom,$(JAAS_BOTTOM)$(DRAFT_BOTTOM))      ; \
 722           $(call OptionTrip,-linkoffline,$(JAAS2COREAPI),$(COREAPI_DOCSDIR)/); \
 723         ) >> $@
 724 
 725 # Create a file with the package names in it
 726 $(JAAS_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JAAS_PKGS))
 727         $(prep-target)
 728         $(call PackageFilter,$(JAAS_PKGS))
 729 
 730 #############################################################
 731 #
 732 # jgssdocs
 733 #
 734 
 735 ALL_OTHER_TARGETS += jgssdocs
 736 
 737 JGSS_DOCDIR      := $(JRE_API_DOCSDIR)/security/jgss/spec
 738 JGSS2COREAPI     := ../../../$(JDKJRE2COREAPI)
 739 JGSS_DOCTITLE    := Java$(TRADEMARK) GSS-API Utilities
 740 JGSS_WINDOWTITLE := Java GSS-API Utilities
 741 JGSS_HEADER      := <strong>Java GSS-API Utilities</strong>
 742 JGSS_BOTTOM      := $(call CommonBottom,$(JGSS_FIRST_COPYRIGHT_YEAR))
 743 JGSS_OVERVIEW    := $(JDK_SHARE_CLASSES)/com/sun/security/jgss/jgss-overview.html
 744 # JGSS_PKGS is located in NON_CORE_PKGS.gmk
 745 
 746 # The index.html, options, and packages files
 747 JGSS_INDEX_FILE    = $(JGSS_DOCDIR)/index.html
 748 JGSS_OPTIONS_FILE  = $(DOCSTMPDIR)/jgss.options
 749 JGSS_PACKAGES_FILE = $(DOCSTMPDIR)/jgss.packages
 750 
 751 jgssdocs: $(JGSS_INDEX_FILE)
 752 
 753 # Set relative location to core api document root
 754 $(JGSS_INDEX_FILE): GET2DOCSDIR=$(JGSS2COREAPI)/..
 755 
 756 # Run javadoc if the index file is out of date or missing
 757 $(JGSS_INDEX_FILE): $(JGSS_OPTIONS_FILE) $(JGSS_PACKAGES_FILE) coredocs
 758         $(prep-javadoc)
 759         $(call JavadocSummary,$(JGSS_OPTIONS_FILE),$(JGSS_PACKAGES_FILE))
 760         $(JAVADOC_CMD) -d $(@D) \
 761           @$(JGSS_OPTIONS_FILE) @$(JGSS_PACKAGES_FILE)
 762 
 763 # Create file with javadoc options in it
 764 $(JGSS_OPTIONS_FILE): $(JGSS_OVERVIEW)
 765         $(prep-target)
 766         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS))                     ; \
 767           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))      ; \
 768           $(call OptionPair,-encoding,ascii)                            ; \
 769           $(call OptionOnly,-nodeprecatedlist)                          ; \
 770           $(call OptionPair,-overview,$(JGSS_OVERVIEW))                 ; \
 771           $(call OptionPair,-doctitle,$(JGSS_DOCTITLE))                 ; \
 772           $(call OptionPair,-windowtitle,$(JGSS_WINDOWTITLE) $(DRAFT_WINTITLE)); \
 773           $(call OptionPair,-header,$(JGSS_HEADER)$(DRAFT_HEADER))      ; \
 774           $(call OptionPair,-bottom,$(JGSS_BOTTOM)$(DRAFT_BOTTOM))      ; \
 775           $(call OptionTrip,-linkoffline,$(JGSS2COREAPI),$(COREAPI_DOCSDIR)/); \
 776         ) >> $@
 777 
 778 # Create a file with the package names in it
 779 $(JGSS_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JGSS_PKGS))
 780         $(prep-target)
 781         $(call PackageFilter,$(JGSS_PKGS))
 782 
 783 #############################################################
 784 #
 785 # smartcardiodocs
 786 #
 787 
 788 ALL_OTHER_TARGETS += smartcardiodocs
 789 
 790 SMARTCARDIO_DOCDIR      := $(JRE_API_DOCSDIR)/security/smartcardio/spec
 791 SMARTCARDIO2COREAPI     := ../../../$(JDKJRE2COREAPI)
 792 SMARTCARDIO_DOCTITLE    := Java$(TRADEMARK) Smart Card I/O
 793 SMARTCARDIO_WINDOWTITLE := Java Smart Card I/O
 794 SMARTCARDIO_HEADER      := <strong>Java Smart Card I/O</strong>
 795 SMARTCARDIO_BOTTOM      := $(call CommonBottom,$(SMARTCARDIO_FIRST_COPYRIGHT_YEAR))
 796 # SMARTCARDIO_PKGS is located in NON_CORE_PKGS.gmk
 797 
 798 # The index.html, options, and packages files
 799 SMARTCARDIO_INDEX_FILE    = $(SMARTCARDIO_DOCDIR)/index.html
 800 SMARTCARDIO_OPTIONS_FILE  = $(DOCSTMPDIR)/smartcardio.options
 801 SMARTCARDIO_PACKAGES_FILE = $(DOCSTMPDIR)/smartcardio.packages
 802 
 803 smartcardiodocs: $(SMARTCARDIO_INDEX_FILE)
 804 
 805 # Set relative location to core api document root
 806 $(SMARTCARDIO_INDEX_FILE): GET2DOCSDIR=$(SMARTCARDIO2COREAPI)/..
 807 
 808 # Run javadoc if the index file is out of date or missing
 809 $(SMARTCARDIO_INDEX_FILE): $(SMARTCARDIO_OPTIONS_FILE) $(SMARTCARDIO_PACKAGES_FILE) coredocs
 810         $(prep-javadoc)
 811         $(call JavadocSummary,$(SMARTCARDIO_OPTIONS_FILE),$(SMARTCARDIO_PACKAGES_FILE))
 812         $(JAVADOC_CMD) -d $(@D) \
 813           @$(SMARTCARDIO_OPTIONS_FILE) @$(SMARTCARDIO_PACKAGES_FILE)
 814 
 815 # Create file with javadoc options in it
 816 $(SMARTCARDIO_OPTIONS_FILE):
 817         $(prep-target)
 818         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS))                     ; \
 819           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))      ; \
 820           $(call OptionPair,-encoding,ascii)                            ; \
 821           $(call OptionOnly,-nodeprecatedlist)                          ; \
 822           $(call OptionPair,-doctitle,$(SMARTCARDIO_DOCTITLE))          ; \
 823           $(call OptionPair,-windowtitle,$(SMARTCARDIO_WINDOWTITLE) $(DRAFT_WINTITLE));\
 824           $(call OptionPair,-header,$(SMARTCARDIO_HEADER)$(DRAFT_HEADER)); \
 825           $(call OptionPair,-bottom,$(SMARTCARDIO_BOTTOM)$(DRAFT_BOTTOM)); \
 826           $(call OptionTrip,-linkoffline,$(SMARTCARDIO2COREAPI),$(COREAPI_DOCSDIR)/); \
 827         ) >> $@
 828 
 829 # Create a file with the package names in it
 830 $(SMARTCARDIO_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(SMARTCARDIO_PKGS))
 831         $(prep-target)
 832         $(call PackageFilter,$(SMARTCARDIO_PKGS))
 833 
 834 #############################################################
 835 #
 836 # httpserverdocs
 837 #
 838 
 839 ALL_OTHER_TARGETS += httpserverdocs
 840 
 841 HTTPSERVER_DOCDIR      := $(JRE_API_DOCSDIR)/net/httpserver/spec
 842 HTTPSERVER2COREAPI     := ../../../$(JDKJRE2COREAPI)
 843 HTTPSERVER_DOCTITLE    := Java$(TRADEMARK) HTTP Server
 844 HTTPSERVER_WINDOWTITLE := Java HTTP Server
 845 HTTPSERVER_HEADER      := <strong>Java HTTP Server</strong>
 846 HTTPSERVER_BOTTOM      := $(call CommonBottom,$(HTTPSERVER_FIRST_COPYRIGHT_YEAR))
 847 # HTTPSERVER_PKGS is located in NON_CORE_PKGS.gmk
 848 
 849 HTTPSERVER_INDEX_HTML    = $(HTTPSERVER_DOCDIR)/index.html
 850 HTTPSERVER_OPTIONS_FILE  = $(DOCSTMPDIR)/httpserver.options
 851 HTTPSERVER_PACKAGES_FILE = $(DOCSTMPDIR)/httpserver.packages
 852 
 853 httpserverdocs: $(HTTPSERVER_INDEX_HTML)
 854 
 855 # Set relative location to core api document root
 856 $(HTTPSERVER_INDEX_HTML): GET2DOCSDIR=$(HTTPSERVER2COREAPI)/..
 857 
 858 # Run javadoc if the index file is out of date or missing
 859 $(HTTPSERVER_INDEX_HTML): $(HTTPSERVER_OPTIONS_FILE) $(HTTPSERVER_PACKAGES_FILE) coredocs
 860         $(prep-javadoc)
 861         $(call JavadocSummary,$(HTTPSERVER_OPTIONS_FILE),$(HTTPSERVER_PACKAGES_FILE))
 862         $(JAVADOC_CMD) -d $(@D) \
 863           @$(HTTPSERVER_OPTIONS_FILE) @$(HTTPSERVER_PACKAGES_FILE)
 864 
 865 # Create file with javadoc options in it
 866 $(HTTPSERVER_OPTIONS_FILE):
 867         $(prep-target)
 868         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS))                     ; \
 869           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))      ; \
 870           $(call OptionPair,-encoding,ascii)                            ; \
 871           $(call OptionOnly,-nodeprecatedlist)                          ; \
 872           $(call OptionPair,-doctitle,$(HTTPSERVER_DOCTITLE))           ; \
 873           $(call OptionPair,-windowtitle,$(HTTPSERVER_WINDOWTITLE) $(DRAFT_WINTITLE));\
 874           $(call OptionPair,-header,$(HTTPSERVER_HEADER)$(DRAFT_HEADER)); \
 875           $(call OptionPair,-bottom,$(HTTPSERVER_BOTTOM)$(DRAFT_BOTTOM)); \
 876           $(call OptionTrip,-linkoffline,$(HTTPSERVER2COREAPI),$(COREAPI_DOCSDIR)/); \
 877         ) >> $@
 878 
 879 # Create a file with the package names in it
 880 $(HTTPSERVER_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(HTTPSERVER_PKGS))
 881         $(prep-target)
 882         $(call PackageFilter,$(HTTPSERVER_PKGS))
 883 
 884 #############################################################
 885 #
 886 # mgmtdocs
 887 #
 888 
 889 ALL_OTHER_TARGETS += mgmtdocs
 890 
 891 MGMT_DOCDIR      := $(JRE_API_DOCSDIR)/management/extension
 892 MGMT2COREAPI     := ../../$(JDKJRE2COREAPI)
 893 JVM_MIB_NAME     := JVM-MANAGEMENT-MIB.mib
 894 JVM_MIB_SRC      := $(JDK_TOPDIR)/src/closed/share/classes/sun/management/snmp/$(JVM_MIB_NAME)
 895 MGMT_DOCTITLE    := Monitoring and Management Interface for the Java$(TRADEMARK) Platform
 896 MGMT_WINDOWTITLE := Monitoring and Management Interface for the Java Platform
 897 MGMT_HEADER      := <strong>Monitoring and Management Interface for the Java Platform</strong>
 898 MGMT_BOTTOM      := $(call CommonBottom,$(MGMT_FIRST_COPYRIGHT_YEAR))
 899 MGMT_OVERVIEW    := $(JDK_SHARE_CLASSES)/com/sun/management/mgmt-overview.html
 900 # MGMT_PKGS is located in NON_CORE_PKGS.gmk
 901 
 902 # The index.html, options, and packages files
 903 MGMT_INDEX_FILE    = $(MGMT_DOCDIR)/index.html
 904 MGMT_OPTIONS_FILE  = $(DOCSTMPDIR)/mgmt.options
 905 MGMT_PACKAGES_FILE = $(DOCSTMPDIR)/mgmt.packages
 906 
 907 mgmtdocs: $(MGMT_INDEX_FILE)
 908 
 909 # Set relative location to core api document root
 910 $(MGMT_INDEX_FILE): GET2DOCSDIR=$(MGMT2COREAPI)/..
 911 
 912 # Run javadoc if the index file is out of date or missing
 913 $(MGMT_INDEX_FILE): $(MGMT_OPTIONS_FILE) $(MGMT_PACKAGES_FILE) coredocs
 914         $(prep-javadoc)
 915         @if [ -f $(JVM_MIB_SRC) ] ; then                                \
 916           $(ECHO) "$(CP) $(JVM_MIB_SRC) $(@D)/..";                      \
 917           $(CP) $(JVM_MIB_SRC) $(@D)/.. ;                               \
 918         else                                                            \
 919           $(ECHO) "WARNING: File $(JVM_MIB_NAME) not available.";       \
 920         fi
 921         $(call JavadocSummary,$(MGMT_OPTIONS_FILE),$(MGMT_PACKAGES_FILE))
 922         $(JAVADOC_CMD) -d $(@D) \
 923           @$(MGMT_OPTIONS_FILE) @$(MGMT_PACKAGES_FILE)
 924 
 925 # Create file with javadoc options in it
 926 $(MGMT_OPTIONS_FILE): $(MGMT_OVERVIEW)
 927         $(prep-target)
 928         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS))                     ; \
 929           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))      ; \
 930           $(call OptionPair,-encoding,ascii)                            ; \
 931           $(call OptionOnly,-nodeprecatedlist)                          ; \
 932           $(call OptionPair,-overview,$(MGMT_OVERVIEW))                 ; \
 933           $(call OptionPair,-doctitle,$(MGMT_DOCTITLE))                 ; \
 934           $(call OptionPair,-windowtitle,$(MGMT_WINDOWTITLE) $(DRAFT_WINTITLE)); \
 935           $(call OptionPair,-header,$(MGMT_HEADER)$(DRAFT_HEADER))      ; \
 936           $(call OptionPair,-bottom,$(MGMT_BOTTOM)$(DRAFT_BOTTOM))      ; \
 937           $(call OptionTrip,-linkoffline,$(MGMT2COREAPI),$(COREAPI_DOCSDIR)/); \
 938         ) >> $@
 939 
 940 # Create a file with the package names in it
 941 $(MGMT_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(MGMT_PKGS))
 942         $(prep-target)
 943         $(call PackageFilter,$(MGMT_PKGS))
 944 
 945 #############################################################
 946 #
 947 # attachdocs
 948 #
 949 
 950 ALL_OTHER_TARGETS += attachdocs
 951 
 952 ATTACH_DOCDIR      := $(JDK_API_DOCSDIR)/attach/spec
 953 ATTACH2COREAPI     := ../../$(JDKJRE2COREAPI)
 954 ATTACH_DOCTITLE    := Attach API
 955 ATTACH_WINDOWTITLE := Attach API
 956 ATTACH_HEADER      := <strong>Attach API</strong>
 957 ATTACH_BOTTOM      := $(call CommonBottom,$(ATTACH_FIRST_COPYRIGHT_YEAR))
 958 # ATTACH_PKGS is located in NON_CORE_PKGS.gmk
 959 
 960 ATTACH_INDEX_HTML    = $(ATTACH_DOCDIR)/index.html
 961 ATTACH_OPTIONS_FILE  = $(DOCSTMPDIR)/attach.options
 962 ATTACH_PACKAGES_FILE = $(DOCSTMPDIR)/attach.packages
 963 
 964 attachdocs: $(ATTACH_INDEX_HTML)
 965 
 966 # Set relative location to core api document root
 967 $(ATTACH_INDEX_HTML): GET2DOCSDIR=$(ATTACH2COREAPI)/..
 968 
 969 # Run javadoc if the index file is out of date or missing
 970 $(ATTACH_INDEX_HTML): $(ATTACH_OPTIONS_FILE) $(ATTACH_PACKAGES_FILE) coredocs
 971         $(prep-javadoc)
 972         $(call JavadocSummary,$(ATTACH_OPTIONS_FILE),$(ATTACH_PACKAGES_FILE))
 973         $(JAVADOC_CMD) -d $(@D) \
 974           @$(ATTACH_OPTIONS_FILE) @$(ATTACH_PACKAGES_FILE)
 975 
 976 # Create file with javadoc options in it
 977 $(ATTACH_OPTIONS_FILE):
 978         $(prep-target)
 979         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS))                     ; \
 980           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))      ; \
 981           $(call OptionPair,-encoding,ascii)                            ; \
 982           $(call OptionOnly,-nodeprecatedlist)                          ; \
 983           $(call OptionPair,-doctitle,$(ATTACH_DOCTITLE))               ; \
 984           $(call OptionPair,-windowtitle,$(ATTACH_WINDOWTITLE) $(DRAFT_WINTITLE));\
 985           $(call OptionPair,-header,$(ATTACH_HEADER)$(DRAFT_HEADER))    ; \
 986           $(call OptionPair,-bottom,$(ATTACH_BOTTOM)$(DRAFT_BOTTOM))    ; \
 987           $(call OptionTrip,-linkoffline,$(ATTACH2COREAPI),$(COREAPI_DOCSDIR)/); \
 988         ) >> $@
 989 
 990 # Create a file with the package names in it
 991 $(ATTACH_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(ATTACH_PKGS))
 992         $(prep-target)
 993         $(call PackageFilter,$(ATTACH_PKGS))
 994 
 995 #############################################################
 996 #
 997 # jconsoledocs
 998 #
 999 
1000 ALL_OTHER_TARGETS += jconsoledocs
1001 
1002 JCONSOLE_DOCDIR      := $(JDK_API_DOCSDIR)/jconsole/spec
1003 JCONSOLE2COREAPI     := ../../$(JDKJRE2COREAPI)
1004 JCONSOLE_DOCTITLE    := JConsole API
1005 JCONSOLE_WINDOWTITLE := JConsole API
1006 JCONSOLE_HEADER      := <strong>JConsole API</strong>
1007 JCONSOLE_BOTTOM      := $(call CommonBottom,$(JCONSOLE_FIRST_COPYRIGHT_YEAR))
1008 # JCONSOLE_PKGS is located in NON_CORE_PKGS.gmk
1009 
1010 JCONSOLE_INDEX_HTML    = $(JCONSOLE_DOCDIR)/index.html
1011 JCONSOLE_OPTIONS_FILE  = $(DOCSTMPDIR)/jconsole.options
1012 JCONSOLE_PACKAGES_FILE = $(DOCSTMPDIR)/jconsole.packages
1013 
1014 jconsoledocs: $(JCONSOLE_INDEX_HTML)
1015 
1016 # Set relative location to core api document root
1017 $(JCONSOLE_INDEX_HTML): GET2DOCSDIR=$(JCONSOLE2COREAPI)/..
1018 
1019 # Run javadoc if the index file is out of date or missing
1020 $(JCONSOLE_INDEX_HTML): $(JCONSOLE_OPTIONS_FILE) $(JCONSOLE_PACKAGES_FILE) coredocs
1021         $(prep-javadoc)
1022         $(call JavadocSummary,$(JCONSOLE_OPTIONS_FILE),$(JCONSOLE_PACKAGES_FILE))
1023         $(JAVADOC_CMD) -d $(@D) \
1024           @$(JCONSOLE_OPTIONS_FILE) @$(JCONSOLE_PACKAGES_FILE)
1025 
1026 # Create file with javadoc options in it
1027 $(JCONSOLE_OPTIONS_FILE):
1028         $(prep-target)
1029         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS))                     ; \
1030           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))      ; \
1031           $(call OptionPair,-encoding,ascii)                            ; \
1032           $(call OptionOnly,-nodeprecatedlist)                          ; \
1033           $(call OptionPair,-doctitle,$(JCONSOLE_DOCTITLE))             ; \
1034           $(call OptionPair,-windowtitle,$(JCONSOLE_WINDOWTITLE) $(DRAFT_WINTITLE));\
1035           $(call OptionPair,-header,$(JCONSOLE_HEADER)$(DRAFT_HEADER))  ; \
1036           $(call OptionPair,-bottom,$(JCONSOLE_BOTTOM)$(DRAFT_BOTTOM))  ; \
1037           $(call OptionTrip,-linkoffline,$(JCONSOLE2COREAPI),$(COREAPI_DOCSDIR)/); \
1038         ) >> $@
1039 
1040 # Create a file with the package names in it
1041 $(JCONSOLE_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JCONSOLE_PKGS))
1042         $(prep-target)
1043         $(call PackageFilter,$(JCONSOLE_PKGS))
1044 
1045 #############################################################
1046 #
1047 # treeapidocs
1048 #
1049 
1050 ALL_OTHER_TARGETS += treeapidocs
1051 
1052 TREEAPI_DOCDIR       := $(JDK_API_DOCSDIR)/javac/tree
1053 TREEAPI2COREAPI      := ../../$(JDKJRE2COREAPI)
1054 TREEAPI_DOCTITLE     := Compiler Tree API
1055 TREEAPI_WINDOWTITLE  := Compiler Tree API
1056 TREEAPI_HEADER       := <strong>Compiler Tree API</strong>
1057 TREEAPI_BOTTOM       := $(call CommonBottom,$(TREEAPI_FIRST_COPYRIGHT_YEAR))
1058 TREEAPI_GROUPNAME    := Packages
1059 TREEAPI_REGEXP       := com.sun.source.*
1060 # TREEAPI_PKGS is located in NON_CORE_PKGS.gmk
1061 
1062 TREEAPI_INDEX_HTML    = $(TREEAPI_DOCDIR)/index.html
1063 TREEAPI_OPTIONS_FILE  = $(DOCSTMPDIR)/treeapi.options
1064 TREEAPI_PACKAGES_FILE = $(DOCSTMPDIR)/treeapi.packages
1065 
1066 treeapidocs: $(TREEAPI_INDEX_HTML)
1067 
1068 # Set relative location to core api document root
1069 $(TREEAPI_INDEX_HTML): GET2DOCSDIR=$(TREEAPI2COREAPI)/..
1070 
1071 # Run javadoc if the index file is out of date or missing
1072 $(TREEAPI_INDEX_HTML): $(TREEAPI_OPTIONS_FILE) $(TREEAPI_PACKAGES_FILE) coredocs
1073         $(prep-javadoc)
1074         $(call JavadocSummary,$(TREEAPI_OPTIONS_FILE),$(TREEAPI_PACKAGES_FILE))
1075         $(JAVADOC_CMD) -d $(@D) \
1076           @$(TREEAPI_OPTIONS_FILE) @$(TREEAPI_PACKAGES_FILE)
1077 
1078 # Create file with javadoc options in it
1079 $(TREEAPI_OPTIONS_FILE):
1080         $(prep-target)
1081         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS))                     ; \
1082           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))      ; \
1083           $(call OptionPair,-encoding,ascii)                            ; \
1084           $(call OptionPair,-doctitle,$(TREEAPI_DOCTITLE))              ; \
1085           $(call OptionPair,-windowtitle,$(TREEAPI_WINDOWTITLE) $(DRAFT_WINTITLE));\
1086           $(call OptionPair,-header,$(TREEAPI_HEADER)$(DRAFT_HEADER))   ; \
1087           $(call OptionPair,-tag,$(TAG_JLS))                            ; \
1088           $(call OptionPair,-bottom,$(TREEAPI_BOTTOM)$(DRAFT_BOTTOM))   ; \
1089           $(call OptionTrip,-group,$(TREEAPI_GROUPNAME),$(TREEAPI_REGEXP)); \
1090           $(call OptionTrip,-linkoffline,$(TREEAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
1091         ) >> $@
1092 
1093 # Create a file with the package names in it
1094 $(TREEAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(TREEAPI_PKGS))
1095         $(prep-target)
1096         $(call PackageFilter,$(TREEAPI_PKGS))
1097 
1098 #############################################################
1099 #
1100 # sctpdocs
1101 #
1102 
1103 ALL_OTHER_TARGETS += sctpdocs
1104 
1105 SCTPAPI_DOCDIR      := $(JRE_API_DOCSDIR)/nio/sctp/spec
1106 SCTPAPI2COREAPI     := ../../../$(JDKJRE2COREAPI)
1107 SCTPAPI_DOCTITLE    := SCTP API
1108 SCTPAPI_WINDOWTITLE := SCTP API
1109 SCTPAPI_HEADER      := <strong>SCTP API</strong>
1110 SCTPAPI_BOTTOM      := $(call CommonBottom,$(SCTPAPI_FIRST_COPYRIGHT_YEAR))
1111 # SCTPAPI_PKGS is located in NON_CORE_PKGS.gmk
1112 
1113 SCTPAPI_INDEX_HTML    = $(SCTPAPI_DOCDIR)/index.html
1114 SCTPAPI_OPTIONS_FILE  = $(DOCSTMPDIR)/sctp.options
1115 SCTPAPI_PACKAGES_FILE = $(DOCSTMPDIR)/sctp.packages
1116 
1117 sctpdocs: $(SCTPAPI_INDEX_HTML)
1118 
1119 # Set relative location to core api document root
1120 $(SCTPAPI_INDEX_HTML): GET2DOCSDIR=$(SCTPAPI2COREAPI)/..
1121 
1122 # Run javadoc if the index file is out of date or missing
1123 $(SCTPAPI_INDEX_HTML): $(SCTPAPI_OPTIONS_FILE) $(SCTPAPI_PACKAGES_FILE) coredocs
1124         $(prep-javadoc)
1125         $(call JavadocSummary,$(SCTPAPI_OPTIONS_FILE),$(SCTPAPI_PACKAGES_FILE))
1126         $(JAVADOC_CMD) -d $(@D) \
1127           @$(SCTPAPI_OPTIONS_FILE) @$(SCTPAPI_PACKAGES_FILE)
1128 
1129 # Create file with javadoc options in it
1130 $(SCTPAPI_OPTIONS_FILE):
1131         $(prep-target)
1132         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS))                     ; \
1133           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))      ; \
1134           $(call OptionPair,-encoding,ascii)                            ; \
1135           $(call OptionOnly,-nodeprecatedlist)                          ; \
1136           $(call OptionPair,-doctitle,$(SCTPAPI_DOCTITLE))              ; \
1137           $(call OptionPair,-windowtitle,$(SCTPAPI_WINDOWTITLE) $(DRAFT_WINTITLE));\
1138           $(call OptionPair,-header,$(SCTPAPI_HEADER)$(DRAFT_HEADER))   ; \
1139           $(call OptionPair,-bottom,$(SCTPAPI_BOTTOM)$(DRAFT_BOTTOM))   ; \
1140           $(call OptionTrip,-linkoffline,$(SCTPAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
1141         ) >> $@
1142 
1143 # Create a file with the package names in it
1144 $(SCTPAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(SCTPAPI_PKGS))
1145         $(prep-target)
1146         $(call PackageFilter,$(SCTPAPI_PKGS))
1147 
1148 #############################################################
1149 #
1150 # Get a cache of all the directories
1151 
1152 $(DIRECTORY_CACHE): $(ALL_EXISTING_SOURCE_DIRS)
1153         $(prep-target)
1154         @for cp in $(ALL_EXISTING_SOURCE_DIRS) ; do     \
1155           $(ECHO) "$(FIND) $${cp} -type f >> $@";         \
1156           $(FIND) $${cp} -type f >> $@;           \
1157         done
1158 
1159 #############################################################
1160 #release version of core packages ########
1161 # Maximize performance and ensure that build number & milestone are set.
1162 
1163 rel-coredocs: sanitycheckcoredocs
1164         $(MAKE) coredocs
1165 
1166 rel-docs: rel-coredocs $(ALL_OTHER_TARGETS)
1167 #
1168 # end of production targets
1169 
1170 otherdocs: $(ALL_OTHER_TARGETS)
1171 
1172 clean:
1173         $(RM) -r $(DOCSDIR) $(DOCSTMPDIR)
1174 
1175 #############################################################
1176 # DEBUG TARGET
1177 # List the values defined in the makefile hierarchy, to make sure everything
1178 # is set properly, and to help identify values we can use instead of making new ones.
1179 # (Most of them come from common/shared/Defs.gmk)
1180 #
1181 #  Notes:
1182 #    * BUILD_NUMBER defaults to b00 if not set on command line with BUILD_NUMBER=<value>
1183 #    * MILESTONE defaults to internal unless set to beta, rc, or fcs on command line
1184 #
1185 
1186 #############################################################
1187 .PHONY: all docs coredocs rel-docs otherdocs rel-coredocs \
1188         sanitycheckcoredocs $(ALL_OTHER_TARGETS)