1 # Copyright (c) 1997, 2012, 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 #
  26 # Definitions for $(DOCSDIR), $(MKDIR), $(BINDIR), etc.
  27 #
  28 BUILDDIR=..
  29 PRODUCT=docs
  30 include $(BUILDDIR)/common/Defs.gmk
  31 
  32 # Get CopyrightLine macro and other shared variables
  33 include $(BUILDDIR)/common/shared/Defs-javadoc.gmk
  34 
  35 # Url to root of documents
  36 DOCSDIR_URL = {@docroot}/$(GET2DOCSDIR)
  37 
  38 # Url to copyright html file
  39 COPYRIGHT_URL-7 = $(DOCSDIR_URL)/legal/cpyr.html
  40 COPYRIGHT_URL = $(COPYRIGHT_URL-$(JDK_MINOR_VERSION))
  41 
  42 # Url to bug filing site
  43 BUG_SUBMIT_URL = http://bugreport.sun.com/bugreport/
  44 
  45 # Common line for how to submit a bug or rfe
  46 BUG_SUBMIT_LINE = <a href="$(BUG_SUBMIT_URL)">Submit a bug or feature</a>
  47 
  48 # Url to devdocs page
  49 #   Was: http://java.sun.com/javase/6/webnotes/devdocs-vs-specs.html
  50 DEV_DOCS_URL-5 = http://java.sun.com/j2se/1.5.0/docs/index.html
  51 DEV_DOCS_URL-6 = http://download.oracle.com/javase/6/docs/index.html
  52 DEV_DOCS_URL-7 = http://download.oracle.com/javase/7/docs/index.html
  53 DEV_DOCS_URL = $(DEV_DOCS_URL-$(JDK_MINOR_VERSION))
  54 DOCS_BASE_URL = http://download.oracle.com/javase/7/docs
  55 
  56 # Url to Java Language Spec
  57 #JLS3_URL = http://java.sun.com/docs/books/jls/
  58 
  59 # Common Java trademark line
  60 JAVA_TRADEMARK_LINE = Java is a trademark or registered trademark of \
  61 $(FULL_COMPANY_NAME) in the US and other countries.
  62 
  63 #
  64 # Definitions for imported components
  65 #
  66 include $(BUILDDIR)/common/internal/ImportComponents.gmk
  67 
  68 # We override whatever the max VM memory setting is here.
  69 #    NOTE: javadoc will not complete without these larger settings.
  70 #    WARNING: This could cause thrashing on low memory machines.
  71 ifeq ($(ARCH_DATA_MODEL),64)
  72   MAX_VM_MEMORY = 1024
  73 else
  74   MAX_VM_MEMORY = 612
  75 endif
  76 
  77 # List of all possible directories for javadoc to look for sources
  78 #    NOTE: Quotes are required around sourcepath argument only on Windows.
  79 #          Otherwise, you get "No packages or classes specified." due 
  80 #          to $(CLASSPATH_SEPARATOR) being interpreted as an end of 
  81 #          command (newline or shell ; character)
  82 ALL_SOURCE_DIRS = $(SHARE_SRC)/classes \
  83                   $(IMPORTSRCDIR) \
  84                   $(GENSRCDIR) \
  85                   $(SHARE_SRC)/../solaris/classes \
  86                   $(SHARE_SRC)/../windows/classes \
  87                   $(SHARE_SRC)/doc/stub
  88 
  89 # List of directories that actually exist
  90 ALL_EXISTING_SOURCE_DIRS := $(wildcard $(ALL_SOURCE_DIRS))
  91 
  92 # List with classpath separator between them
  93 EMPTY:=
  94 SPACE:= $(EMPTY) $(EMPTY)
  95 RELEASEDOCS_SOURCEPATH = \
  96     $(subst $(SPACE),$(CLASSPATH_SEPARATOR),$(strip $(ALL_SOURCE_DIRS)))
  97 
  98 # Prep for javadoc creation, assumes $@ is an index.html file
  99 define prep-javadoc
 100 @if [ -f "$@" -a "$?" != "" ] ; then \
 101   $(ECHO) "# Dependencies have changed: $?"; \
 102 fi
 103 $(RM) -r $(@D)
 104 $(MKDIR) -p $(@D)
 105 endef
 106 
 107 # A cache of the directories in ALL_SOURCE_DIRS
 108 DIRECTORY_CACHE = $(DOCSTMPDIR)/directory.cache
 109 
 110 # Given a list of packages, return a list of files or dirs to be dependent on
 111 #   (Currently only returning a list of directories)
 112 define PackageDependencies # packages
 113 $(shell                                                 \
 114   if [ "$1" != "" -a -f $(DIRECTORY_CACHE) ] ; then     \
 115     for p in $1 ; do                                    \
 116       pd=`$(ECHO) $${p} | $(SED) -e 's@[.]@/@g'`;       \
 117       $(CAT) $(DIRECTORY_CACHE) | $(GREP) "/$${pd}/" ;  \
 118     done;                                               \
 119   fi                                                    \
 120 )
 121 endef
 122 
 123 # Given a list of packages, add packages that exist to $@, print summary
 124 define PackageFilter # packages
 125 @if [ "$1" != "" ] ; then                               \
 126   for p in $1 ; do                                      \
 127     pd=`$(ECHO) $${p} | $(SED) -e 's@[.]@/@g'`;         \
 128     found="false";                                      \
 129     for cp in $(ALL_SOURCE_DIRS) ; do                   \
 130       if [ -d $${cp}/$${pd} ] ; then                    \
 131         $(ECHO) "$${p}" >> $@;                            \
 132         found="true";                                   \
 133         break;                                          \
 134       fi;                                               \
 135     done;                                               \
 136     if [ "$${found}" = "false" ] ; then                 \
 137       $(ECHO) "WARNING: Package not found: $${p}";      \
 138     fi;                                                 \
 139   done;                                                 \
 140 fi
 141 endef
 142 
 143 # Print out a summary of the javadoc command about to be run
 144 define JavadocSummary # optionsfile packagesfile
 145 @$(ECHO) "# Summary for $@";\
 146  $(ECHO) "# Options (`$(BASENAME) $1`):"; $(SED) -e 's@^@#   @' $1; \
 147  $(ECHO) "# Packages (`$(BASENAME) $2`):";$(SED) -e 's@^@#   @' $2
 148 endef
 149 
 150 #
 151 # Temporary directory for javadoc creation
 152 #
 153 DOCSTMPDIR = $(TEMPDIR)/doctmp
 154 
 155 #
 156 # Different api directories created from root directory
 157 #
 158 COREAPI_DOCSDIR   = $(DOCSDIR)/api
 159 JDK_API_DOCSDIR   = $(DOCSDIR)/jdk/api
 160 JRE_API_DOCSDIR   = $(DOCSDIR)/jre/api
 161 PLATFORM_DOCSDIR  = $(DOCSDIR)/platform
 162 
 163 # The non-core api javadocs need to be able to access the root of the core
 164 #   api directory, so for jdk/api or jre/api to get to the core api/
 165 #   directory we would use this:
 166 JDKJRE2COREAPI    = ../../api
 167 
 168 # Common bottom argument
 169 define CommonBottom # year
 170 <font size="-1"><br> $(call CopyrightLine,,$1,)</font>
 171 endef
 172 
 173 # Common trademark bottom argument (Not sure why this is used sometimes)
 174 define CommonTrademarkBottom # year
 175 <font size="-1">\
 176 $(BUG_SUBMIT_LINE)<br>$(JAVA_TRADEMARK_LINE)<br>\
 177 $(call CopyrightLine,,$1,$(COMPANY_ADDRESS))\
 178 </font>
 179 endef
 180 
 181 # Common echo of option
 182 define OptionOnly # opt
 183 $(PRINTF) "%s\n" "$1"
 184 endef
 185 define OptionPair # opt arg
 186 $(PRINTF) "%s '%s'\n" "$1" '$2'
 187 endef
 188 define OptionTrip # opt arg arg
 189 $(PRINTF) "%s '%s' '%s'\n" "$1" '$2' '$3'
 190 endef
 191 
 192 # Core api bottom argument (with special sauce)
 193 COREAPI_BOTTOM = <font size="-1"> $(BUG_SUBMIT_LINE)\
 194 <br>For further API reference and developer documentation, \
 195 see <a href="$(DEV_DOCS_URL)" target="_blank">Java SE Documentation</a>. \
 196 That documentation contains more detailed, developer-targeted descriptions, \
 197 with conceptual overviews, definitions of terms, workarounds, \
 198 and working code examples.<br>\
 199 $(call CopyrightLine,$(COPYRIGHT_URL),$(FIRST_COPYRIGHT_YEAR),)\
 200 </font>
 201 
 202 # Common javadoc options used by all
 203 COMMON_JAVADOCFLAGS =                                   \
 204                 $(NO_PROPRIETARY_API_WARNINGS)          \
 205                 -quiet                                  \
 206                 -use                                    \
 207                 -keywords                               \
 208                 $(ADDITIONAL_JAVADOCFLAGS)
 209 
 210 ifdef OPENJDK
 211   ADDITIONAL_JAVADOCFLAGS =                             \
 212                 -Xdocrootparent $(DOCS_BASE_URL)
 213 else
 214   ADDITIONAL_JAVADOCFLAGS =
 215 endif
 216 
 217 # Draft used for non-fcs documents
 218 JDK_IS_FCS = false
 219 DRAFT_HEADER =
 220 ifeq ($(JDK_MINOR_VERSION),5)
 221   JDK_IS_FCS = true
 222 endif
 223 ifeq ($(JDK_MINOR_VERSION),6)
 224   JDK_IS_FCS = true
 225 endif
 226 ifeq ($(JDK_MINOR_VERSION),7)
 227   JDK_IS_FCS = true
 228 endif
 229 ifeq ($(JDK_IS_FCS),false)
 230   ifneq ($(MILESTONE), fcs)
 231     DRAFT_HEADER = <br><strong>DRAFT&nbsp;$(MILESTONE)-$(BUILD_NUMBER)</strong>
 232     DRAFT_BOTTOM = <br><strong>DRAFT&nbsp;$(MILESTONE)-$(BUILD_NUMBER)</strong>
 233     DRAFT_WINTITLE = $(BUILD_NUMBER)
 234     # Early access top text (not used in FCS releases)
 235     COREAPI_TOP_EARLYACCESS = \
 236 <div style="background-color: \#EEEEEE"> \
 237 <div style="padding: 6px; margin-top: 2px; margin-bottom: 6px; \
 238 margin-left: 6px; margin-right: 6px; text-align: justify; \
 239 font-size: 80%; font-family: Helvetica, Arial, sans-serif; \
 240 font-weight: normal;"> \
 241 Please note that the specifications and other information \
 242 contained herein are not final and are subject to change. \
 243 The information is being made available to you solely for purpose of \
 244 evaluation. \
 245 </div> </div>
 246   endif
 247 endif
 248 
 249 #################################################################
 250 
 251 #
 252 # CORE_PKGS environment variable has been moved to the following file
 253 #
 254 include CORE_PKGS.gmk
 255 
 256 #
 257 # Load environment variables for API package names that are not part of
 258 # the Java SE platform
 259 #
 260 include NON_CORE_PKGS.gmk
 261 
 262 #################################################################
 263 
 264 #
 265 # Default target is same as docs target, create core api and all others it can
 266 #
 267 
 268 all: docs
 269 docs: coredocs otherdocs
 270 
 271 #################################################################
 272 # Production Targets -- USE THESE TARGETS WHEN:
 273 #    a) You're generating docs outside of release engineering's
 274 #       standard control build.
 275 #    b) The docs will be pushed to the web and/or included in
 276 #       the downloaded doc bundle.
 277 #
 278 # See:  Notes.html#releaseTargets
 279 # Note: Spaces precede ifdef/ifndef indents. Tabs precede target commands (!)
 280 #
 281 
 282 sanitycheckcoredocs:
 283         @$(ECHO) ""
 284         @$(ECHO) "Building core api docs with these values:"
 285         @$(ECHO) "    BUILD_NUMBER = $(BUILD_NUMBER)"
 286         @$(ECHO) "    MILESTONE = $(MILESTONE)"
 287         @$(ECHO) ""
 288   ifeq ($(BUILD_NUMBER), b00)
 289         @$(ECHO) "ERROR: Build number must be defined"
 290         @$(ECHO) "MILESTONE is set to $(MILESTONE)"
 291         @$(ECHO) ""
 292         exit 1
 293   endif
 294 
 295 #############################################################
 296 #
 297 # coredocs
 298 #
 299 COREAPI_DOCTITLE  = Java$(TRADEMARK) Platform, Standard Edition \
 300 $(JDK_MINOR_VERSION)<br>API Specification
 301 COREAPI_WINDOWTITLE  = Java Platform SE $(JDK_MINOR_VERSION)
 302 COREAPI_HEADER = \
 303 <strong>Java$(TRADEMARK)&nbsp;Platform<br>Standard&nbsp;Ed.&nbsp;$(JDK_MINOR_VERSION)</strong>
 304 
 305 # Java language specification cite
 306 TAG_JLS = jls:a:See <cite> \
 307 The Java&trade; Language Specification</cite>:
 308 
 309 # Overview file for core apis
 310 COREAPI_OVERVIEW = $(SHARE_SRC)/classes/overview-core.html
 311 
 312 # The index.html, options, and packages files
 313 COREAPI_INDEX_FILE    = $(COREAPI_DOCSDIR)/index.html
 314 COREAPI_OPTIONS_FILE  = $(DOCSTMPDIR)/coredocs.options
 315 COREAPI_PACKAGES_FILE = $(DOCSTMPDIR)/coredocs.packages
 316 
 317 coredocs: $(COREAPI_INDEX_FILE)
 318 
 319 # Set relative location to core api document root
 320 $(COREAPI_INDEX_FILE): GET2DOCSDIR=..
 321 
 322 # Run javadoc if the index file is out of date or missing
 323 $(COREAPI_INDEX_FILE): $(COREAPI_OPTIONS_FILE) $(COREAPI_PACKAGES_FILE)
 324         $(prep-javadoc)
 325         $(call JavadocSummary,$(COREAPI_OPTIONS_FILE),$(COREAPI_PACKAGES_FILE))
 326         $(JAVADOC_CMD) $(JAVADOC_VM_MEMORY_FLAGS) -d $(@D) \
 327           @$(COREAPI_OPTIONS_FILE) @$(COREAPI_PACKAGES_FILE)
 328 
 329 # Create file with javadoc options in it
 330 $(COREAPI_OPTIONS_FILE): $(COREAPI_OVERVIEW)
 331         $(prep-target)
 332         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS))                     ; \
 333           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))      ; \
 334           $(call OptionPair,-encoding,ISO-8859-1)                       ; \
 335           $(call OptionPair,-tag,beaninfo:X)                            ; \
 336           $(call OptionPair,-tag,revised:X)                             ; \
 337           $(call OptionPair,-tag,since.unbundled:X)                     ; \
 338           $(call OptionPair,-tag,spec:X)                                ; \
 339           $(call OptionPair,-tag,specdefault:X)                         ; \
 340           $(call OptionPair,-tag,Note:X)                                ; \
 341           $(call OptionPair,-tag,ToDo:X)                                ; \
 342           $(call OptionPair,-tag,$(TAG_JLS))                            ; \
 343           $(call OptionOnly,-splitIndex)                                ; \
 344           $(call OptionPair,-overview,$(COREAPI_OVERVIEW))              ; \
 345           $(call OptionPair,-doctitle,$(COREAPI_DOCTITLE))              ; \
 346           $(call OptionPair,-windowtitle,$(COREAPI_WINDOWTITLE) $(DRAFT_WINTITLE)) ;\
 347           $(call OptionPair,-header,$(COREAPI_HEADER)$(DRAFT_HEADER))   ; \
 348           $(call OptionPair,-bottom,$(COREAPI_BOTTOM)$(DRAFT_BOTTOM))   ; \
 349         ) >> $@
 350 ifdef COREAPI_TOP_EARLYACCESS
 351         @$(call OptionPair,-top,$(COREAPI_TOP_EARLYACCESS)) >> $@
 352 endif
 353 
 354 # Create a file with the package names in it
 355 $(COREAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(CORE_PKGS))
 356         $(prep-target)
 357         $(call PackageFilter,$(CORE_PKGS))
 358 
 359 #############################################################
 360 #
 361 # docletapidocs
 362 #
 363 
 364 # Part of langtools
 365 ifdef LANGTOOLS_DIST
 366   ALL_OTHER_TARGETS += docletapidocs
 367 endif
 368 
 369 DOCLETAPI_DOCDIR       := $(JDK_API_DOCSDIR)/javadoc/doclet
 370 DOCLETAPI2COREAPI      := ../../$(JDKJRE2COREAPI)
 371 DOCLETAPI_DOCTITLE     := Doclet API
 372 DOCLETAPI_WINDOWTITLE  := Doclet API
 373 DOCLETAPI_HEADER       := <strong>Doclet API</strong>
 374 DOCLETAPI_BOTTOM       := $(call CommonTrademarkBottom,$(DOCLETAPI_FIRST_COPYRIGHT_YEAR))
 375 DOCLETAPI_GROUPNAME    := Packages
 376 DOCLETAPI_REGEXP       := com.sun.javadoc
 377 # DOCLETAPI_PKGS is located in NON_CORE_PKGS.gmk
 378 
 379 # The index.html, options, and packages files
 380 DOCLETAPI_INDEX_FILE    = $(DOCLETAPI_DOCDIR)/index.html
 381 DOCLETAPI_OPTIONS_FILE  = $(DOCSTMPDIR)/docletapi.options
 382 DOCLETAPI_PACKAGES_FILE = $(DOCSTMPDIR)/docletapi.packages
 383 
 384 docletapidocs: $(DOCLETAPI_INDEX_FILE)
 385 
 386 # Set relative location to core api document root
 387 $(DOCLETAPI_INDEX_FILE): GET2DOCSDIR=$(DOCLETAPI2COREAPI)/..
 388 
 389 # Run javadoc if the index file is out of date or missing
 390 $(DOCLETAPI_INDEX_FILE): $(DOCLETAPI_OPTIONS_FILE) $(DOCLETAPI_PACKAGES_FILE)
 391         $(prep-javadoc)
 392         $(call JavadocSummary,$(DOCLETAPI_OPTIONS_FILE),$(DOCLETAPI_PACKAGES_FILE))
 393         $(JAVADOC_CMD) $(JAVADOC_VM_MEMORY_FLAGS) -d $(@D) \
 394           @$(DOCLETAPI_OPTIONS_FILE) @$(DOCLETAPI_PACKAGES_FILE)
 395 
 396 # Create file with javadoc options in it
 397 $(DOCLETAPI_OPTIONS_FILE):
 398         $(prep-target)
 399         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS))                     ; \
 400           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))      ; \
 401           $(call OptionPair,-encoding,ascii)                            ; \
 402           $(call OptionOnly,-breakiterator)                             ; \
 403           $(call OptionPair,-doctitle,$(DOCLETAPI_DOCTITLE))            ; \
 404           $(call OptionPair,-windowtitle,$(DOCLETAPI_WINDOWTITLE) $(DRAFT_WINTITLE));\
 405           $(call OptionPair,-header,$(DOCLETAPI_HEADER)$(DRAFT_HEADER)) ; \
 406           $(call OptionPair,-bottom,$(DOCLETAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
 407           $(call OptionTrip,-group,$(DOCLETAPI_GROUPNAME),$(DOCLETAPI_REGEXP)); \
 408           $(call OptionTrip,-linkoffline,$(DOCLETAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
 409         ) >> $@
 410 
 411 # Create a file with the package names in it
 412 $(DOCLETAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(DOCLETAPI_PKGS))
 413         $(prep-target)
 414         $(call PackageFilter,$(DOCLETAPI_PKGS))
 415 
 416 #############################################################
 417 #
 418 # tagletapidocs
 419 #
 420 
 421 # Part of langtools
 422 ifdef LANGTOOLS_DIST
 423   ALL_OTHER_TARGETS += tagletapidocs
 424 endif
 425 
 426 TAGLETAPI_DOCDIR   := $(JDK_API_DOCSDIR)/javadoc/taglet
 427 TAGLETAPI2COREAPI  := ../../$(JDKJRE2COREAPI)
 428 TAGLETAPI_BOTTOM   := $(call CommonTrademarkBottom,$(TAGLETAPI_FIRST_COPYRIGHT_YEAR))
 429 # TAGLETAPI_FILE is located in NON_CORE_PKGS.gmk
 430 
 431 # Temporary directory (special generation rules)
 432 TAGLETAPI_TEMPDIR       = $(DOCSTMPDIR)/taglets_temp
 433 
 434 # The index.html, options, and packages files
 435 TAGLETAPI_INDEX_FILE    = $(TAGLETAPI_DOCDIR)/index.html
 436 TAGLETAPI_OPTIONS_FILE  = $(DOCSTMPDIR)/tagletapi.options
 437 TAGLETAPI_PACKAGES_FILE = $(DOCSTMPDIR)/tagletapi.packages
 438 
 439 tagletapidocs: $(TAGLETAPI_INDEX_FILE)
 440 
 441 # Set relative location to core api document root
 442 $(TAGLETAPI_INDEX_FILE): GET2DOCSDIR=$(TAGLETAPI2COREAPI)/..
 443 
 444 # Run javadoc if the index file is out of date or missing
 445 $(TAGLETAPI_INDEX_FILE): $(TAGLETAPI_OPTIONS_FILE) $(TAGLETAPI_PACKAGES_FILE)
 446         $(prep-javadoc)
 447         $(RM) -r $(TAGLETAPI_TEMPDIR)
 448         $(MKDIR) -p $(TAGLETAPI_TEMPDIR)
 449         $(call JavadocSummary,$(TAGLETAPI_OPTIONS_FILE),$(TAGLETAPI_PACKAGES_FILE))
 450         $(JAVADOC_CMD) $(JAVADOC_VM_MEMORY_FLAGS) -d $(TAGLETAPI_TEMPDIR) \
 451           @$(TAGLETAPI_OPTIONS_FILE) @$(TAGLETAPI_PACKAGES_FILE)
 452         cp -r $(TAGLETAPI_TEMPDIR)/com $(@D)
 453         cp $(TAGLETAPI_TEMPDIR)/stylesheet.css $(@D)
 454         $(RM) -r $(TAGLETAPI_TEMPDIR)
 455 
 456 # Create file with javadoc options in it
 457 $(TAGLETAPI_OPTIONS_FILE):
 458         $(prep-target)
 459         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS))                     ; \
 460           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))      ; \
 461           $(call OptionPair,-encoding,ascii)                            ; \
 462           $(call OptionOnly,-nonavbar)                                  ; \
 463           $(call OptionOnly,-noindex)                                   ; \
 464           $(call OptionPair,-bottom,$(TAGLETAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
 465           $(call OptionTrip,-linkoffline,$(TAGLETAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
 466         ) >> $@
 467 
 468 # Create a file with the package names in it
 469 $(TAGLETAPI_PACKAGES_FILE): $(IMPORTSRCDIR)/$(TAGLETAPI_FILE)
 470         $(prep-target)
 471         @($(ECHO) "$(IMPORTSRCDIR)/$(TAGLETAPI_FILE)" ) > $@
 472 
 473 #############################################################
 474 #
 475 # domapidocs
 476 #
 477 
 478 ALL_OTHER_TARGETS += domapidocs
 479 
 480 DOMAPI_DOCDIR       := $(JRE_API_DOCSDIR)/plugin/dom
 481 DOMAPI2COREAPI      := ../../$(JDKJRE2COREAPI)
 482 DOMAPI_DOCTITLE     := Common DOM API
 483 DOMAPI_WINDOWTITLE  := Common DOM API
 484 DOMAPI_HEADER       := <strong>Common DOM API</strong>
 485 DOMAPI_BOTTOM       := $(call CommonTrademarkBottom,$(DOMAPI_FIRST_COPYRIGHT_YEAR))
 486 DOMAPI_GROUPNAME    := Packages
 487 DOMAPI_REGEXP       := com.sun.java.browser.dom:org.w3c.dom*
 488 # DOMAPI_PKGS is located in NON_CORE_PKGS.gmk
 489 
 490 # The index.html, options, and packages files
 491 DOMAPI_INDEX_FILE    = $(DOMAPI_DOCDIR)/index.html
 492 DOMAPI_OPTIONS_FILE  = $(DOCSTMPDIR)/domapi.options
 493 DOMAPI_PACKAGES_FILE = $(DOCSTMPDIR)/domapi.packages
 494 
 495 domapidocs: $(DOMAPI_INDEX_FILE)
 496 
 497 # Set relative location to core api document root
 498 $(DOMAPI_INDEX_FILE): GET2DOCSDIR=$(DOMAPI2COREAPI)/..
 499 
 500 # Run javadoc if the index file is out of date or missing
 501 $(DOMAPI_INDEX_FILE): $(DOMAPI_OPTIONS_FILE) $(DOMAPI_PACKAGES_FILE)
 502         $(prep-javadoc)
 503         $(call JavadocSummary,$(DOMAPI_OPTIONS_FILE),$(DOMAPI_PACKAGES_FILE))
 504         $(JAVADOC_CMD) $(JAVADOC_VM_MEMORY_FLAGS) -d $(@D) \
 505           @$(DOMAPI_OPTIONS_FILE) @$(DOMAPI_PACKAGES_FILE)
 506 
 507 # Create file with javadoc options in it
 508 $(DOMAPI_OPTIONS_FILE):
 509         $(prep-target)
 510         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS))                     ; \
 511           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))      ; \
 512           $(call OptionPair,-encoding,ascii)                            ; \
 513           $(call OptionOnly,-splitIndex)                                ; \
 514           $(call OptionPair,-doctitle,$(DOMAPI_DOCTITLE))               ; \
 515           $(call OptionPair,-windowtitle,$(DOMAPI_WINDOWTITLE) $(DRAFT_WINTITLE));\
 516           $(call OptionPair,-header,$(DOMAPI_HEADER)$(DRAFT_HEADER))    ; \
 517           $(call OptionPair,-bottom,$(DOMAPI_BOTTOM)$(DRAFT_BOTTOM))    ; \
 518           $(call OptionTrip,-group,$(DOMAPI_GROUPNAME),$(DOMAPI_REGEXP)); \
 519           $(call OptionTrip,-linkoffline,$(DOMAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
 520         ) >> $@
 521 
 522 # Create a file with the package names in it
 523 $(DOMAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(DOMAPI_PKGS))
 524         $(prep-target)
 525         $(call PackageFilter,$(DOMAPI_PKGS))
 526 
 527 #############################################################
 528 #
 529 # jpdadocs
 530 #
 531 
 532 ALL_OTHER_TARGETS += jpdadocs
 533 
 534 jpdadocs: jdidocs jdwpdocs jvmtidocs
 535 
 536 #############################################################
 537 #
 538 # jdidocs
 539 #
 540 
 541 ALL_OTHER_TARGETS += jdidocs
 542 
 543 JDI_DOCDIR      := $(JDK_API_DOCSDIR)/jpda/jdi
 544 JDI2COREAPI     := ../../$(JDKJRE2COREAPI)
 545 JDI_DOCTITLE    := Java$(TRADEMARK) Debug Interface
 546 JDI_WINDOWTITLE := Java Debug Interface
 547 JDI_HEADER      := <strong>Java Debug Interface</strong>
 548 JDI_BOTTOM      := $(call CommonBottom,$(JDI_FIRST_COPYRIGHT_YEAR))
 549 JDI_OVERVIEW    := $(SHARE_SRC)/classes/jdi-overview.html
 550 # JDI_PKGS is located in NON_CORE_PKGS.gmk
 551 
 552 # The index.html, options, and packages files
 553 JDI_INDEX_FILE    = $(JDI_DOCDIR)/index.html
 554 JDI_OPTIONS_FILE  = $(DOCSTMPDIR)/jdi.options
 555 JDI_PACKAGES_FILE = $(DOCSTMPDIR)/jdi.packages
 556 
 557 jdidocs: $(JDI_INDEX_FILE)
 558 
 559 # Set relative location to core api document root
 560 $(JDI_INDEX_FILE): GET2DOCSDIR=$(JDI2COREAPI)/..
 561 
 562 # Run javadoc if the index file is out of date or missing
 563 $(JDI_INDEX_FILE): $(JDI_OPTIONS_FILE) $(JDI_PACKAGES_FILE)
 564         $(prep-javadoc)
 565         $(call JavadocSummary,$(JDI_OPTIONS_FILE),$(JDI_PACKAGES_FILE))
 566         $(JAVADOC_CMD) $(JAVADOC_VM_MEMORY_FLAGS) -d $(@D) \
 567           @$(JDI_OPTIONS_FILE) @$(JDI_PACKAGES_FILE)
 568 
 569 # Create file with javadoc options in it
 570 $(JDI_OPTIONS_FILE): $(JDI_OVERVIEW)
 571         $(prep-target)
 572         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS))                     ; \
 573           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))      ; \
 574           $(call OptionPair,-encoding,ascii)                            ; \
 575           $(call OptionPair,-overview,$(JDI_OVERVIEW))                  ; \
 576           $(call OptionPair,-doctitle,$(JDI_DOCTITLE))                  ; \
 577           $(call OptionPair,-windowtitle,$(JDI_WINDOWTITLE) $(DRAFT_WINTITLE)); \
 578           $(call OptionPair,-header,$(JDI_HEADER)$(DRAFT_HEADER))       ; \
 579           $(call OptionPair,-bottom,$(JDI_BOTTOM)$(DRAFT_BOTTOM))       ; \
 580           $(call OptionTrip,-linkoffline,$(JDI2COREAPI),$(COREAPI_DOCSDIR)/); \
 581         ) >> $@
 582 
 583 # Create a file with the package names in it
 584 $(JDI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JDI_PKGS))
 585         $(prep-target)
 586         $(call PackageFilter,$(JDI_PKGS))
 587 
 588 #############################################################
 589 #
 590 # jdwpdocs
 591 #
 592 
 593 ALL_OTHER_TARGETS += jdwpdocs
 594 
 595 JDWP_DOCDIR     = $(PLATFORM_DOCSDIR)/jpda/jdwp
 596 JDWP_SPEC       = $(BUILDDIR)/jpda/jdwp/jdwp.spec
 597 JDWPGEN_JARFILE = $(BUILDTOOLJARDIR)/jdwpgen.jar
 598 
 599 jdwpdocs: $(JDWP_DOCDIR)/jdwp-protocol.html
 600 $(JDWP_DOCDIR)/jdwp-protocol.html: $(JDWPGEN_JARFILE) $(JDWP_SPEC)
 601         $(prep-javadoc)
 602         $(BOOT_JAVA_CMD) -jar $(JDWPGEN_JARFILE) $(JDWP_SPEC) -doc $@
 603 
 604 #############################################################
 605 #
 606 # jvmtidocs
 607 #
 608 
 609 ALL_OTHER_TARGETS += jvmtidocs
 610 
 611 JVMTI_DOCDIR      = $(PLATFORM_DOCSDIR)/jvmti
 612 JVMTI_HTML        = $(HOTSPOT_DOCS_IMPORT_PATH)/platform/jvmti/jvmti.html
 613 
 614 jvmtidocs:  $(JVMTI_DOCDIR)/jvmti.html
 615 $(JVMTI_DOCDIR)/jvmti.html:
 616         @$(prep-javadoc)
 617         @if [ -f $(JVMTI_HTML) ] ; then                                    \
 618           $(ECHO) "$(CP) $(JVMTI_HTML) $@";                                \
 619           $(CP) $(JVMTI_HTML) $@;                                          \
 620         else                                                               \
 621           $(ECHO) "WARNING: Generated file does not exist: $(JVMTI_HTML)"; \
 622         fi
 623 
 624 #############################################################
 625 #
 626 # jaasdocs
 627 #
 628 
 629 ALL_OTHER_TARGETS += jaasdocs
 630 
 631 JAAS_DOCDIR      := $(JRE_API_DOCSDIR)/security/jaas/spec
 632 JAAS2COREAPI     := ../../../$(JDKJRE2COREAPI)
 633 JAAS_DOCTITLE    := Java$(TRADEMARK) Authentication and Authorization Service
 634 JAAS_WINDOWTITLE := Java Authentication and Authorization Service
 635 JAAS_HEADER      := <strong>Java Authentication and Authorization Service</strong>
 636 JAAS_BOTTOM      := $(call CommonBottom,$(JAAS_FIRST_COPYRIGHT_YEAR))
 637 # JAAS_PKGS is located in NON_CORE_PKGS.gmk
 638 JAAS_OVERVIEW    := $(SHARE_SRC)/classes/com/sun/security/auth/jaas-overview.html
 639 
 640 # The index.html, options, and packages files
 641 JAAS_INDEX_FILE    = $(JAAS_DOCDIR)/index.html
 642 JAAS_OPTIONS_FILE  = $(DOCSTMPDIR)/jaas.options
 643 JAAS_PACKAGES_FILE = $(DOCSTMPDIR)/jaas.packages
 644 
 645 jaasdocs: $(JAAS_INDEX_FILE)
 646 
 647 # Set relative location to core api document root
 648 $(JAAS_INDEX_FILE): GET2DOCSDIR=$(JAAS2COREAPI)/..
 649 
 650 # Run javadoc if the index file is out of date or missing
 651 $(JAAS_INDEX_FILE): $(JAAS_OPTIONS_FILE) $(JAAS_PACKAGES_FILE)
 652         $(prep-javadoc)
 653         $(call JavadocSummary,$(JAAS_OPTIONS_FILE),$(JAAS_PACKAGES_FILE))
 654         $(JAVADOC_CMD) $(JAVADOC_VM_MEMORY_FLAGS) -d $(@D) \
 655           @$(JAAS_OPTIONS_FILE) @$(JAAS_PACKAGES_FILE)
 656 
 657 # Create file with javadoc options in it
 658 $(JAAS_OPTIONS_FILE): $(JAAS_OVERVIEW)
 659         $(prep-target)
 660         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS))                     ; \
 661           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))      ; \
 662           $(call OptionPair,-encoding,ascii)                            ; \
 663           $(call OptionPair,-overview,$(JAAS_OVERVIEW))                 ; \
 664           $(call OptionPair,-doctitle,$(JAAS_DOCTITLE))                 ; \
 665           $(call OptionPair,-windowtitle,$(JAAS_WINDOWTITLE) $(DRAFT_WINTITLE)); \
 666           $(call OptionPair,-header,$(JAAS_HEADER)$(DRAFT_HEADER))      ; \
 667           $(call OptionPair,-bottom,$(JAAS_BOTTOM)$(DRAFT_BOTTOM))      ; \
 668           $(call OptionTrip,-linkoffline,$(JAAS2COREAPI),$(COREAPI_DOCSDIR)/); \
 669         ) >> $@
 670 
 671 # Create a file with the package names in it
 672 $(JAAS_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JAAS_PKGS))
 673         $(prep-target)
 674         $(call PackageFilter,$(JAAS_PKGS))
 675 
 676 #############################################################
 677 #
 678 # jgssdocs
 679 #
 680 
 681 ALL_OTHER_TARGETS += jgssdocs
 682 
 683 JGSS_DOCDIR      := $(JRE_API_DOCSDIR)/security/jgss/spec
 684 JGSS2COREAPI     := ../../../$(JDKJRE2COREAPI)
 685 JGSS_DOCTITLE    := Java$(TRADEMARK) GSS-API Utilities
 686 JGSS_WINDOWTITLE := Java GSS-API Utilities
 687 JGSS_HEADER      := <strong>Java GSS-API Utilities</strong>
 688 JGSS_BOTTOM      := $(call CommonBottom,$(JGSS_FIRST_COPYRIGHT_YEAR))
 689 JGSS_OVERVIEW    := $(SHARE_SRC)/classes/com/sun/security/jgss/jgss-overview.html
 690 # JGSS_PKGS is located in NON_CORE_PKGS.gmk
 691 
 692 # The index.html, options, and packages files
 693 JGSS_INDEX_FILE    = $(JGSS_DOCDIR)/index.html
 694 JGSS_OPTIONS_FILE  = $(DOCSTMPDIR)/jgss.options
 695 JGSS_PACKAGES_FILE = $(DOCSTMPDIR)/jgss.packages
 696 
 697 jgssdocs: $(JGSS_INDEX_FILE)
 698 
 699 # Set relative location to core api document root
 700 $(JGSS_INDEX_FILE): GET2DOCSDIR=$(JGSS2COREAPI)/..
 701 
 702 # Run javadoc if the index file is out of date or missing
 703 $(JGSS_INDEX_FILE): $(JGSS_OPTIONS_FILE) $(JGSS_PACKAGES_FILE)
 704         $(prep-javadoc)
 705         $(call JavadocSummary,$(JGSS_OPTIONS_FILE),$(JGSS_PACKAGES_FILE))
 706         $(JAVADOC_CMD) $(JAVADOC_VM_MEMORY_FLAGS) -d $(@D) \
 707           @$(JGSS_OPTIONS_FILE) @$(JGSS_PACKAGES_FILE)
 708 
 709 # Create file with javadoc options in it
 710 $(JGSS_OPTIONS_FILE): $(JGSS_OVERVIEW)
 711         $(prep-target)
 712         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS))                     ; \
 713           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))      ; \
 714           $(call OptionPair,-encoding,ascii)                            ; \
 715           $(call OptionOnly,-nodeprecatedlist)                          ; \
 716           $(call OptionPair,-overview,$(JGSS_OVERVIEW))                 ; \
 717           $(call OptionPair,-doctitle,$(JGSS_DOCTITLE))                 ; \
 718           $(call OptionPair,-windowtitle,$(JGSS_WINDOWTITLE) $(DRAFT_WINTITLE)); \
 719           $(call OptionPair,-header,$(JGSS_HEADER)$(DRAFT_HEADER))      ; \
 720           $(call OptionPair,-bottom,$(JGSS_BOTTOM)$(DRAFT_BOTTOM))      ; \
 721           $(call OptionTrip,-linkoffline,$(JGSS2COREAPI),$(COREAPI_DOCSDIR)/); \
 722         ) >> $@
 723 
 724 # Create a file with the package names in it
 725 $(JGSS_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JGSS_PKGS))
 726         $(prep-target)
 727         $(call PackageFilter,$(JGSS_PKGS))
 728 
 729 #############################################################
 730 #
 731 # smartcardiodocs
 732 #
 733 
 734 ALL_OTHER_TARGETS += smartcardiodocs
 735 
 736 SMARTCARDIO_DOCDIR      := $(JRE_API_DOCSDIR)/security/smartcardio/spec
 737 SMARTCARDIO2COREAPI     := ../../../$(JDKJRE2COREAPI)
 738 SMARTCARDIO_DOCTITLE    := Java$(TRADEMARK) Smart Card I/O
 739 SMARTCARDIO_WINDOWTITLE := Java Smart Card I/O
 740 SMARTCARDIO_HEADER      := <strong>Java Smart Card I/O</strong>
 741 SMARTCARDIO_BOTTOM      := $(call CommonBottom,$(SMARTCARDIO_FIRST_COPYRIGHT_YEAR))
 742 # SMARTCARDIO_PKGS is located in NON_CORE_PKGS.gmk
 743 
 744 # The index.html, options, and packages files
 745 SMARTCARDIO_INDEX_FILE    = $(SMARTCARDIO_DOCDIR)/index.html
 746 SMARTCARDIO_OPTIONS_FILE  = $(DOCSTMPDIR)/smartcardio.options
 747 SMARTCARDIO_PACKAGES_FILE = $(DOCSTMPDIR)/smartcardio.packages
 748 
 749 smartcardiodocs: $(SMARTCARDIO_INDEX_FILE)
 750 
 751 # Set relative location to core api document root
 752 $(SMARTCARDIO_INDEX_FILE): GET2DOCSDIR=$(SMARTCARDIO2COREAPI)/..
 753 
 754 # Run javadoc if the index file is out of date or missing
 755 $(SMARTCARDIO_INDEX_FILE): $(SMARTCARDIO_OPTIONS_FILE) $(SMARTCARDIO_PACKAGES_FILE)
 756         $(prep-javadoc)
 757         $(call JavadocSummary,$(SMARTCARDIO_OPTIONS_FILE),$(SMARTCARDIO_PACKAGES_FILE))
 758         $(JAVADOC_CMD) $(JAVADOC_VM_MEMORY_FLAGS) -d $(@D) \
 759           @$(SMARTCARDIO_OPTIONS_FILE) @$(SMARTCARDIO_PACKAGES_FILE)
 760 
 761 # Create file with javadoc options in it
 762 $(SMARTCARDIO_OPTIONS_FILE):
 763         $(prep-target)
 764         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS))                     ; \
 765           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))      ; \
 766           $(call OptionPair,-encoding,ascii)                            ; \
 767           $(call OptionOnly,-nodeprecatedlist)                          ; \
 768           $(call OptionPair,-doctitle,$(SMARTCARDIO_DOCTITLE))          ; \
 769           $(call OptionPair,-windowtitle,$(SMARTCARDIO_WINDOWTITLE) $(DRAFT_WINTITLE));\
 770           $(call OptionPair,-header,$(SMARTCARDIO_HEADER)$(DRAFT_HEADER)); \
 771           $(call OptionPair,-bottom,$(SMARTCARDIO_BOTTOM)$(DRAFT_BOTTOM)); \
 772           $(call OptionTrip,-linkoffline,$(SMARTCARDIO2COREAPI),$(COREAPI_DOCSDIR)/); \
 773         ) >> $@
 774 
 775 # Create a file with the package names in it
 776 $(SMARTCARDIO_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(SMARTCARDIO_PKGS))
 777         $(prep-target)
 778         $(call PackageFilter,$(SMARTCARDIO_PKGS))
 779 
 780 #############################################################
 781 #
 782 # httpserverdocs
 783 #
 784 
 785 ALL_OTHER_TARGETS += httpserverdocs
 786 
 787 HTTPSERVER_DOCDIR      := $(JRE_API_DOCSDIR)/net/httpserver/spec
 788 HTTPSERVER2COREAPI     := ../../../$(JDKJRE2COREAPI)
 789 HTTPSERVER_DOCTITLE    := Java$(TRADEMARK) HTTP Server
 790 HTTPSERVER_WINDOWTITLE := Java HTTP Server
 791 HTTPSERVER_HEADER      := <strong>Java HTTP Server</strong>
 792 HTTPSERVER_BOTTOM      := $(call CommonBottom,$(HTTPSERVER_FIRST_COPYRIGHT_YEAR))
 793 # HTTPSERVER_PKGS is located in NON_CORE_PKGS.gmk
 794 
 795 HTTPSERVER_INDEX_HTML    = $(HTTPSERVER_DOCDIR)/index.html
 796 HTTPSERVER_OPTIONS_FILE  = $(DOCSTMPDIR)/httpserver.options
 797 HTTPSERVER_PACKAGES_FILE = $(DOCSTMPDIR)/httpserver.packages
 798 
 799 httpserverdocs: $(HTTPSERVER_INDEX_HTML)
 800 
 801 # Set relative location to core api document root
 802 $(HTTPSERVER_INDEX_HTML): GET2DOCSDIR=$(HTTPSERVER2COREAPI)/..
 803 
 804 # Run javadoc if the index file is out of date or missing
 805 $(HTTPSERVER_INDEX_HTML): $(HTTPSERVER_OPTIONS_FILE) $(HTTPSERVER_PACKAGES_FILE)
 806         $(prep-javadoc)
 807         $(call JavadocSummary,$(HTTPSERVER_OPTIONS_FILE),$(HTTPSERVER_PACKAGES_FILE))
 808         $(JAVADOC_CMD) $(JAVADOC_VM_MEMORY_FLAGS) -d $(@D) \
 809           @$(HTTPSERVER_OPTIONS_FILE) @$(HTTPSERVER_PACKAGES_FILE)
 810 
 811 # Create file with javadoc options in it
 812 $(HTTPSERVER_OPTIONS_FILE):
 813         $(prep-target)
 814         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS))                     ; \
 815           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))      ; \
 816           $(call OptionPair,-encoding,ascii)                            ; \
 817           $(call OptionOnly,-nodeprecatedlist)                          ; \
 818           $(call OptionPair,-doctitle,$(HTTPSERVER_DOCTITLE))           ; \
 819           $(call OptionPair,-windowtitle,$(HTTPSERVER_WINDOWTITLE) $(DRAFT_WINTITLE));\
 820           $(call OptionPair,-header,$(HTTPSERVER_HEADER)$(DRAFT_HEADER)); \
 821           $(call OptionPair,-bottom,$(HTTPSERVER_BOTTOM)$(DRAFT_BOTTOM)); \
 822           $(call OptionTrip,-linkoffline,$(HTTPSERVER2COREAPI),$(COREAPI_DOCSDIR)/); \
 823         ) >> $@
 824 
 825 # Create a file with the package names in it
 826 $(HTTPSERVER_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(HTTPSERVER_PKGS))
 827         $(prep-target)
 828         $(call PackageFilter,$(HTTPSERVER_PKGS))
 829 
 830 #############################################################
 831 #
 832 # mgmtdocs
 833 #
 834 
 835 ALL_OTHER_TARGETS += mgmtdocs
 836 
 837 MGMT_DOCDIR      := $(JRE_API_DOCSDIR)/management/extension
 838 MGMT2COREAPI     := ../../$(JDKJRE2COREAPI)
 839 JVM_MIB_NAME     := JVM-MANAGEMENT-MIB.mib
 840 JVM_MIB_SRC      := $(CLOSED_SRC)/share/classes/sun/management/snmp/$(JVM_MIB_NAME)
 841 MGMT_DOCTITLE    := Monitoring and Management Interface for the Java$(TRADEMARK) Platform
 842 MGMT_WINDOWTITLE := Monitoring and Management Interface for the Java Platform
 843 MGMT_HEADER      := <strong>Monitoring and Management Interface for the Java Platform</strong>
 844 MGMT_BOTTOM      := $(call CommonBottom,$(MGMT_FIRST_COPYRIGHT_YEAR))
 845 MGMT_OVERVIEW    := $(SHARE_SRC)/classes/com/sun/management/mgmt-overview.html
 846 # MGMT_PKGS is located in NON_CORE_PKGS.gmk
 847 
 848 # The index.html, options, and packages files
 849 MGMT_INDEX_FILE    = $(MGMT_DOCDIR)/index.html
 850 MGMT_OPTIONS_FILE  = $(DOCSTMPDIR)/mgmt.options
 851 MGMT_PACKAGES_FILE = $(DOCSTMPDIR)/mgmt.packages
 852 
 853 mgmtdocs: $(MGMT_INDEX_FILE)
 854 
 855 # Set relative location to core api document root
 856 $(MGMT_INDEX_FILE): GET2DOCSDIR=$(MGMT2COREAPI)/..
 857 
 858 # Run javadoc if the index file is out of date or missing
 859 $(MGMT_INDEX_FILE): $(MGMT_OPTIONS_FILE) $(MGMT_PACKAGES_FILE)
 860         $(prep-javadoc)
 861         @if [ -f $(JVM_MIB_SRC) ] ; then                                \
 862           $(ECHO) "$(CP) $(JVM_MIB_SRC) $(@D)/..";                      \
 863           $(CP) $(JVM_MIB_SRC) $(@D)/.. ;                               \
 864         else                                                            \
 865           $(ECHO) "WARNING: File $(JVM_MIB_NAME) not available.";       \
 866         fi
 867         $(call JavadocSummary,$(MGMT_OPTIONS_FILE),$(MGMT_PACKAGES_FILE))
 868         $(JAVADOC_CMD) $(JAVADOC_VM_MEMORY_FLAGS) -d $(@D) \
 869           @$(MGMT_OPTIONS_FILE) @$(MGMT_PACKAGES_FILE)
 870 
 871 # Create file with javadoc options in it
 872 $(MGMT_OPTIONS_FILE): $(MGMT_OVERVIEW)
 873         $(prep-target)
 874         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS))                     ; \
 875           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))      ; \
 876           $(call OptionPair,-encoding,ascii)                            ; \
 877           $(call OptionOnly,-nodeprecatedlist)                          ; \
 878           $(call OptionPair,-overview,$(MGMT_OVERVIEW))                 ; \
 879           $(call OptionPair,-doctitle,$(MGMT_DOCTITLE))                 ; \
 880           $(call OptionPair,-windowtitle,$(MGMT_WINDOWTITLE) $(DRAFT_WINTITLE)); \
 881           $(call OptionPair,-header,$(MGMT_HEADER)$(DRAFT_HEADER))      ; \
 882           $(call OptionPair,-bottom,$(MGMT_BOTTOM)$(DRAFT_BOTTOM))      ; \
 883           $(call OptionTrip,-linkoffline,$(MGMT2COREAPI),$(COREAPI_DOCSDIR)/); \
 884         ) >> $@
 885 
 886 # Create a file with the package names in it
 887 $(MGMT_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(MGMT_PKGS))
 888         $(prep-target)
 889         $(call PackageFilter,$(MGMT_PKGS))
 890 
 891 #############################################################
 892 #
 893 # attachdocs
 894 #
 895 
 896 ALL_OTHER_TARGETS += attachdocs
 897 
 898 ATTACH_DOCDIR      := $(JDK_API_DOCSDIR)/attach/spec
 899 ATTACH2COREAPI     := ../../$(JDKJRE2COREAPI)
 900 ATTACH_DOCTITLE    := Attach API
 901 ATTACH_WINDOWTITLE := Attach API
 902 ATTACH_HEADER      := <strong>Attach API</strong>
 903 ATTACH_BOTTOM      := $(call CommonBottom,$(ATTACH_FIRST_COPYRIGHT_YEAR))
 904 # ATTACH_PKGS is located in NON_CORE_PKGS.gmk
 905 
 906 ATTACH_INDEX_HTML    = $(ATTACH_DOCDIR)/index.html
 907 ATTACH_OPTIONS_FILE  = $(DOCSTMPDIR)/attach.options
 908 ATTACH_PACKAGES_FILE = $(DOCSTMPDIR)/attach.packages
 909 
 910 attachdocs: $(ATTACH_INDEX_HTML)
 911 
 912 # Set relative location to core api document root
 913 $(ATTACH_INDEX_HTML): GET2DOCSDIR=$(ATTACH2COREAPI)/..
 914 
 915 # Run javadoc if the index file is out of date or missing
 916 $(ATTACH_INDEX_HTML): $(ATTACH_OPTIONS_FILE) $(ATTACH_PACKAGES_FILE)
 917         $(prep-javadoc)
 918         $(call JavadocSummary,$(ATTACH_OPTIONS_FILE),$(ATTACH_PACKAGES_FILE))
 919         $(JAVADOC_CMD) $(JAVADOC_VM_MEMORY_FLAGS) -d $(@D) \
 920           @$(ATTACH_OPTIONS_FILE) @$(ATTACH_PACKAGES_FILE)
 921 
 922 # Create file with javadoc options in it
 923 $(ATTACH_OPTIONS_FILE):
 924         $(prep-target)
 925         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS))                     ; \
 926           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))      ; \
 927           $(call OptionPair,-encoding,ascii)                            ; \
 928           $(call OptionOnly,-nodeprecatedlist)                          ; \
 929           $(call OptionPair,-doctitle,$(ATTACH_DOCTITLE))               ; \
 930           $(call OptionPair,-windowtitle,$(ATTACH_WINDOWTITLE) $(DRAFT_WINTITLE));\
 931           $(call OptionPair,-header,$(ATTACH_HEADER)$(DRAFT_HEADER))    ; \
 932           $(call OptionPair,-bottom,$(ATTACH_BOTTOM)$(DRAFT_BOTTOM))    ; \
 933           $(call OptionTrip,-linkoffline,$(ATTACH2COREAPI),$(COREAPI_DOCSDIR)/); \
 934         ) >> $@
 935 
 936 # Create a file with the package names in it
 937 $(ATTACH_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(ATTACH_PKGS))
 938         $(prep-target)
 939         $(call PackageFilter,$(ATTACH_PKGS))
 940 
 941 #############################################################
 942 #
 943 # jconsoledocs
 944 #
 945 
 946 ALL_OTHER_TARGETS += jconsoledocs
 947 
 948 JCONSOLE_DOCDIR      := $(JDK_API_DOCSDIR)/jconsole/spec
 949 JCONSOLE2COREAPI     := ../../$(JDKJRE2COREAPI)
 950 JCONSOLE_DOCTITLE    := JConsole API
 951 JCONSOLE_WINDOWTITLE := JConsole API
 952 JCONSOLE_HEADER      := <strong>JConsole API</strong>
 953 JCONSOLE_BOTTOM      := $(call CommonBottom,$(JCONSOLE_FIRST_COPYRIGHT_YEAR))
 954 # JCONSOLE_PKGS is located in NON_CORE_PKGS.gmk
 955 
 956 JCONSOLE_INDEX_HTML    = $(JCONSOLE_DOCDIR)/index.html
 957 JCONSOLE_OPTIONS_FILE  = $(DOCSTMPDIR)/jconsole.options
 958 JCONSOLE_PACKAGES_FILE = $(DOCSTMPDIR)/jconsole.packages
 959 
 960 jconsoledocs: $(JCONSOLE_INDEX_HTML)
 961 
 962 # Set relative location to core api document root
 963 $(JCONSOLE_INDEX_HTML): GET2DOCSDIR=$(JCONSOLE2COREAPI)/..
 964 
 965 # Run javadoc if the index file is out of date or missing
 966 $(JCONSOLE_INDEX_HTML): $(JCONSOLE_OPTIONS_FILE) $(JCONSOLE_PACKAGES_FILE)
 967         $(prep-javadoc)
 968         $(call JavadocSummary,$(JCONSOLE_OPTIONS_FILE),$(JCONSOLE_PACKAGES_FILE))
 969         $(JAVADOC_CMD) $(JAVADOC_VM_MEMORY_FLAGS) -d $(@D) \
 970           @$(JCONSOLE_OPTIONS_FILE) @$(JCONSOLE_PACKAGES_FILE)
 971 
 972 # Create file with javadoc options in it
 973 $(JCONSOLE_OPTIONS_FILE):
 974         $(prep-target)
 975         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS))                     ; \
 976           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))      ; \
 977           $(call OptionPair,-encoding,ascii)                            ; \
 978           $(call OptionOnly,-nodeprecatedlist)                          ; \
 979           $(call OptionPair,-doctitle,$(JCONSOLE_DOCTITLE))             ; \
 980           $(call OptionPair,-windowtitle,$(JCONSOLE_WINDOWTITLE) $(DRAFT_WINTITLE));\
 981           $(call OptionPair,-header,$(JCONSOLE_HEADER)$(DRAFT_HEADER))  ; \
 982           $(call OptionPair,-bottom,$(JCONSOLE_BOTTOM)$(DRAFT_BOTTOM))  ; \
 983           $(call OptionTrip,-linkoffline,$(JCONSOLE2COREAPI),$(COREAPI_DOCSDIR)/); \
 984         ) >> $@
 985 
 986 # Create a file with the package names in it
 987 $(JCONSOLE_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JCONSOLE_PKGS))
 988         $(prep-target)
 989         $(call PackageFilter,$(JCONSOLE_PKGS))
 990 
 991 #############################################################
 992 #
 993 # treeapidocs
 994 #
 995 
 996 # Part of langtools
 997 ifdef LANGTOOLS_DIST
 998   ALL_OTHER_TARGETS += treeapidocs
 999 endif
