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,$(TAG_JLS))                            ; \
 394           $(call OptionOnly,-splitIndex)                                ; \
 395           $(call OptionPair,-overview,$(COREAPI_OVERVIEW))              ; \
 396           $(call OptionPair,-doctitle,$(COREAPI_DOCTITLE))              ; \
 397           $(call OptionPair,-windowtitle,$(COREAPI_WINDOWTITLE) $(DRAFT_WINTITLE)) ;\
 398           $(call OptionPair,-header,$(COREAPI_HEADER)$(DRAFT_HEADER))   ; \
 399           $(call OptionPair,-bottom,$(COREAPI_BOTTOM)$(DRAFT_BOTTOM))   ; \
 400         ) >> $@
 401 ifdef COREAPI_TOP_EARLYACCESS
 402         @$(call OptionPair,-top,$(COREAPI_TOP_EARLYACCESS)) >> $@
 403 endif
 404 
 405 # Create a file with the package names in it
 406 $(COREAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(CORE_PKGS))
 407         $(prep-target)
 408         $(call PackageFilter,$(CORE_PKGS))
 409 
 410 #############################################################
 411 #
 412 # docletapidocs
 413 #
 414 
 415 ALL_OTHER_TARGETS += docletapidocs
 416 
 417 DOCLETAPI_DOCDIR       := $(JDK_API_DOCSDIR)/javadoc/doclet
 418 DOCLETAPI2COREAPI      := ../../$(JDKJRE2COREAPI)
 419 DOCLETAPI_DOCTITLE     := Doclet API
 420 DOCLETAPI_WINDOWTITLE  := Doclet API
 421 DOCLETAPI_HEADER       := <strong>Doclet API</strong>
 422 DOCLETAPI_BOTTOM       := $(call CommonTrademarkBottom,$(DOCLETAPI_FIRST_COPYRIGHT_YEAR))
 423 DOCLETAPI_GROUPNAME    := Packages
 424 DOCLETAPI_REGEXP       := com.sun.javadoc
 425 # DOCLETAPI_PKGS is located in NON_CORE_PKGS.gmk
 426 
 427 # The index.html, options, and packages files
 428 DOCLETAPI_INDEX_FILE    = $(DOCLETAPI_DOCDIR)/index.html
 429 DOCLETAPI_OPTIONS_FILE  = $(DOCSTMPDIR)/docletapi.options
 430 DOCLETAPI_PACKAGES_FILE = $(DOCSTMPDIR)/docletapi.packages
 431 
 432 docletapidocs: $(DOCLETAPI_INDEX_FILE)
 433 
 434 # Set relative location to core api document root
 435 $(DOCLETAPI_INDEX_FILE): GET2DOCSDIR=$(DOCLETAPI2COREAPI)/..
 436 
 437 # Run javadoc if the index file is out of date or missing
 438 $(DOCLETAPI_INDEX_FILE): $(DOCLETAPI_OPTIONS_FILE) $(DOCLETAPI_PACKAGES_FILE) coredocs
 439         $(prep-javadoc)
 440         $(call JavadocSummary,$(DOCLETAPI_OPTIONS_FILE),$(DOCLETAPI_PACKAGES_FILE))
 441         $(JAVADOC_CMD) -d $(@D) \
 442           @$(DOCLETAPI_OPTIONS_FILE) @$(DOCLETAPI_PACKAGES_FILE)
 443 
 444 # Create file with javadoc options in it
 445 $(DOCLETAPI_OPTIONS_FILE):
 446         $(prep-target)
 447         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS))                     ; \
 448           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))      ; \
 449           $(call OptionPair,-encoding,ascii)                            ; \
 450           $(call OptionOnly,-breakiterator)                             ; \
 451           $(call OptionPair,-doctitle,$(DOCLETAPI_DOCTITLE))            ; \
 452           $(call OptionPair,-windowtitle,$(DOCLETAPI_WINDOWTITLE) $(DRAFT_WINTITLE));\
 453           $(call OptionPair,-header,$(DOCLETAPI_HEADER)$(DRAFT_HEADER)) ; \
 454           $(call OptionPair,-bottom,$(DOCLETAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
 455           $(call OptionTrip,-group,$(DOCLETAPI_GROUPNAME),$(DOCLETAPI_REGEXP)); \
 456           $(call OptionTrip,-linkoffline,$(DOCLETAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
 457         ) >> $@
 458 
 459 # Create a file with the package names in it
 460 $(DOCLETAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(DOCLETAPI_PKGS))
 461         $(prep-target)
 462         $(call PackageFilter,$(DOCLETAPI_PKGS))
 463 
 464 #############################################################
 465 #
 466 # tagletapidocs
 467 #
 468 
 469 ALL_OTHER_TARGETS += tagletapidocs
 470 TAGLETAPI_DOCDIR   := $(JDK_API_DOCSDIR)/javadoc/taglet
 471 TAGLETAPI2COREAPI  := ../../$(JDKJRE2COREAPI)
 472 TAGLETAPI_BOTTOM   := $(call CommonTrademarkBottom,$(TAGLETAPI_FIRST_COPYRIGHT_YEAR))
 473 # TAGLETAPI_FILE is located in NON_CORE_PKGS.gmk
 474 
 475 # Temporary directory (special generation rules)
 476 TAGLETAPI_TEMPDIR       = $(DOCSTMPDIR)/taglets_temp
 477 
 478 # The index.html, options, and packages files
 479 TAGLETAPI_INDEX_FILE    = $(TAGLETAPI_DOCDIR)/index.html
 480 TAGLETAPI_OPTIONS_FILE  = $(DOCSTMPDIR)/tagletapi.options
 481 TAGLETAPI_PACKAGES_FILE = $(DOCSTMPDIR)/tagletapi.packages
 482 
 483 tagletapidocs: $(TAGLETAPI_INDEX_FILE)
 484 
 485 # Set relative location to core api document root
 486 $(TAGLETAPI_INDEX_FILE): GET2DOCSDIR=$(TAGLETAPI2COREAPI)/..
 487 
 488 # Run javadoc if the index file is out of date or missing
 489 $(TAGLETAPI_INDEX_FILE): $(TAGLETAPI_OPTIONS_FILE) $(TAGLETAPI_PACKAGES_FILE) coredocs
 490         $(prep-javadoc)
 491         $(RM) -r $(TAGLETAPI_TEMPDIR)
 492         $(MKDIR) -p $(TAGLETAPI_TEMPDIR)
 493         $(call JavadocSummary,$(TAGLETAPI_OPTIONS_FILE),$(TAGLETAPI_PACKAGES_FILE))
 494         $(JAVADOC_CMD) -d $(TAGLETAPI_TEMPDIR) \
 495           @$(TAGLETAPI_OPTIONS_FILE) @$(TAGLETAPI_PACKAGES_FILE)
 496         cp -r $(TAGLETAPI_TEMPDIR)/com $(@D)
 497         cp $(TAGLETAPI_TEMPDIR)/stylesheet.css $(@D)
 498         $(RM) -r $(TAGLETAPI_TEMPDIR)
 499 
 500 # Create file with javadoc options in it
 501 $(TAGLETAPI_OPTIONS_FILE):
 502         $(prep-target)
 503         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS))                     ; \
 504           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))      ; \
 505           $(call OptionPair,-encoding,ascii)                            ; \
 506           $(call OptionOnly,-nonavbar)                                  ; \
 507           $(call OptionOnly,-noindex)                                   ; \
 508           $(call OptionPair,-bottom,$(TAGLETAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
 509           $(call OptionTrip,-linkoffline,$(TAGLETAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
 510         ) >> $@
 511 
 512 # Create a file with the package names in it
 513 $(TAGLETAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(TAGLETAPI_PKGS))
 514         $(prep-target)
 515         @($(ECHO) "$(JDK_IMPSRC)/$(TAGLETAPI_FILE)" ) > $@
 516 
 517 #############################################################
 518 #
 519 # domapidocs
 520 #
 521 
 522 ALL_OTHER_TARGETS += domapidocs
 523 
 524 DOMAPI_DOCDIR       := $(JRE_API_DOCSDIR)/plugin/dom
 525 DOMAPI2COREAPI      := ../../$(JDKJRE2COREAPI)
 526 DOMAPI_DOCTITLE     := Common DOM API
 527 DOMAPI_WINDOWTITLE  := Common DOM API
 528 DOMAPI_HEADER       := <strong>Common DOM API</strong>
 529 DOMAPI_BOTTOM       := $(call CommonTrademarkBottom,$(DOMAPI_FIRST_COPYRIGHT_YEAR))
 530 DOMAPI_GROUPNAME    := Packages
 531 DOMAPI_REGEXP       := com.sun.java.browser.dom:org.w3c.dom*
 532 # DOMAPI_PKGS is located in NON_CORE_PKGS.gmk
 533 
 534 # The index.html, options, and packages files
 535 DOMAPI_INDEX_FILE    = $(DOMAPI_DOCDIR)/index.html
 536 DOMAPI_OPTIONS_FILE  = $(DOCSTMPDIR)/domapi.options
 537 DOMAPI_PACKAGES_FILE = $(DOCSTMPDIR)/domapi.packages
 538 
 539 domapidocs: $(DOMAPI_INDEX_FILE)
 540 
 541 # Set relative location to core api document root
 542 $(DOMAPI_INDEX_FILE): GET2DOCSDIR=$(DOMAPI2COREAPI)/..
 543 
 544 # Run javadoc if the index file is out of date or missing
 545 $(DOMAPI_INDEX_FILE): $(DOMAPI_OPTIONS_FILE) $(DOMAPI_PACKAGES_FILE) coredocs
 546         $(prep-javadoc)
 547         $(call JavadocSummary,$(DOMAPI_OPTIONS_FILE),$(DOMAPI_PACKAGES_FILE))
 548         $(JAVADOC_CMD) -d $(@D) \
 549           @$(DOMAPI_OPTIONS_FILE) @$(DOMAPI_PACKAGES_FILE)
 550 
 551 # Create file with javadoc options in it
 552 $(DOMAPI_OPTIONS_FILE):
 553         $(prep-target)
 554         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS))                     ; \
 555           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))      ; \
 556           $(call OptionPair,-encoding,ascii)                            ; \
 557           $(call OptionOnly,-splitIndex)                                ; \
 558           $(call OptionPair,-doctitle,$(DOMAPI_DOCTITLE))               ; \
 559           $(call OptionPair,-windowtitle,$(DOMAPI_WINDOWTITLE) $(DRAFT_WINTITLE));\
 560           $(call OptionPair,-header,$(DOMAPI_HEADER)$(DRAFT_HEADER))    ; \
 561           $(call OptionPair,-bottom,$(DOMAPI_BOTTOM)$(DRAFT_BOTTOM))    ; \
 562           $(call OptionTrip,-group,$(DOMAPI_GROUPNAME),$(DOMAPI_REGEXP)); \
 563           $(call OptionTrip,-linkoffline,$(DOMAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
 564         ) >> $@
 565 
 566 # Create a file with the package names in it
 567 $(DOMAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(DOMAPI_PKGS))
 568         $(prep-target)
 569         $(call PackageFilter,$(DOMAPI_PKGS))
 570 
 571 #############################################################
 572 #
 573 # jpdadocs
 574 #
 575 
 576 ALL_OTHER_TARGETS += jpdadocs
 577 
 578 jpdadocs: jdidocs jdwpdocs jvmtidocs
 579 
 580 #############################################################
 581 #
 582 # jdidocs
 583 #
 584 
 585 ALL_OTHER_TARGETS += jdidocs
 586 
 587 JDI_DOCDIR      := $(JDK_API_DOCSDIR)/jpda/jdi
 588 JDI2COREAPI     := ../../$(JDKJRE2COREAPI)
 589 JDI_DOCTITLE    := Java$(TRADEMARK) Debug Interface
 590 JDI_WINDOWTITLE := Java Debug Interface
 591 JDI_HEADER      := <strong>Java Debug Interface</strong>
 592 JDI_BOTTOM      := $(call CommonBottom,$(JDI_FIRST_COPYRIGHT_YEAR))
 593 JDI_OVERVIEW    := $(JDK_SHARE_CLASSES)/jdi-overview.html
 594 # JDI_PKGS is located in NON_CORE_PKGS.gmk
 595 
 596 # The index.html, options, and packages files
 597 JDI_INDEX_FILE    = $(JDI_DOCDIR)/index.html
 598 JDI_OPTIONS_FILE  = $(DOCSTMPDIR)/jdi.options
 599 JDI_PACKAGES_FILE = $(DOCSTMPDIR)/jdi.packages
 600 
 601 jdidocs: $(JDI_INDEX_FILE)
 602 
 603 # Set relative location to core api document root
 604 $(JDI_INDEX_FILE): GET2DOCSDIR=$(JDI2COREAPI)/..
 605 
 606 # Run javadoc if the index file is out of date or missing
 607 $(JDI_INDEX_FILE): $(JDI_OPTIONS_FILE) $(JDI_PACKAGES_FILE) coredocs
 608         $(prep-javadoc)
 609         $(call JavadocSummary,$(JDI_OPTIONS_FILE),$(JDI_PACKAGES_FILE))
 610         $(JAVADOC_CMD) -d $(@D) \
 611           @$(JDI_OPTIONS_FILE) @$(JDI_PACKAGES_FILE)
 612 
 613 # Create file with javadoc options in it
 614 $(JDI_OPTIONS_FILE): $(JDI_OVERVIEW)
 615         $(prep-target)
 616         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS))                     ; \
 617           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))      ; \
 618           $(call OptionPair,-encoding,ascii)                            ; \
 619           $(call OptionPair,-overview,$(JDI_OVERVIEW))                  ; \
 620           $(call OptionPair,-doctitle,$(JDI_DOCTITLE))                  ; \
 621           $(call OptionPair,-windowtitle,$(JDI_WINDOWTITLE) $(DRAFT_WINTITLE)); \
 622           $(call OptionPair,-header,$(JDI_HEADER)$(DRAFT_HEADER))       ; \
 623           $(call OptionPair,-bottom,$(JDI_BOTTOM)$(DRAFT_BOTTOM))       ; \
 624           $(call OptionTrip,-linkoffline,$(JDI2COREAPI),$(COREAPI_DOCSDIR)/); \
 625         ) >> $@
 626 
 627 # Create a file with the package names in it
 628 $(JDI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JDI_PKGS))
 629         $(prep-target)
 630         $(call PackageFilter,$(JDI_PKGS))
 631 
 632 #############################################################
 633 #
 634 # jdwpdocs
 635 #
 636 
 637 ALL_OTHER_TARGETS += jdwpdocs
 638 
 639 JDWP_DOCDIR     = $(PLATFORM_DOCSDIR)/jpda/jdwp
 640 
 641 jdwpdocs: $(JDWP_DOCDIR)/jdwp-protocol.html
 642 $(JDWP_DOCDIR)/jdwp-protocol.html : $(JDK_OUTPUTDIR)/gensrc_jdwp_doc/jdwp-protocol.html
 643         $(MKDIR) -p $(@D)
 644         $(RM) $@
 645         $(CP) $< $@
 646 
 647 #############################################################
 648 #
 649 # jvmtidocs
 650 #
 651 
 652 ALL_OTHER_TARGETS += jvmtidocs
 653 
 654 JVMTI_DOCDIR      = $(PLATFORM_DOCSDIR)/jvmti
 655 JVMTI_HTML        = $(HOTSPOT_DIST)/docs/platform/jvmti/jvmti.html
 656 
 657 jvmtidocs:  $(JVMTI_DOCDIR)/jvmti.html
 658 $(JVMTI_DOCDIR)/jvmti.html:
 659         @$(prep-javadoc)
 660         @if [ -f $(JVMTI_HTML) ] ; then                                    \
 661           $(ECHO) "$(CP) $(JVMTI_HTML) $@";                                \
 662           $(CP) $(JVMTI_HTML) $@;                                          \
 663         else                                                               \
 664           $(ECHO) "WARNING: Generated file does not exist: $(JVMTI_HTML)"; \
 665         fi
 666 
 667 #############################################################
 668 #
 669 # jaasdocs
 670 #
 671 
 672 ALL_OTHER_TARGETS += jaasdocs
 673 
 674 JAAS_DOCDIR      := $(JRE_API_DOCSDIR)/security/jaas/spec
 675 JAAS2COREAPI     := ../../../$(JDKJRE2COREAPI)
 676 JAAS_DOCTITLE    := Java$(TRADEMARK) Authentication and Authorization Service
 677 JAAS_WINDOWTITLE := Java Authentication and Authorization Service
 678 JAAS_HEADER      := <strong>Java Authentication and Authorization Service</strong>
 679 JAAS_BOTTOM      := $(call CommonBottom,$(JAAS_FIRST_COPYRIGHT_YEAR))
 680 # JAAS_PKGS is located in NON_CORE_PKGS.gmk
 681 JAAS_OVERVIEW    := $(JDK_SHARE_CLASSES)/com/sun/security/auth/jaas-overview.html
 682 
 683 # The index.html, options, and packages files
 684 JAAS_INDEX_FILE    = $(JAAS_DOCDIR)/index.html
 685 JAAS_OPTIONS_FILE  = $(DOCSTMPDIR)/jaas.options
 686 JAAS_PACKAGES_FILE = $(DOCSTMPDIR)/jaas.packages
 687 
 688 jaasdocs: $(JAAS_INDEX_FILE)
 689 
 690 # Set relative location to core api document root
 691 $(JAAS_INDEX_FILE): GET2DOCSDIR=$(JAAS2COREAPI)/..
 692 
 693 # Run javadoc if the index file is out of date or missing
 694 $(JAAS_INDEX_FILE): $(JAAS_OPTIONS_FILE) $(JAAS_PACKAGES_FILE) coredocs
 695         $(prep-javadoc)
 696         $(call JavadocSummary,$(JAAS_OPTIONS_FILE),$(JAAS_PACKAGES_FILE))
 697         $(JAVADOC_CMD) -d $(@D) \
 698           @$(JAAS_OPTIONS_FILE) @$(JAAS_PACKAGES_FILE)
 699 
 700 # Create file with javadoc options in it
 701 $(JAAS_OPTIONS_FILE): $(JAAS_OVERVIEW)
 702         $(prep-target)
 703         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS))                     ; \
 704           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))      ; \
 705           $(call OptionPair,-encoding,ascii)                            ; \
 706           $(call OptionPair,-overview,$(JAAS_OVERVIEW))                 ; \
 707           $(call OptionPair,-doctitle,$(JAAS_DOCTITLE))                 ; \
 708           $(call OptionPair,-windowtitle,$(JAAS_WINDOWTITLE) $(DRAFT_WINTITLE)); \
 709           $(call OptionPair,-header,$(JAAS_HEADER)$(DRAFT_HEADER))      ; \
 710           $(call OptionPair,-bottom,$(JAAS_BOTTOM)$(DRAFT_BOTTOM))      ; \
 711           $(call OptionTrip,-linkoffline,$(JAAS2COREAPI),$(COREAPI_DOCSDIR)/); \
 712         ) >> $@
 713 
 714 # Create a file with the package names in it
 715 $(JAAS_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JAAS_PKGS))
 716         $(prep-target)
 717         $(call PackageFilter,$(JAAS_PKGS))
 718 
 719 #############################################################
 720 #
 721 # jgssdocs
 722 #
 723 
 724 ALL_OTHER_TARGETS += jgssdocs
 725 
 726 JGSS_DOCDIR      := $(JRE_API_DOCSDIR)/security/jgss/spec
 727 JGSS2COREAPI     := ../../../$(JDKJRE2COREAPI)
 728 JGSS_DOCTITLE    := Java$(TRADEMARK) GSS-API Utilities
 729 JGSS_WINDOWTITLE := Java GSS-API Utilities
 730 JGSS_HEADER      := <strong>Java GSS-API Utilities</strong>
 731 JGSS_BOTTOM      := $(call CommonBottom,$(JGSS_FIRST_COPYRIGHT_YEAR))
 732 JGSS_OVERVIEW    := $(JDK_SHARE_CLASSES)/com/sun/security/jgss/jgss-overview.html
 733 # JGSS_PKGS is located in NON_CORE_PKGS.gmk
 734 
 735 # The index.html, options, and packages files
 736 JGSS_INDEX_FILE    = $(JGSS_DOCDIR)/index.html
 737 JGSS_OPTIONS_FILE  = $(DOCSTMPDIR)/jgss.options
 738 JGSS_PACKAGES_FILE = $(DOCSTMPDIR)/jgss.packages
 739 
 740 jgssdocs: $(JGSS_INDEX_FILE)
 741 
 742 # Set relative location to core api document root
 743 $(JGSS_INDEX_FILE): GET2DOCSDIR=$(JGSS2COREAPI)/..
 744 
 745 # Run javadoc if the index file is out of date or missing
 746 $(JGSS_INDEX_FILE): $(JGSS_OPTIONS_FILE) $(JGSS_PACKAGES_FILE) coredocs
 747         $(prep-javadoc)
 748         $(call JavadocSummary,$(JGSS_OPTIONS_FILE),$(JGSS_PACKAGES_FILE))
 749         $(JAVADOC_CMD) -d $(@D) \
 750           @$(JGSS_OPTIONS_FILE) @$(JGSS_PACKAGES_FILE)
 751 
 752 # Create file with javadoc options in it
 753 $(JGSS_OPTIONS_FILE): $(JGSS_OVERVIEW)
 754         $(prep-target)
 755         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS))                     ; \
 756           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))      ; \
 757           $(call OptionPair,-encoding,ascii)                            ; \
 758           $(call OptionOnly,-nodeprecatedlist)                          ; \
 759           $(call OptionPair,-overview,$(JGSS_OVERVIEW))                 ; \
 760           $(call OptionPair,-doctitle,$(JGSS_DOCTITLE))                 ; \
 761           $(call OptionPair,-windowtitle,$(JGSS_WINDOWTITLE) $(DRAFT_WINTITLE)); \
 762           $(call OptionPair,-header,$(JGSS_HEADER)$(DRAFT_HEADER))      ; \
 763           $(call OptionPair,-bottom,$(JGSS_BOTTOM)$(DRAFT_BOTTOM))      ; \
 764           $(call OptionTrip,-linkoffline,$(JGSS2COREAPI),$(COREAPI_DOCSDIR)/); \
 765         ) >> $@
 766 
 767 # Create a file with the package names in it
 768 $(JGSS_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JGSS_PKGS))
 769         $(prep-target)
 770         $(call PackageFilter,$(JGSS_PKGS))
 771 
 772 #############################################################
 773 #
 774 # smartcardiodocs
 775 #
 776 
 777 ALL_OTHER_TARGETS += smartcardiodocs
 778 
 779 SMARTCARDIO_DOCDIR      := $(JRE_API_DOCSDIR)/security/smartcardio/spec
 780 SMARTCARDIO2COREAPI     := ../../../$(JDKJRE2COREAPI)
 781 SMARTCARDIO_DOCTITLE    := Java$(TRADEMARK) Smart Card I/O
 782 SMARTCARDIO_WINDOWTITLE := Java Smart Card I/O
 783 SMARTCARDIO_HEADER      := <strong>Java Smart Card I/O</strong>
 784 SMARTCARDIO_BOTTOM      := $(call CommonBottom,$(SMARTCARDIO_FIRST_COPYRIGHT_YEAR))
 785 # SMARTCARDIO_PKGS is located in NON_CORE_PKGS.gmk
 786 
 787 # The index.html, options, and packages files
 788 SMARTCARDIO_INDEX_FILE    = $(SMARTCARDIO_DOCDIR)/index.html
 789 SMARTCARDIO_OPTIONS_FILE  = $(DOCSTMPDIR)/smartcardio.options
 790 SMARTCARDIO_PACKAGES_FILE = $(DOCSTMPDIR)/smartcardio.packages
 791 
 792 smartcardiodocs: $(SMARTCARDIO_INDEX_FILE)
 793 
 794 # Set relative location to core api document root
 795 $(SMARTCARDIO_INDEX_FILE): GET2DOCSDIR=$(SMARTCARDIO2COREAPI)/..
 796 
 797 # Run javadoc if the index file is out of date or missing
 798 $(SMARTCARDIO_INDEX_FILE): $(SMARTCARDIO_OPTIONS_FILE) $(SMARTCARDIO_PACKAGES_FILE) coredocs
 799         $(prep-javadoc)
 800         $(call JavadocSummary,$(SMARTCARDIO_OPTIONS_FILE),$(SMARTCARDIO_PACKAGES_FILE))
 801         $(JAVADOC_CMD) -d $(@D) \
 802           @$(SMARTCARDIO_OPTIONS_FILE) @$(SMARTCARDIO_PACKAGES_FILE)
 803 
 804 # Create file with javadoc options in it
 805 $(SMARTCARDIO_OPTIONS_FILE):
 806         $(prep-target)
 807         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS))                     ; \
 808           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))      ; \
 809           $(call OptionPair,-encoding,ascii)                            ; \
 810           $(call OptionOnly,-nodeprecatedlist)                          ; \
 811           $(call OptionPair,-doctitle,$(SMARTCARDIO_DOCTITLE))          ; \
 812           $(call OptionPair,-windowtitle,$(SMARTCARDIO_WINDOWTITLE) $(DRAFT_WINTITLE));\
 813           $(call OptionPair,-header,$(SMARTCARDIO_HEADER)$(DRAFT_HEADER)); \
 814           $(call OptionPair,-bottom,$(SMARTCARDIO_BOTTOM)$(DRAFT_BOTTOM)); \
 815           $(call OptionTrip,-linkoffline,$(SMARTCARDIO2COREAPI),$(COREAPI_DOCSDIR)/); \
 816         ) >> $@
 817 
 818 # Create a file with the package names in it
 819 $(SMARTCARDIO_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(SMARTCARDIO_PKGS))
 820         $(prep-target)
 821         $(call PackageFilter,$(SMARTCARDIO_PKGS))
 822 
 823 #############################################################
 824 #
 825 # httpserverdocs
 826 #
 827 
 828 ALL_OTHER_TARGETS += httpserverdocs
 829 
 830 HTTPSERVER_DOCDIR      := $(JRE_API_DOCSDIR)/net/httpserver/spec
 831 HTTPSERVER2COREAPI     := ../../../$(JDKJRE2COREAPI)
 832 HTTPSERVER_DOCTITLE    := Java$(TRADEMARK) HTTP Server
 833 HTTPSERVER_WINDOWTITLE := Java HTTP Server
 834 HTTPSERVER_HEADER      := <strong>Java HTTP Server</strong>
 835 HTTPSERVER_BOTTOM      := $(call CommonBottom,$(HTTPSERVER_FIRST_COPYRIGHT_YEAR))
 836 # HTTPSERVER_PKGS is located in NON_CORE_PKGS.gmk
 837 
 838 HTTPSERVER_INDEX_HTML    = $(HTTPSERVER_DOCDIR)/index.html
 839 HTTPSERVER_OPTIONS_FILE  = $(DOCSTMPDIR)/httpserver.options
 840 HTTPSERVER_PACKAGES_FILE = $(DOCSTMPDIR)/httpserver.packages
 841 
 842 httpserverdocs: $(HTTPSERVER_INDEX_HTML)
 843 
 844 # Set relative location to core api document root
 845 $(HTTPSERVER_INDEX_HTML): GET2DOCSDIR=$(HTTPSERVER2COREAPI)/..
 846 
 847 # Run javadoc if the index file is out of date or missing
 848 $(HTTPSERVER_INDEX_HTML): $(HTTPSERVER_OPTIONS_FILE) $(HTTPSERVER_PACKAGES_FILE) coredocs
 849         $(prep-javadoc)
 850         $(call JavadocSummary,$(HTTPSERVER_OPTIONS_FILE),$(HTTPSERVER_PACKAGES_FILE))
 851         $(JAVADOC_CMD) -d $(@D) \
 852           @$(HTTPSERVER_OPTIONS_FILE) @$(HTTPSERVER_PACKAGES_FILE)
 853 
 854 # Create file with javadoc options in it
 855 $(HTTPSERVER_OPTIONS_FILE):
 856         $(prep-target)
 857         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS))                     ; \
 858           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))      ; \
 859           $(call OptionPair,-encoding,ascii)                            ; \
 860           $(call OptionOnly,-nodeprecatedlist)                          ; \
 861           $(call OptionPair,-doctitle,$(HTTPSERVER_DOCTITLE))           ; \
 862           $(call OptionPair,-windowtitle,$(HTTPSERVER_WINDOWTITLE) $(DRAFT_WINTITLE));\
 863           $(call OptionPair,-header,$(HTTPSERVER_HEADER)$(DRAFT_HEADER)); \
 864           $(call OptionPair,-bottom,$(HTTPSERVER_BOTTOM)$(DRAFT_BOTTOM)); \
 865           $(call OptionTrip,-linkoffline,$(HTTPSERVER2COREAPI),$(COREAPI_DOCSDIR)/); \
 866         ) >> $@
 867 
 868 # Create a file with the package names in it
 869 $(HTTPSERVER_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(HTTPSERVER_PKGS))
 870         $(prep-target)
 871         $(call PackageFilter,$(HTTPSERVER_PKGS))
 872 
 873 #############################################################
 874 #
 875 # mgmtdocs
 876 #
 877 
 878 ALL_OTHER_TARGETS += mgmtdocs
 879 
 880 MGMT_DOCDIR      := $(JRE_API_DOCSDIR)/management/extension
 881 MGMT2COREAPI     := ../../$(JDKJRE2COREAPI)
 882 JVM_MIB_NAME     := JVM-MANAGEMENT-MIB.mib
 883 JVM_MIB_SRC      := $(JDK_TOPDIR)/src/closed/share/classes/sun/management/snmp/$(JVM_MIB_NAME)
 884 MGMT_DOCTITLE    := Monitoring and Management Interface for the Java$(TRADEMARK) Platform
 885 MGMT_WINDOWTITLE := Monitoring and Management Interface for the Java Platform
 886 MGMT_HEADER      := <strong>Monitoring and Management Interface for the Java Platform</strong>
 887 MGMT_BOTTOM      := $(call CommonBottom,$(MGMT_FIRST_COPYRIGHT_YEAR))
 888 MGMT_OVERVIEW    := $(JDK_SHARE_CLASSES)/com/sun/management/mgmt-overview.html
 889 # MGMT_PKGS is located in NON_CORE_PKGS.gmk
 890 
 891 # The index.html, options, and packages files
 892 MGMT_INDEX_FILE    = $(MGMT_DOCDIR)/index.html
 893 MGMT_OPTIONS_FILE  = $(DOCSTMPDIR)/mgmt.options
 894 MGMT_PACKAGES_FILE = $(DOCSTMPDIR)/mgmt.packages
 895 
 896 mgmtdocs: $(MGMT_INDEX_FILE)
 897 
 898 # Set relative location to core api document root
 899 $(MGMT_INDEX_FILE): GET2DOCSDIR=$(MGMT2COREAPI)/..
 900 
 901 # Run javadoc if the index file is out of date or missing
 902 $(MGMT_INDEX_FILE): $(MGMT_OPTIONS_FILE) $(MGMT_PACKAGES_FILE) coredocs
 903         $(prep-javadoc)
 904         @if [ -f $(JVM_MIB_SRC) ] ; then                                \
 905           $(ECHO) "$(CP) $(JVM_MIB_SRC) $(@D)/..";                      \
 906           $(CP) $(JVM_MIB_SRC) $(@D)/.. ;                               \
 907         else                                                            \
 908           $(ECHO) "WARNING: File $(JVM_MIB_NAME) not available.";       \
 909         fi
 910         $(call JavadocSummary,$(MGMT_OPTIONS_FILE),$(MGMT_PACKAGES_FILE))
 911         $(JAVADOC_CMD) -d $(@D) \
 912           @$(MGMT_OPTIONS_FILE) @$(MGMT_PACKAGES_FILE)
 913 
 914 # Create file with javadoc options in it
 915 $(MGMT_OPTIONS_FILE): $(MGMT_OVERVIEW)
 916         $(prep-target)
 917         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS))                     ; \
 918           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))      ; \
 919           $(call OptionPair,-encoding,ascii)                            ; \
 920           $(call OptionOnly,-nodeprecatedlist)                          ; \
 921           $(call OptionPair,-overview,$(MGMT_OVERVIEW))                 ; \
 922           $(call OptionPair,-doctitle,$(MGMT_DOCTITLE))                 ; \
 923           $(call OptionPair,-windowtitle,$(MGMT_WINDOWTITLE) $(DRAFT_WINTITLE)); \
 924           $(call OptionPair,-header,$(MGMT_HEADER)$(DRAFT_HEADER))      ; \
 925           $(call OptionPair,-bottom,$(MGMT_BOTTOM)$(DRAFT_BOTTOM))      ; \
 926           $(call OptionTrip,-linkoffline,$(MGMT2COREAPI),$(COREAPI_DOCSDIR)/); \
 927         ) >> $@
 928 
 929 # Create a file with the package names in it
 930 $(MGMT_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(MGMT_PKGS))
 931         $(prep-target)
 932         $(call PackageFilter,$(MGMT_PKGS))
 933 
 934 #############################################################
 935 #
 936 # attachdocs
 937 #
 938 
 939 ALL_OTHER_TARGETS += attachdocs
 940 
 941 ATTACH_DOCDIR      := $(JDK_API_DOCSDIR)/attach/spec
 942 ATTACH2COREAPI     := ../../$(JDKJRE2COREAPI)
 943 ATTACH_DOCTITLE    := Attach API
 944 ATTACH_WINDOWTITLE := Attach API
 945 ATTACH_HEADER      := <strong>Attach API</strong>
 946 ATTACH_BOTTOM      := $(call CommonBottom,$(ATTACH_FIRST_COPYRIGHT_YEAR))
 947 # ATTACH_PKGS is located in NON_CORE_PKGS.gmk
 948 
 949 ATTACH_INDEX_HTML    = $(ATTACH_DOCDIR)/index.html
 950 ATTACH_OPTIONS_FILE  = $(DOCSTMPDIR)/attach.options
 951 ATTACH_PACKAGES_FILE = $(DOCSTMPDIR)/attach.packages
 952 
 953 attachdocs: $(ATTACH_INDEX_HTML)
 954 
 955 # Set relative location to core api document root
 956 $(ATTACH_INDEX_HTML): GET2DOCSDIR=$(ATTACH2COREAPI)/..
 957 
 958 # Run javadoc if the index file is out of date or missing
 959 $(ATTACH_INDEX_HTML): $(ATTACH_OPTIONS_FILE) $(ATTACH_PACKAGES_FILE) coredocs
 960         $(prep-javadoc)
 961         $(call JavadocSummary,$(ATTACH_OPTIONS_FILE),$(ATTACH_PACKAGES_FILE))
 962         $(JAVADOC_CMD) -d $(@D) \
 963           @$(ATTACH_OPTIONS_FILE) @$(ATTACH_PACKAGES_FILE)
 964 
 965 # Create file with javadoc options in it
 966 $(ATTACH_OPTIONS_FILE):
 967         $(prep-target)
 968         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS))                     ; \
 969           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))      ; \
 970           $(call OptionPair,-encoding,ascii)                            ; \
 971           $(call OptionOnly,-nodeprecatedlist)                          ; \
 972           $(call OptionPair,-doctitle,$(ATTACH_DOCTITLE))               ; \
 973           $(call OptionPair,-windowtitle,$(ATTACH_WINDOWTITLE) $(DRAFT_WINTITLE));\
 974           $(call OptionPair,-header,$(ATTACH_HEADER)$(DRAFT_HEADER))    ; \
 975           $(call OptionPair,-bottom,$(ATTACH_BOTTOM)$(DRAFT_BOTTOM))    ; \
 976           $(call OptionTrip,-linkoffline,$(ATTACH2COREAPI),$(COREAPI_DOCSDIR)/); \
 977         ) >> $@
 978 
 979 # Create a file with the package names in it
 980 $(ATTACH_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(ATTACH_PKGS))
 981         $(prep-target)
 982         $(call PackageFilter,$(ATTACH_PKGS))
 983 
 984 #############################################################
 985 #
 986 # jconsoledocs
 987 #
 988 
 989 ALL_OTHER_TARGETS += jconsoledocs
 990 
 991 JCONSOLE_DOCDIR      := $(JDK_API_DOCSDIR)/jconsole/spec
 992 JCONSOLE2COREAPI     := ../../$(JDKJRE2COREAPI)
 993 JCONSOLE_DOCTITLE    := JConsole API
 994 JCONSOLE_WINDOWTITLE := JConsole API
 995 JCONSOLE_HEADER      := <strong>JConsole API</strong>
 996 JCONSOLE_BOTTOM      := $(call CommonBottom,$(JCONSOLE_FIRST_COPYRIGHT_YEAR))
 997 # JCONSOLE_PKGS is located in NON_CORE_PKGS.gmk
 998 
 999 JCONSOLE_INDEX_HTML    = $(JCONSOLE_DOCDIR)/index.html