1000 
1001 TREEAPI_DOCDIR       := $(JDK_API_DOCSDIR)/javac/tree
1002 TREEAPI2COREAPI      := ../../$(JDKJRE2COREAPI)
1003 TREEAPI_DOCTITLE     := Compiler Tree API
1004 TREEAPI_WINDOWTITLE  := Compiler Tree API
1005 TREEAPI_HEADER       := <strong>Compiler Tree API</strong>
1006 TREEAPI_BOTTOM       := $(call CommonBottom,$(TREEAPI_FIRST_COPYRIGHT_YEAR))
1007 TREEAPI_GROUPNAME    := Packages
1008 TREEAPI_REGEXP       := com.sun.source.*
1009 # TREEAPI_PKGS is located in NON_CORE_PKGS.gmk
1010 
1011 TREEAPI_INDEX_HTML    = $(TREEAPI_DOCDIR)/index.html
1012 TREEAPI_OPTIONS_FILE  = $(DOCSTMPDIR)/treeapi.options
1013 TREEAPI_PACKAGES_FILE = $(DOCSTMPDIR)/treeapi.packages
1014 
1015 treeapidocs: $(TREEAPI_INDEX_HTML)
1016 
1017 # Set relative location to core api document root
1018 $(TREEAPI_INDEX_HTML): GET2DOCSDIR=$(TREEAPI2COREAPI)/..
1019 
1020 # Run javadoc if the index file is out of date or missing
1021 $(TREEAPI_INDEX_HTML): $(TREEAPI_OPTIONS_FILE) $(TREEAPI_PACKAGES_FILE)
1022         $(prep-javadoc)
1023         $(call JavadocSummary,$(TREEAPI_OPTIONS_FILE),$(TREEAPI_PACKAGES_FILE))
1024         $(JAVADOC_CMD) $(JAVADOC_VM_MEMORY_FLAGS) -d $(@D) \
1025           @$(TREEAPI_OPTIONS_FILE) @$(TREEAPI_PACKAGES_FILE)
1026 
1027 # Create file with javadoc options in it
1028 $(TREEAPI_OPTIONS_FILE):
1029         $(prep-target)
1030         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS))                     ; \
1031           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))      ; \
1032           $(call OptionPair,-encoding,ascii)                            ; \
1033           $(call OptionPair,-doctitle,$(TREEAPI_DOCTITLE))              ; \
1034           $(call OptionPair,-windowtitle,$(TREEAPI_WINDOWTITLE) $(DRAFT_WINTITLE));\
1035           $(call OptionPair,-header,$(TREEAPI_HEADER)$(DRAFT_HEADER))   ; \
1036           $(call OptionPair,-tag,$(TAG_JLS))                            ; \
1037           $(call OptionPair,-bottom,$(TREEAPI_BOTTOM)$(DRAFT_BOTTOM))   ; \
1038           $(call OptionTrip,-group,$(TREEAPI_GROUPNAME),$(TREEAPI_REGEXP)); \
1039           $(call OptionTrip,-linkoffline,$(TREEAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
1040         ) >> $@
1041 
1042 # Create a file with the package names in it
1043 $(TREEAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(TREEAPI_PKGS))
1044         $(prep-target)
1045         $(call PackageFilter,$(TREEAPI_PKGS))
1046 
1047 #############################################################
1048 #
1049 # sctpdocs
1050 #
1051 
1052 ALL_OTHER_TARGETS += sctpdocs
1053 
1054 SCTPAPI_DOCDIR      := $(JRE_API_DOCSDIR)/nio/sctp/spec
1055 SCTPAPI2COREAPI     := ../../../$(JDKJRE2COREAPI)
1056 SCTPAPI_DOCTITLE    := SCTP API
1057 SCTPAPI_WINDOWTITLE := SCTP API
1058 SCTPAPI_HEADER      := <strong>SCTP API</strong>
1059 SCTPAPI_BOTTOM      := $(call CommonBottom,$(SCTPAPI_FIRST_COPYRIGHT_YEAR))
1060 # SCTPAPI_PKGS is located in NON_CORE_PKGS.gmk
1061 
1062 SCTPAPI_INDEX_HTML    = $(SCTPAPI_DOCDIR)/index.html
1063 SCTPAPI_OPTIONS_FILE  = $(DOCSTMPDIR)/sctp.options
1064 SCTPAPI_PACKAGES_FILE = $(DOCSTMPDIR)/sctp.packages
1065 
1066 sctpdocs: $(SCTPAPI_INDEX_HTML)
1067 
1068 # Set relative location to core api document root
1069 $(SCTSCTSCTP: GET2DOCSDIR=$(SCTPAPI2COREAPI)/..
1070 
1071 # Run javadoc if the index file is out of date or missing
1072 $(SCTPAPI_INDEX_HTML): $(SCTPAPI_OPTIONS_FILE) $(SCTPAPI_PACKAGES_FILE)
1073         $(prep-javadoc)
1074         $(call JavadocSummary,$(SCTPAPI_OPTIONS_FILE),$(SCTPAPI_PACKAGES_FILE))
1075         $(JAVADOC_CMD) $(JAVADOC_VM_MEMORY_FLAGS) -d $(@D) \
1076           @$(SCTPAPI_OPTIONS_FILE) @$(SCTPAPI_PACKAGES_FILE)
1077 
1078 # Create file with javadoc options in it
1079 $(SCTPAPI_OPTIONS_FILE):
1080         $(prep-target)
1081         @($(call OptionOnly,$(COMMON_JAVADOCFLAGS))                     ; \
1082           $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))      ; \
1083           $(call OptionPair,-encoding,ascii)                            ; \
1084           $(call OptionOnly,-nodeprecatedlist)                          ; \
1085           $(call OptionPair,-doctitle,$(SCTPAPI_DOCTITLE))              ; \
1086           $(call OptionPair,-windowtitle,$(SCTPAPI_WINDOWTITLE) $(DRAFT_WINTITLE));\
1087           $(call OptionPair,-header,$(SCTPAPI_HEADER)$(DRAFT_HEADER))   ; \
1088           $(call OptionPair,-bottom,$(SCTPAPI_BOTTOM)$(DRAFT_BOTTOM))   ; \
1089           $(call OptionTrip,-linkoffline,$(SCTPAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
1090         ) >> $@
1091 
1092 # Create a file with the package names in it
1093 $(SCTPAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(SCTPAPI_PKGS))
1094         $(prep-target)
1095         $(call PackageFilter,$(SCTPAPI_PKGS))
1096 
1097 #############################################################
1098 #
1099 # Get a cache of all the directories
1100 
1101 $(DIRECTORY_CACHE): $(ALL_EXISTING_SOURCE_DIRS)
1102         $(prep-target)
1103         @for cp in $(ALL_EXISTING_SOURCE_DIRS) ; do     \
1104           $(ECHO) "$(FIND) $${cp} -type f >> $@";         \
1105           $(FIND) $${cp} -type f >> $@;           \
1106         done
1107 
1108 #############################################################
1109 #release version of core packages ########
1110 # Maximize performance and ensure that build number & milestone are set.
1111 
1112 rel-coredocs: sanitycheckcoredocs
1113         $(MAKE) coredocs
1114 
1115 rel-docs: rel-coredocs $(ALL_OTHER_TARGETS)
1116 #
1117 # end of production targets
1118 
1119 otherdocs: $(ALL_OTHER_TARGETS)
1120 
1121 clean:
1122         $(RM) -r $(DOCSDIR) $(DOCSTMPDIR)
1123 
1124 #############################################################
1125 # DEBUG TARGET
1126 # List the values defined in the makefile hierarchy, to make sure everything
1127 # is set properly, and to help identify values we can use instead of making new ones.
1128 # (Most of them come from common/shared/Defs.gmk)
1129 #
1130 #  Notes:
1131 #    * BUILD_NUMBER defaults to b00 if not set on command line with BUILD_NUMBER=<value>
1132 #    * MILESTONE defaults to internal unless set to beta, rc, or fcs on command line
1133 #
1134 
1135 echovalues:
1136         @$(ECHO) ""
1137         @$(ECHO) --------------Imports---------------------------
1138         @$(ECHO) "IMPORT_PACKAGES = $(IMPORT_PACKAGES)"
1139         @$(ECHO) "IMPORT_PACKAGE_FILTER = $(IMPORT_PACKAGE_FILTER)"
1140         @$(ECHO) --------------Imports---------------------------
1141         @$(ECHO) ""
1142         @$(ECHO) --------------Shared---------------------------
1143         @$(ECHO) BUILD_NUMBER = $(BUILD_NUMBER)
1144         @$(ECHO) FULL_VERSION = $(FULL_VERSION)
1145         @$(ECHO) JDK_VERSION = $(JDK_VERSION)
1146         @$(ECHO) JDK_MAJOR_VERSION = $(JDK_MAJOR_VERSION)
1147         @$(ECHO) JDK_MINOR_VERSION = $(JDK_MINOR_VERSION)
1148         @$(ECHO) JDK_MICRO_VERSION = $(JDK_MICRO_VERSION)
1149         @$(ECHO) JDK_UPDATE_VERSION = $(JDK_UPDATE_VERSION)
1150         @$(ECHO) JDK_MKTG_VERSION = $(JDK_MKTG_VERSION)
1151         @$(ECHO) JDK_UNDERSCORE_VERSION = $(JDK_UNDERSCORE_VERSION)
1152         @$(ECHO) JDK_MKTG_UNDERSCORE_VERSION = $(JDK_MKTG_UNDERSCORE_VERSION)
1153         @$(ECHO) MARKETING_NUMBER = $(MARKETING_NUMBER)
1154         @$(ECHO) MARKET_NAME = $(MARKET_NAME)
1155         @$(ECHO) MILESTONE = $(MILESTONE)
1156         @$(ECHO) RELEASE = $(RELEASE)
1157         @$(ECHO) USER_RELEASE_SUFFIX = $(USER_RELEASE_SUFFIX)
1158         @$(ECHO) --------------Shared---------------------------
1159         @$(ECHO) ""
1160         @$(ECHO) --------------common/Defs---------------------------
1161         @$(ECHO) "RELEASEDOCS_SOURCEPATH"
1162         @$(ECHO) "   SHARE_SRC/classes: $(SHARE_SRC)/classes"
1163         @$(ECHO) "   PLATFORM_SRC/classes: $(PLATFORM_SRC)/classes"
1164         @$(ECHO) "   GENSRCDIR: $(GENSRCDIR)"
1165         @$(ECHO) "   SHARE_SRC/doc/stub: $(SHARE_SRC)/doc/stub"
1166         @$(ECHO) "   IMPORTSRCDIR: $(IMPORTSRCDIR)"
1167         @$(ECHO) --------------common/Defs---------------------------
1168         @$(ECHO) ""
1169 
1170 #############################################################
1171 .PHONY: all docs coredocs rel-docs echovalues otherdocs rel-coredocs \
1172         sanitycheckcoredocs $(ALL_OTHER_TARGETS)
1173