1000 JCONSOLE_OPTIONS_FILE  = $(DOCSTMPDIR)/jconsole.options
1001 JCONSOLE_PACKAGES_FILE = $(DOCSTMPDIR)/jconsole.packages
1002 
1003 jconsoledocs: $(JCONSOLE_INDEX_HTML)
1004 
1005 # Set relative location to core api document root
1006 $(JCONSOLE_INDEX_HTML): GET2DOCSDIR=$(JCONSOLE2COREAPI)/..
1007 
1008 # Run javadoc if the index file is out of date or missing
1009 $(JCONSOLE_INDEX_HTML): $(JCONSOLE_OPTIONS_FILE) $(JCONSOLE_PACKAGES_FILE) coredocs
1010         $(prep-javadoc)
1011         $(call JavadocSummary,$(JCONSOLE_OPTIONS_FILE),$(JCONSOLE_PACKAGES_FILE))
1012         $(JAVADOC_CMD) -d $(@D) \
1013           @$(JCONSOLE_OPTIONS_FILE) @$(JCONSOLE_PACKAGES_FILE)
1014 
1015 # Create file with javadoc options in it
1016 $(JCONSOLE_OPTIONS_FILE):
1017         $(prep-target)
1018         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS))                     ; \
1019           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))      ; \
1020           $(call OptionPair,-encoding,ascii)                            ; \
1021           $(call OptionOnly,-nodeprecatedlist)                          ; \
1022           $(call OptionPair,-doctitle,$(JCONSOLE_DOCTITLE))             ; \
1023           $(call OptionPair,-windowtitle,$(JCONSOLE_WINDOWTITLE) $(DRAFT_WINTITLE));\
1024           $(call OptionPair,-header,$(JCONSOLE_HEADER)$(DRAFT_HEADER))  ; \
1025           $(call OptionPair,-bottom,$(JCONSOLE_BOTTOM)$(DRAFT_BOTTOM))  ; \
1026           $(call OptionTrip,-linkoffline,$(JCONSOLE2COREAPI),$(COREAPI_DOCSDIR)/); \
1027         ) >> $@
1028 
1029 # Create a file with the package names in it
1030 $(JCONSOLE_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JCONSOLE_PKGS))
1031         $(prep-target)
1032         $(call PackageFilter,$(JCONSOLE_PKGS))
1033 
1034 #############################################################
1035 #
1036 # treeapidocs
1037 #
1038 
1039 ALL_OTHER_TARGETS += treeapidocs
1040 
1041 TREEAPI_DOCDIR       := $(JDK_API_DOCSDIR)/javac/tree
1042 TREEAPI2COREAPI      := ../../$(JDKJRE2COREAPI)
1043 TREEAPI_DOCTITLE     := Compiler Tree API
1044 TREEAPI_WINDOWTITLE  := Compiler Tree API
1045 TREEAPI_HEADER       := <strong>Compiler Tree API</strong>
1046 TREEAPI_BOTTOM       := $(call CommonBottom,$(TREEAPI_FIRST_COPYRIGHT_YEAR))
1047 TREEAPI_GROUPNAME    := Packages
1048 TREEAPI_REGEXP       := com.sun.source.*
1049 # TREEAPI_PKGS is located in NON_CORE_PKGS.gmk
1050 
1051 TREEAPI_INDEX_HTML    = $(TREEAPI_DOCDIR)/index.html
1052 TREEAPI_OPTIONS_FILE  = $(DOCSTMPDIR)/treeapi.options
1053 TREEAPI_PACKAGES_FILE = $(DOCSTMPDIR)/treeapi.packages
1054 
1055 treeapidocs: $(TREEAPI_INDEX_HTML)
1056 
1057 # Set relative location to core api document root
1058 $(TREEAPI_INDEX_HTML): GET2DOCSDIR=$(TREEAPI2COREAPI)/..
1059 
1060 # Run javadoc if the index file is out of date or missing
1061 $(TREEAPI_INDEX_HTML): $(TREEAPI_OPTIONS_FILE) $(TREEAPI_PACKAGES_FILE) coredocs
1062         $(prep-javadoc)
1063         $(call JavadocSummary,$(TREEAPI_OPTIONS_FILE),$(TREEAPI_PACKAGES_FILE))
1064         $(JAVADOC_CMD) -d $(@D) \
1065           @$(TREEAPI_OPTIONS_FILE) @$(TREEAPI_PACKAGES_FILE)
1066 
1067 # Create file with javadoc options in it
1068 $(TREEAPI_OPTIONS_FILE):
1069         $(prep-target)
1070         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS))                     ; \
1071           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))      ; \
1072           $(call OptionPair,-encoding,ascii)                            ; \
1073           $(call OptionPair,-doctitle,$(TREEAPI_DOCTITLE))              ; \
1074           $(call OptionPair,-windowtitle,$(TREEAPI_WINDOWTITLE) $(DRAFT_WINTITLE));\
1075           $(call OptionPair,-header,$(TREEAPI_HEADER)$(DRAFT_HEADER))   ; \
1076           $(call OptionPair,-tag,$(TAG_JLS))                            ; \
1077           $(call OptionPair,-bottom,$(TREEAPI_BOTTOM)$(DRAFT_BOTTOM))   ; \
1078           $(call OptionTrip,-group,$(TREEAPI_GROUPNAME),$(TREEAPI_REGEXP)); \
1079           $(call OptionTrip,-linkoffline,$(TREEAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
1080         ) >> $@
1081 
1082 # Create a file with the package names in it
1083 $(TREEAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(TREEAPI_PKGS))
1084         $(prep-target)
1085         $(call PackageFilter,$(TREEAPI_PKGS))
1086 
1087 #############################################################
1088 #
1089 # sctpdocs
1090 #
1091 
1092 ALL_OTHER_TARGETS += sctpdocs
1093 
1094 SCTPAPI_DOCDIR      := $(JRE_API_DOCSDIR)/nio/sctp/spec
1095 SCTPAPI2COREAPI     := ../../../$(JDKJRE2COREAPI)
1096 SCTPAPI_DOCTITLE    := SCTP API
1097 SCTPAPI_WINDOWTITLE := SCTP API
1098 SCTPAPI_HEADER      := <strong>SCTP API</strong>
1099 SCTPAPI_BOTTOM      := $(call CommonBottom,$(SCTPAPI_FIRST_COPYRIGHT_YEAR))
1100 # SCTPAPI_PKGS is located in NON_CORE_PKGS.gmk
1101 
1102 SCTPAPI_INDEX_HTML    = $(SCTPAPI_DOCDIR)/index.html
1103 SCTPAPI_OPTIONS_FILE  = $(DOCSTMPDIR)/sctp.options
1104 SCTPAPI_PACKAGES_FILE = $(DOCSTMPDIR)/sctp.packages
1105 
1106 sctpdocs: $(SCTPAPI_INDEX_HTML)
1107 
1108 # Set relative location to core api document root
1109 $(SCTPAPI_INDEX_HTML): GET2DOCSDIR=$(SCTPAPI2COREAPI)/..
1110 
1111 # Run javadoc if the index file is out of date or missing
1112 $(SCTPAPI_INDEX_HTML): $(SCTPAPI_OPTIONS_FILE) $(SCTPAPI_PACKAGES_FILE) coredocs
1113         $(prep-javadoc)
1114         $(call JavadocSummary,$(SCTPAPI_OPTIONS_FILE),$(SCTPAPI_PACKAGES_FILE))
1115         $(JAVADOC_CMD) -d $(@D) \
1116           @$(SCTPAPI_OPTIONS_FILE) @$(SCTPAPI_PACKAGES_FILE)
1117 
1118 # Create file with javadoc options in it
1119 $(SCTPAPI_OPTIONS_FILE):
1120         $(prep-target)
1121         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS))                     ; \
1122           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))      ; \
1123           $(call OptionPair,-encoding,ascii)                            ; \
1124           $(call OptionOnly,-nodeprecatedlist)                          ; \
1125           $(call OptionPair,-doctitle,$(SCTPAPI_DOCTITLE))              ; \
1126           $(call OptionPair,-windowtitle,$(SCTPAPI_WINDOWTITLE) $(DRAFT_WINTITLE));\
1127           $(call OptionPair,-header,$(SCTPAPI_HEADER)$(DRAFT_HEADER))   ; \
1128           $(call OptionPair,-bottom,$(SCTPAPI_BOTTOM)$(DRAFT_BOTTOM))   ; \
1129           $(call OptionTrip,-linkoffline,$(SCTPAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
1130         ) >> $@
1131 
1132 # Create a file with the package names in it
1133 $(SCTPAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(SCTPAPI_PKGS))
1134         $(prep-target)
1135         $(call PackageFilter,$(SCTPAPI_PKGS))
1136 
1137 #############################################################
1138 #
1139 # Get a cache of all the directories
1140 
1141 $(DIRECTORY_CACHE): $(ALL_EXISTING_SOURCE_DIRS)
1142         $(prep-target)
1143         @for cp in $(ALL_EXISTING_SOURCE_DIRS) ; do     \
1144           $(ECHO) "$(FIND) $${cp} -type f >> $@";         \
1145           $(FIND) $${cp} -type f >> $@;           \
1146         done
1147 
1148 #############################################################
1149 #release version of core packages ########
1150 # Maximize performance and ensure that build number & milestone are set.
1151 
1152 rel-coredocs: sanitycheckcoredocs
1153         $(MAKE) coredocs
1154 
1155 rel-docs: rel-coredocs $(ALL_OTHER_TARGETS)
1156 #
1157 # end of production targets
1158 
1159 otherdocs: $(ALL_OTHER_TARGETS)
1160 
1161 clean:
1162         $(RM) -r $(DOCSDIR) $(DOCSTMPDIR)
1163 
1164 #############################################################
1165 # DEBUG TARGET
1166 # List the values defined in the makefile hierarchy, to make sure everything
1167 # is set properly, and to help identify values we can use instead of making new ones.
1168 # (Most of them come from common/shared/Defs.gmk)
1169 #
1170 #  Notes:
1171 #    * BUILD_NUMBER defaults to b00 if not set on command line with BUILD_NUMBER=<value>
1172 #    * MILESTONE defaults to internal unless set to beta, rc, or fcs on command line
1173 #
1174 
1175 #############################################################
1176 .PHONY: all docs coredocs rel-docs otherdocs rel-coredocs \
1177         sanitycheckcoredocs $(ALL_OTHER_TARGETS)