1 # Copyright (c) 1997, 2016, 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 default: all
  26 
  27 include $(SPEC)
  28 include MakeBase.gmk
  29 
  30 ################################################################################
  31 
  32 # List of all possible directories for javadoc to look for sources
  33 # Allow custom to overwrite.
  34 JAVADOC_SOURCE_DIRS = \
  35       $(SUPPORT_OUTPUTDIR)/gensrc/* \
  36       $(if $(IMPORT_MODULES_SRC), $(IMPORT_MODULES_SRC)/*) \
  37       $(JDK_TOPDIR)/src/*/$(OPENJDK_TARGET_OS)/classes \
  38       $(JDK_TOPDIR)/src/*/$(OPENJDK_TARGET_OS_TYPE)/classes \
  39       $(JDK_TOPDIR)/src/*/share/classes \
  40       $(HOTSPOT_TOPDIR)/src/*/share/classes \
  41       $(LANGTOOLS_TOPDIR)/src/*/share/classes \
  42       $(NASHORN_TOPDIR)/src/*/share/classes \
  43       $(CORBA_TOPDIR)/src/*/share/classes \
  44       $(JAXP_TOPDIR)/src/*/share/classes \
  45       $(JAXWS_TOPDIR)/src/*/share/classes \
  46       $(SUPPORT_OUTPUTDIR)/rmic/* \
  47       $(JDK_TOPDIR)/src/*/share/doc/stub \
  48       #
  49 
  50 # Should we use -Xdocrootparent? Allow custom to overwrite.
  51 DOCROOTPARENT_FLAG = TRUE
  52 
  53 # The core api index file is the target for the core api javadocs rule
  54 # and needs to be defined early so that all other javadoc rules may
  55 # depend on it.
  56 CORE_INDEX_FILE := $(JAVADOC_OUTPUTDIR)/api/index.html
  57 
  58 # Symbols
  59 TRADEMARK := ™
  60 COPYRIGHT_SYMBOL := &$(HASH)x00a9;
  61 COPYRIGHT_TEXT := Copyright
  62 ALL_RIGHTS_RESERVED := All rights reserved.
  63 
  64 # URLs
  65 JAVADOC_BASE_URL := http://docs.oracle.com/javase/$(VERSION_SPECIFICATION)/docs
  66 BUG_SUBMIT_URL := http://bugreport.java.com/bugreport/
  67 
  68 ################################################################################
  69 # Text snippets
  70 
  71 FULL_COMPANY_NAME := Oracle and/or its affiliates
  72 COMPANY_ADDRESS := 500 Oracle Parkway<br>Redwood Shores, CA 94065 USA.
  73 BUG_SUBMIT_LINE := <a href="$(BUG_SUBMIT_URL)">Submit a bug or feature</a>
  74 JAVA_TRADEMARK_LINE := Java is a trademark or registered trademark of \
  75     $(FULL_COMPANY_NAME) in the US and other countries.
  76 
  77 COMMON_BOTTOM_ADDRESS := $(COMPANY_ADDRESS)
  78 COMMON_BOTTOM_TEXT := $(BUG_SUBMIT_LINE)<br>$(JAVA_TRADEMARK_LINE)
  79 
  80 CORE_BOTTOM_COPYRIGHT_URL := {@docroot}/../legal/cpyr.html
  81 CORE_BOTTOM_TEXT := $(BUG_SUBMIT_LINE)\
  82 <br>For further API reference and developer documentation, \
  83 see <a href="$(JAVADOC_BASE_URL)/index.html" target="_blank">Java SE \
  84 Documentation</a>. That documentation contains more detailed, \
  85 developer-targeted descriptions, with conceptual overviews, definitions of \
  86 terms, workarounds, and working code examples.
  87 
  88 ifeq ($(VERSION_IS_GA), true)
  89   DRAFT_HEADER :=
  90   DRAFT_BOTTOM :=
  91   DRAFT_WINTITLE :=
  92   CORE_TOP_EARLYACCESS :=
  93 else
  94   # We need a draft format when not building the GA version.
  95   DRAFT_HEADER := <br><strong>DRAFT&nbsp;$(VERSION_STRING)</strong>
  96   DRAFT_BOTTOM := <br><strong>DRAFT&nbsp;$(VERSION_STRING)</strong>
  97   DRAFT_WINTITLE := $(VERSION_BUILD)
  98   CORE_TOP_EARLYACCESS := \
  99 <div style="background-color: $$(HASH)EEEEEE"> \
 100 <div style="padding: 6px; margin-top: 2px; margin-bottom: 6px; \
 101 margin-left: 6px; margin-right: 6px; text-align: justify; \
 102 font-size: 80%; font-family: Helvetica, Arial, sans-serif; \
 103 font-weight: normal;"> \
 104 Please note that the specifications and other information \
 105 contained herein are not final and are subject to change. \
 106 The information is being made available to you solely for purpose of \
 107 evaluation. \
 108 </div> </div>
 109 endif
 110 
 111 ################################################################################
 112 # Support functions for SetupJavadocGeneration
 113 
 114 # Print an option line to the target file
 115 # Arguments:
 116 # arg 1: the option name
 117 # arg 2-3: optional arguments to the option
 118 define AddOption
 119         $(PRINTF) "%s$(if $(strip $2), '%s',)$(if $(strip $3), '%s',)\n" \
 120             "$(strip $1)"$(if $(strip $2), '$(strip $2)',)$(if $(strip $3), \
 121             '$(strip $3)',) >> $@
 122 endef
 123 
 124 # This function goes to great pains to exactly mimic the old behavior
 125 # in all details, including whitespace.
 126 # Note that COPYRIGHT_YEAR is the current year (from spec.gmk)
 127 # Arguments:
 128 # arg 1: first copyright year
 129 # arg 2: copyright url (optional)
 130 # arg 3: company address (optional)
 131 # arg 4: free-form text snippet (optional)
 132 define GenerateBottom
 133   <font size="-1">$(if $(strip $4), $(strip $4))<br> $(if \
 134       $(strip $2),<a href="$(strip $2)">$(COPYRIGHT_TEXT)</a>,$(COPYRIGHT_TEXT)) \
 135       $(COPYRIGHT_SYMBOL) $(strip $1), $(COPYRIGHT_YEAR),\
 136       $(FULL_COMPANY_NAME). $(strip $3) \
 137       $(ALL_RIGHTS_RESERVED)$(if $(strip $4), )</font>
 138 endef
 139 
 140 # Speed up finding by filling cache
 141 $(eval $(call FillCacheFind, $(wildcard $(JAVADOC_SOURCE_DIRS))))
 142 
 143 # Prevent # from expanding
 144 EscapeHash = $(subst $(HASH),{hash},$(strip $1))
 145 
 146 ################################################################################
 147 # Setup make rules for running javadoc.
 148 #
 149 # Parameter 1 is the name of the rule. This name is used as variable prefix,
 150 # and the targets generated are listed in a variable by that name. Note that
 151 # the index.html file will work as a "touch file" for all the magnitude of
 152 # files that are generated by javadoc.
 153 #
 154 # Remaining parameters are named arguments. These include:
 155 #   MODULES - Modules to include
 156 #   PACKAGES - Packages to include
 157 #   REGEXP - Filter for packages
 158 #   IS_CORE - Set to TRUE for the Core API package which needs special treatment
 159 #   API_ROOT - Where to base the documentation (jre or jdk)
 160 #   DEST_DIR - A directory relative to the API root
 161 #   OVERVIEW - Path to a html overview file
 162 #   TITLE - Default title to use for the more specific versions below
 163 #   WINDOW_TITLE - Title to use in -windowtitle. Computed from TITLE if empty.
 164 #   HEADER_TITLE - Title to use in -header. Computed from TITLE if empty.
 165 #   DOC_TITLE - Title to use in -doctitle. Computed from TITLE if empty.
 166 #   FIRST_COPYRIGHT_YEAR - First year this bundle was introduced
 167 #   DOCLINT - Doclint level. Defaults to "all".
 168 #   DOCLINT_PACKAGES - Optional -Xdoclint/package value
 169 #   ENCODING - Change character encoding (defaults to 'ascii')
 170 #   SPLIT_INDEX - Enable -splitIndex
 171 #   BREAKITERATOR - Enable -breakiterator
 172 #   NODEPRECATEDLIST - Enable nodeprecatedlist
 173 #   NOINDEX - Enable -noindex and -nonavbar
 174 #   BOTTOM_COPYRIGHT_URL - Copyright URL to use in -bottom
 175 #   BOTTOM_ADDRESS - Company address to use in -bottom
 176 #   BOTTOM_TEXT - Extra text to use in -bottom
 177 #   EXTRA_TOP - Additional -top data
 178 #
 179 SetupJavadocGeneration = $(NamedParamsMacroTemplate)
 180 define SetupJavadocGenerationBody
 181   ifeq ($$($1_IS_CORE), TRUE)
 182     $1_JAVA := $$(JAVA)
 183     $1_OUTPUT_DIRNAME := api
 184   else
 185     $1_JAVA := $$(JAVA_SMALL)
 186     $1_OUTPUT_DIRNAME := $$($1_API_ROOT)/api/$$($1_DEST_DIR)
 187 
 188     ifeq ($$($1_RELATIVE_CORE_DIR),)
 189       # Compute a relative path to core root.
 190       # The non-core api javadocs need to be able to access the root of the core
 191       # api directory, so for jdk/api or jre/api to get to the core api/
 192       # directory we would use this
 193       # NOTE: Need to be able to override for broken old code in JShell
 194       $1_RELATIVE_CORE_DIR := $$(strip $$(subst $$(call DirToDotDot, \
 195           $$(JAVADOC_OUTPUTDIR))/,, $$(call DirToDotDot, \
 196           $$(JAVADOC_OUTPUTDIR)/$$($1_OUTPUT_DIRNAME))))
 197     endif
 198 
 199     $1_DEPS += $(CORE_INDEX_FILE)
 200   endif
 201 
 202   ifneq ($$($1_OVERVIEW), )
 203     $1_DEPS +=  $$($1_OVERVIEW)
 204   endif
 205 
 206   ifeq ($$($1_ENCODING), )
 207     $1_ENCODING := ascii
 208   endif
 209 
 210   ifeq ($$($1_DOCLINT), )
 211     $1_DOCLINT := all
 212   endif
 213 
 214   ifeq ($$($1_DOC_TITLE), )
 215     $1_DOC_TITLE := $$($1_TITLE)
 216   endif
 217 
 218   ifeq ($$($1_WINDOW_TITLE), )
 219     $1_WINDOW_TITLE := $$(strip $$(subst $$(TRADEMARK),, $$($1_TITLE)))
 220   endif
 221 
 222   ifeq ($$($1_HEADER_TITLE), )
 223     $1_HEADER_TITLE := $$(strip $$(subst $$(TRADEMARK),, $$($1_TITLE)))
 224   endif
 225   $1_HEADER := <strong>$$($1_HEADER_TITLE)</strong>
 226 
 227   $1_BOTTOM := $$(call GenerateBottom, $$($1_FIRST_COPYRIGHT_YEAR), \
 228       $$($1_BOTTOM_COPYRIGHT_URL), $$($1_BOTTOM_ADDRESS), $$($1_BOTTOM_TEXT))
 229 
 230   # The index.html, options, and packages files
 231   $1_INDEX_FILE := $$(JAVADOC_OUTPUTDIR)/$$($1_OUTPUT_DIRNAME)/index.html
 232   $1_OPTIONS_FILE := $$(SUPPORT_OUTPUTDIR)/docs/$1.options
 233   $1_PACKAGES_FILE := $$(SUPPORT_OUTPUTDIR)/docs/$1.packages
 234 
 235   $1_PACKAGES_VARDEPS := $$($1_PACKAGES) $$($1_PACKAGES_SINGLE_CLASS)
 236   $1_PACKAGES_VARDEPS_FILE := $$(call DependOnVariable, $1_PACKAGES_VARDEPS, \
 237        $$($1_PACKAGES_FILE).vardeps)
 238 
 239   # Rule for creating a file with the package names in it
 240   $$($1_PACKAGES_FILE): $$($1_PACKAGES_VARDEPS_FILE)
 241         $$(call LogInfo, Creating Javadoc package file for $1)
 242         $$(call MakeDir, $$(@D))
 243         ifeq ($$($1_PACKAGES_SINGLE_CLASS), )
 244           $$(ECHO) $$($1_PACKAGES) | $$(TR) ' ' '\n' > $$@
 245         else
 246           # NOTE: This is for backwards compatibility for taglet
 247           $$(ECHO) $$($1_PACKAGES_SINGLE_CLASS) > $$@
 248         endif
 249 
 250   # NOTE: Not including $$($1_EXTRA_TOP) due to $$(HASH)
 251   $1_OPTIONS_VARDEPS := $$(call EscapeHash, \
 252       $$($DOCROOTPARENT_FLAG) $$(JAVADOC_BASE_URL) $$($1_NO_COMMON_TAGS) \
 253       $$($1_DOCLINT) $$($1_DOCLINT_PACKAGES) $$(JAVADOC_SOURCE_DIRS) \
 254       $$($1_MODULES) $$($1_ENCODING) $$($1_NODEPRECATEDLIST) \
 255       $$($1_BREAKITERATOR) $$($1_SPLIT_INDEX) $$($1_OVERVIEW) \
 256       $$($1_DOC_TITLE) $$($1_WINDOW_TITLE) $$(DRAFT_WINTITLE) \
 257       $$($1_HEADER) $$(DRAFT_HEADER) $$($1_NOINDEX) $$($1_EXTRA_TOP_2) \
 258       $$($1_BOTTOM) $$(DRAFT_BOTTOM)) $$($1_REGEXP) $$($1_RELATIVE_CORE_DIR) \
 259       $$(JAVADOC_OUTPUTDIR) \
 260   )
 261   $1_OPTIONS_VARDEPS_FILE := $$(call DependOnVariable, $1_OPTIONS_VARDEPS, \
 262        $$($1_OPTIONS_FILE).vardeps)
 263 
 264   # Rule for creating a file with javadoc options in it
 265   $$($1_OPTIONS_FILE): $$($1_OPTIONS_VARDEPS_FILE)
 266         $$(call LogInfo, Creating Javadoc options file for $1)
 267         $$(call MakeDir, $$(@D))
 268         $$(RM) $$@
 269         $$(call AddOption, -XDignore.symbol.file=true)
 270         ifneq ($$(LOG_LEVEL), trace)
 271           $$(call AddOption, -quiet)
 272         endif
 273         $$(call AddOption, -use)
 274         $$(call AddOption, -keywords)
 275         ifneq ($$($DOCROOTPARENT_FLAG), )
 276           # NOTE: Argument to -Xdocrootparent is not quoted to keep backwards compatibility.
 277           $$(call AddOption, -Xdocrootparent $(JAVADOC_BASE_URL))
 278         endif
 279         ifneq ($$($1_NO_COMMON_TAGS), TRUE)
 280           # In order to get a specific ordering it's necessary to specify the total
 281           # ordering of tags as the tags are otherwise ordered in order of definition.
 282           $$(call AddOption, -tag, beaninfo:X)
 283           $$(call AddOption, -tag, revised:X)
 284           $$(call AddOption, -tag, since.unbundled:X)
 285           $$(call AddOption, -tag, spec:X)
 286           $$(call AddOption, -tag, specdefault:X)
 287           $$(call AddOption, -tag, Note:X)
 288           $$(call AddOption, -tag, ToDo:X)
 289           $$(call AddOption, -tag, apiNote:a:API Note:)
 290           $$(call AddOption, -tag, implSpec:a:Implementation Requirements:)
 291           $$(call AddOption, -tag, implNote:a:Implementation Note:)
 292           $$(call AddOption, -tag, param)
 293           $$(call AddOption, -tag, return)
 294           $$(call AddOption, -tag, throws)
 295           $$(call AddOption, -tag, since)
 296           $$(call AddOption, -tag, version)
 297           $$(call AddOption, -tag, serialData)
 298           $$(call AddOption, -tag, factory)
 299           $$(call AddOption, -tag, see)
 300           $$(call AddOption, -tag, \
 301               jvms:a:See <cite> The Java&trade; Virtual Machine Specification</cite>:)
 302           $$(call AddOption, -tag, \
 303               jls:a:See <cite> The Java&trade; Language Specification</cite>:)
 304         endif
 305         $$(call AddOption, -Xdoclint:$$($1_DOCLINT))
 306         ifneq ($$($1_DOCLINT_PACKAGES), )
 307           $$(call AddOption, -Xdoclint/package:$$(call CommaList, $$($1_DOCLINT_PACKAGES)))
 308         endif
 309         $$(call AddOption, --system, none)
 310         $$(call AddOption, --module-source-path, $$(subst ",, $$(call PathList, $$(JAVADOC_SOURCE_DIRS))))
 311         $$(call AddOption, --add-modules, $$(call CommaList, $$($1_MODULES)))
 312         $$(call AddOption, -encoding, $$($1_ENCODING))
 313         ifneq ($$($1_NODEPRECATEDLIST), )
 314           $$(call AddOption, -nodeprecatedlist)
 315         endif
 316         ifneq ($$($1_BREAKITERATOR), )
 317           $$(call AddOption, -breakiterator)
 318         endif
 319         ifneq ($$($1_SPLIT_INDEX), )
 320           $$(call AddOption, -splitIndex)
 321         endif
 322         ifneq ($$($1_OVERVIEW), )
 323           $$(call AddOption, -overview, $$($1_OVERVIEW))
 324         endif
 325         $$(call AddOption, -doctitle, $$($1_DOC_TITLE))
 326         $$(call AddOption, -windowtitle, $$($1_WINDOW_TITLE) $$(DRAFT_WINTITLE))
 327         $$(call AddOption, -header, $$($1_HEADER)$$(DRAFT_HEADER))
 328         ifneq ($$($1_NOINDEX), )
 329           $$(call AddOption, -nonavbar)
 330           $$(call AddOption, -noindex)
 331         endif
 332         ifneq ($$($1_EXTRA_TOP_2), )
 333           $$(call AddOption, -top,$$($1_EXTRA_TOP_2))
 334         endif
 335         $$(call AddOption, -bottom, $$($1_BOTTOM)$$(DRAFT_BOTTOM))
 336         ifneq ($$($1_REGEXP), )
 337           $$(call AddOption, -group, Packages, $$($1_REGEXP))
 338         endif
 339         ifneq ($$($1_RELATIVE_CORE_DIR), )
 340           $$(call AddOption, -linkoffline, $$($1_RELATIVE_CORE_DIR)/api, $$(JAVADOC_OUTPUTDIR)/api/)
 341         endif
 342         ifneq ($$($1_EXTRA_TOP), )
 343           $$(call AddOption, -top, $$($1_EXTRA_TOP))
 344         endif
 345 
 346   $1_PACKAGE_DEPS :=  $$(call CacheFind, $$(wildcard $$(foreach p, \
 347       $$(subst .,/,$$(strip $$($1_PACKAGES))), \
 348       $$(addsuffix /$$p, $$(wildcard $$(JAVADOC_SOURCE_DIRS))))))
 349 
 350   # Rule for actually running javadoc
 351   $$($1_INDEX_FILE): $$($1_OPTIONS_FILE) $$($1_PACKAGES_FILE) \
 352     $$($1_PACKAGE_DEPS) $$($1_DEPS)
 353         $$(call LogWarn, Generating Javadoc for $$($1_OUTPUT_DIRNAME))
 354         $$(call MakeDir, $$(@D))
 355         ifneq ($$(findstring $$(LOG_LEVEL), debug trace),)
 356           $$(ECHO) "Contents of $$($1_OPTIONS_FILE):" `$$(CAT) $$($1_OPTIONS_FILE)`
 357           $$(ECHO) "Contents of $$($1_PACKAGES_FILE):" `$$(CAT) $$($1_PACKAGES_FILE)`
 358         endif
 359         $$(call ExecuteWithLog, $$(SUPPORT_OUTPUTDIR)/docs/$1.javadoc, \
 360             $$($1_JAVA) -Djava.awt.headless=true $(NEW_JAVADOC) -d $$(@D) \
 361             @$$($1_OPTIONS_FILE) @$$($1_PACKAGES_FILE))
 362         $$(TOUCH) $$($1_INDEX_FILE)
 363 
 364   # The output returned will be the index.html file
 365   $1 := $$($1_INDEX_FILE)
 366 endef
 367 
 368 ################################################################################
 369 
 370 CORE_PACKAGES := \
 371     java.applet \
 372     java.awt \
 373     java.awt.color \
 374     java.awt.datatransfer \
 375     java.awt.desktop \
 376     java.awt.dnd \
 377     java.awt.event \
 378     java.awt.font \
 379     java.awt.geom \
 380     java.awt.im \
 381     java.awt.im.spi \
 382     java.awt.image \
 383     java.awt.image.renderable \
 384     java.awt.print \
 385     java.beans \
 386     java.beans.beancontext \
 387     java.io \
 388     java.lang \
 389     java.lang.annotation \
 390     java.lang.instrument \
 391     java.lang.invoke \
 392     java.lang.management \
 393     java.lang.module \
 394     java.lang.ref \
 395     java.lang.reflect \
 396     java.math \
 397     java.net \
 398     java.net.http \
 399     java.net.spi \
 400     java.nio \
 401     java.nio.channels \
 402     java.nio.channels.spi \
 403     java.nio.charset \
 404     java.nio.charset.spi \
 405     java.nio.file \
 406     java.nio.file.attribute \
 407     java.nio.file.spi \
 408     java.rmi \
 409     java.rmi.activation \
 410     java.rmi.dgc \
 411     java.rmi.registry \
 412     java.rmi.server \
 413     java.security \
 414     java.security.acl \
 415     java.security.cert \
 416     java.security.interfaces \
 417     java.security.spec \
 418     java.sql \
 419     java.text \
 420     java.text.spi \
 421     java.time \
 422     java.time.chrono \
 423     java.time.format \
 424     java.time.temporal \
 425     java.time.zone \
 426     java.util \
 427     java.util.concurrent \
 428     java.util.concurrent.atomic \
 429     java.util.concurrent.locks \
 430     java.util.function \
 431     java.util.jar \
 432     java.util.logging \
 433     java.util.prefs \
 434     java.util.regex \
 435     java.util.spi \
 436     java.util.stream \
 437     java.util.zip \
 438     javax.accessibility \
 439     javax.activation \
 440     javax.activity \
 441     javax.annotation \
 442     javax.annotation.processing \
 443     javax.crypto \
 444     javax.crypto.interfaces \
 445     javax.crypto.spec \
 446     javax.imageio \
 447     javax.imageio.event \
 448     javax.imageio.metadata \
 449     javax.imageio.plugins.jpeg \
 450     javax.imageio.plugins.bmp \
 451     javax.imageio.plugins.tiff \
 452     javax.imageio.spi \
 453     javax.imageio.stream \
 454     javax.jws \
 455     javax.jws.soap \
 456     javax.lang.model \
 457     javax.lang.model.element \
 458     javax.lang.model.type \
 459     javax.lang.model.util \
 460     javax.management \
 461     javax.management.loading \
 462     javax.management.monitor \
 463     javax.management.relation \
 464     javax.management.openmbean \
 465     javax.management.timer \
 466     javax.management.modelmbean \
 467     javax.management.remote \
 468     javax.management.remote.rmi \
 469     javax.naming \
 470     javax.naming.directory \
 471     javax.naming.event \
 472     javax.naming.ldap \
 473     javax.naming.spi \
 474     javax.net \
 475     javax.net.ssl \
 476     javax.print \
 477     javax.print.attribute \
 478     javax.print.attribute.standard \
 479     javax.print.event \
 480     javax.rmi \
 481     javax.rmi.CORBA \
 482     javax.rmi.ssl \
 483     javax.script \
 484     javax.security.auth \
 485     javax.security.auth.callback \
 486     javax.security.auth.kerberos \
 487     javax.security.auth.login \
 488     javax.security.auth.spi \
 489     javax.security.auth.x500 \
 490     javax.security.cert \
 491     javax.security.sasl \
 492     javax.sound.sampled \
 493     javax.sound.sampled.spi \
 494     javax.sound.midi \
 495     javax.sound.midi.spi \
 496     javax.sql \
 497     javax.sql.rowset \
 498     javax.sql.rowset.serial \
 499     javax.sql.rowset.spi \
 500     javax.swing \
 501     javax.swing.border \
 502     javax.swing.colorchooser \
 503     javax.swing.filechooser \
 504     javax.swing.event \
 505     javax.swing.table \
 506     javax.swing.text \
 507     javax.swing.text.html \
 508     javax.swing.text.html.parser \
 509     javax.swing.text.rtf \
 510     javax.swing.tree \
 511     javax.swing.undo \
 512     javax.swing.plaf \
 513     javax.swing.plaf.basic \
 514     javax.swing.plaf.metal \
 515     javax.swing.plaf.multi \
 516     javax.swing.plaf.nimbus \
 517     javax.swing.plaf.synth \
 518     javax.tools \
 519     javax.transaction \
 520     javax.transaction.xa \
 521     javax.xml.catalog \
 522     javax.xml.parsers \
 523     javax.xml.bind \
 524     javax.xml.bind.annotation \
 525     javax.xml.bind.annotation.adapters \
 526     javax.xml.bind.attachment \
 527     javax.xml.bind.helpers \
 528     javax.xml.bind.util \
 529     javax.xml.soap \
 530     javax.xml.ws \
 531     javax.xml.ws.handler \
 532     javax.xml.ws.handler.soap \
 533     javax.xml.ws.http \
 534     javax.xml.ws.soap \
 535     javax.xml.ws.spi \
 536     javax.xml.ws.spi.http \
 537     javax.xml.ws.wsaddressing \
 538     javax.xml.transform \
 539     javax.xml.transform.sax \
 540     javax.xml.transform.dom \
 541     javax.xml.transform.stax \
 542     javax.xml.transform.stream \
 543     javax.xml \
 544     javax.xml.crypto \
 545     javax.xml.crypto.dom \
 546     javax.xml.crypto.dsig \
 547     javax.xml.crypto.dsig.dom \
 548     javax.xml.crypto.dsig.keyinfo \
 549     javax.xml.crypto.dsig.spec \
 550     javax.xml.datatype \
 551     javax.xml.validation \
 552     javax.xml.namespace \
 553     javax.xml.xpath \
 554     javax.xml.stream \
 555     javax.xml.stream.events \
 556     javax.xml.stream.util \
 557     org.ietf.jgss \
 558     org.omg.CORBA \
 559     org.omg.CORBA.DynAnyPackage \
 560     org.omg.CORBA.ORBPackage \
 561     org.omg.CORBA.TypeCodePackage \
 562     org.omg.stub.java.rmi \
 563     org.omg.CORBA.portable \
 564     org.omg.CORBA_2_3 \
 565     org.omg.CORBA_2_3.portable \
 566     org.omg.CosNaming \
 567     org.omg.CosNaming.NamingContextExtPackage \
 568     org.omg.CosNaming.NamingContextPackage \
 569     org.omg.SendingContext \
 570     org.omg.PortableServer \
 571     org.omg.PortableServer.CurrentPackage \
 572     org.omg.PortableServer.POAPackage \
 573     org.omg.PortableServer.POAManagerPackage \
 574     org.omg.PortableServer.ServantLocatorPackage \
 575     org.omg.PortableServer.portable \
 576     org.omg.PortableInterceptor \
 577     org.omg.PortableInterceptor.ORBInitInfoPackage \
 578     org.omg.Messaging \
 579     org.omg.IOP \
 580     org.omg.IOP.CodecFactoryPackage \
 581     org.omg.IOP.CodecPackage \
 582     org.omg.Dynamic \
 583     org.omg.DynamicAny \
 584     org.omg.DynamicAny.DynAnyPackage \
 585     org.omg.DynamicAny.DynAnyFactoryPackage \
 586     org.w3c.dom \
 587     org.w3c.dom.events \
 588     org.w3c.dom.bootstrap \
 589     org.w3c.dom.ls \
 590     org.w3c.dom.ranges \
 591     org.w3c.dom.traversal \
 592     org.w3c.dom.views \
 593     org.xml.sax \
 594     org.xml.sax.ext \
 595     org.xml.sax.helpers
 596 
 597 $(eval $(call SetupJavadocGeneration, coredocs, \
 598     MODULES := java.se.ee, \
 599     PACKAGES := $(CORE_PACKAGES), \
 600     IS_CORE := TRUE, \
 601     OVERVIEW := $(JDK_TOPDIR)/src/java.base/share/classes/overview-core.html, \
 602     WINDOW_TITLE := Java Platform SE $(VERSION_SPECIFICATION), \
 603     HEADER_TITLE := Java$(TRADEMARK)&nbsp;Platform<br>Standard&nbsp;Ed.&nbsp;$(VERSION_SPECIFICATION), \
 604     DOC_TITLE := Java$(TRADEMARK) Platform$(COMMA) Standard Edition \
 605       $(VERSION_SPECIFICATION)<br>API Specification, \
 606     FIRST_COPYRIGHT_YEAR := 1993, \
 607     DOCLINT := reference, \
 608     DOCLINT_PACKAGES := -org.omg.* jdk.internal.logging.*, \
 609     ENCODING := ISO-8859-1, \
 610     SPLIT_INDEX := TRUE, \
 611     BOTTOM_COPYRIGHT_URL := $(CORE_BOTTOM_COPYRIGHT_URL), \
 612     BOTTOM_TEXT := $(CORE_BOTTOM_TEXT), \
 613     EXTRA_TOP := $(CORE_TOP_EARLYACCESS), \
 614 ))
 615 
 616 TARGETS += $(coredocs)
 617 
 618 ################################################################################
 619 
 620 $(eval $(call SetupJavadocGeneration, docletapi, \
 621     MODULES := jdk.javadoc, \
 622     PACKAGES := \
 623         jdk.javadoc.doclet \
 624         jdk.javadoc.doclet.taglet \
 625         jdk.javadoc.doclets, \
 626     REGEXP := jdk.javadoc.doclet*, \
 627     API_ROOT := jdk,\
 628     DEST_DIR := javadoc/doclet,\
 629     TITLE := Doclet API, \
 630     FIRST_COPYRIGHT_YEAR := 1993, \
 631     BREAKITERATOR := TRUE, \
 632     BOTTOM_ADDRESS := $(COMMON_BOTTOM_ADDRESS), \
 633     BOTTOM_TEXT := $(COMMON_BOTTOM_TEXT), \
 634 ))
 635 
 636 TARGETS += $(docletapi)
 637 
 638 ################################################################################
 639 
 640 $(eval $(call SetupJavadocGeneration, old-docletapi, \
 641     MODULES := jdk.javadoc, \
 642     PACKAGES := com.sun.javadoc, \
 643     REGEXP := com.sun.javadoc, \
 644     API_ROOT := jdk,\
 645     DEST_DIR := javadoc/old/doclet,\
 646     TITLE := Doclet API, \
 647     FIRST_COPYRIGHT_YEAR := 1993, \
 648     BREAKITERATOR := TRUE, \
 649     BOTTOM_ADDRESS := $(COMMON_BOTTOM_ADDRESS), \
 650     BOTTOM_TEXT := $(COMMON_BOTTOM_TEXT), \
 651 ))
 652 
 653 TARGETS += $(old-docletapi)
 654 
 655 ################################################################################
 656 
 657 # Specify a single class instead of a package
 658 TAGLET_PACKAGE_SINGLE_CLASS := com/sun/tools/doclets/Taglet.java
 659 TAGLET_PACKAGE_DIR := $(LANGTOOLS_TOPDIR)/src/jdk.javadoc/share/classes
 660 
 661 $(eval $(call SetupJavadocGeneration, tagletapi, \
 662     MODULES := jdk.javadoc, \
 663     PACKAGES := com.sun.tools.doclets, \
 664     PACKAGES_SINGLE_CLASS := $(TAGLET_PACKAGE_DIR)/$(TAGLET_PACKAGE_SINGLE_CLASS), \
 665     API_ROOT := jdk,\
 666     DEST_DIR := javadoc/old/taglet,\
 667     TITLE := Taglet API, \
 668     FIRST_COPYRIGHT_YEAR := 1993, \
 669     BREAKITERATOR := TRUE, \
 670     NOINDEX := TRUE, \
 671     BOTTOM_ADDRESS := $(COMMON_BOTTOM_ADDRESS), \
 672     BOTTOM_TEXT := $(COMMON_BOTTOM_TEXT), \
 673 ))
 674 
 675 TARGETS += $(tagletapi)
 676 
 677 ################################################################################
 678 
 679 $(eval $(call SetupJavadocGeneration, domapi, \
 680     MODULES := \
 681         java.xml \
 682         jdk.xml.dom, \
 683     PACKAGES := \
 684         org.w3c.dom \
 685         org.w3c.dom.bootstrap \
 686         org.w3c.dom.ls \
 687         org.w3c.dom.ranges \
 688         org.w3c.dom.traversal \
 689         org.w3c.dom.html \
 690         org.w3c.dom.stylesheets \
 691         org.w3c.dom.css \
 692         org.w3c.dom.events \
 693         org.w3c.dom.views, \
 694     REGEXP := org.w3c.dom*, \
 695     API_ROOT := jre,\
 696     DEST_DIR := plugin/dom,\
 697     TITLE := Common DOM API, \
 698     FIRST_COPYRIGHT_YEAR := 2005, \
 699     DOCLINT := none, \
 700     SPLIT_INDEX := TRUE, \
 701     BOTTOM_ADDRESS := $(COMMON_BOTTOM_ADDRESS), \
 702     BOTTOM_TEXT := $(COMMON_BOTTOM_TEXT), \
 703 ))
 704 
 705 TARGETS += $(domapi)
 706 
 707 ################################################################################
 708 
 709 $(eval $(call SetupJavadocGeneration, jdi, \
 710     MODULES := jdk.jdi, \
 711     PACKAGES := \
 712         com.sun.jdi \
 713         com.sun.jdi.event \
 714         com.sun.jdi.request \
 715         com.sun.jdi.connect \
 716         com.sun.jdi.connect.spi, \
 717     API_ROOT := jdk,\
 718     DEST_DIR := jpda/jdi,\
 719     OVERVIEW := $(JDK_TOPDIR)/src/jdk.jdi/share/classes/jdi-overview.html, \
 720     TITLE := Java$(TRADEMARK) Debug Interface, \
 721     FIRST_COPYRIGHT_YEAR := 1999, \
 722     DOCLINT := none, \
 723 ))
 724 
 725 TARGETS += $(jdi)
 726 
 727 ################################################################################
 728 
 729 $(eval $(call SetupJavadocGeneration, jaas, \
 730     MODULES := jdk.security.auth, \
 731     PACKAGES := \
 732         com.sun.security.auth \
 733         com.sun.security.auth.callback \
 734         com.sun.security.auth.login \
 735         com.sun.security.auth.module, \
 736     API_ROOT := jre,\
 737     DEST_DIR := security/jaas/spec,\
 738     OVERVIEW := $(JDK_TOPDIR)/src/jdk.security.auth/share/classes/jaas-overview.html, \
 739     TITLE := Java$(TRADEMARK) Authentication and Authorization Service, \
 740     FIRST_COPYRIGHT_YEAR := 1998, \
 741     DOCLINT := none, \
 742 ))
 743 
 744 TARGETS += $(jaas)
 745 
 746 ################################################################################
 747 
 748 $(eval $(call SetupJavadocGeneration, jgss, \
 749     MODULES := jdk.security.jgss, \
 750     PACKAGES := com.sun.security.jgss, \
 751     API_ROOT := jre,\
 752     DEST_DIR := security/jgss/spec,\
 753     OVERVIEW := $(JDK_TOPDIR)/src/java.security.jgss/share/classes/jgss-overview.html, \
 754     TITLE := Java$(TRADEMARK) GSS-API Utilities, \
 755     FIRST_COPYRIGHT_YEAR := 2000, \
 756     DOCLINT := none, \
 757     NODEPRECATEDLIST := TRUE, \
 758 ))
 759 
 760 TARGETS += $(jgss)
 761 
 762 ################################################################################
 763 
 764 $(eval $(call SetupJavadocGeneration, smartcardio, \
 765     MODULES := java.smartcardio, \
 766     PACKAGES := javax.smartcardio, \
 767     API_ROOT := jre,\
 768     DEST_DIR := security/smartcardio/spec,\
 769     TITLE := Java$(TRADEMARK) Smart Card I/O, \
 770     FIRST_COPYRIGHT_YEAR := 2005, \
 771     DOCLINT := none, \
 772     NODEPRECATEDLIST := TRUE, \
 773 ))
 774 
 775 TARGETS += $(smartcardio)
 776 
 777 ################################################################################
 778 
 779 $(eval $(call SetupJavadocGeneration, httpserver, \
 780     MODULES := jdk.httpserver, \
 781     PACKAGES := \
 782         com.sun.net.httpserver \
 783         com.sun.net.httpserver.spi, \
 784     API_ROOT := jre,\
 785     DEST_DIR := net/httpserver/spec,\
 786     TITLE := Java$(TRADEMARK) HTTP Server, \
 787     FIRST_COPYRIGHT_YEAR := 2005, \
 788     DOCLINT := none, \
 789     NODEPRECATEDLIST := TRUE, \
 790 ))
 791 
 792 TARGETS += $(httpserver)
 793 
 794 ################################################################################
 795 
 796 $(eval $(call SetupJavadocGeneration, jsobject, \
 797     MODULES := jdk.jsobject, \
 798     PACKAGES := netscape.javascript, \
 799     API_ROOT := jre,\
 800     DEST_DIR := plugin/jsobject,\
 801     FIRST_COPYRIGHT_YEAR := 1993, \
 802     TITLE := Java$(TRADEMARK) JSObject Doc, \
 803     DOCLINT := none, \
 804     NODEPRECATEDLIST := TRUE, \
 805 ))
 806 
 807 TARGETS += $(jsobject)
 808 
 809 ################################################################################
 810 
 811 $(eval $(call SetupJavadocGeneration, mgmt, \
 812     MODULES := jdk.management, \
 813     PACKAGES := com.sun.management, \
 814     API_ROOT := jre,\
 815     DEST_DIR := management/extension,\
 816     OVERVIEW := $(JDK_TOPDIR)/src/java.management/share/classes/mgmt-overview.html, \
 817     TITLE := Monitoring and Management Interface for the Java$(TRADEMARK) Platform, \
 818     FIRST_COPYRIGHT_YEAR := 2003, \
 819     DOCLINT := none, \
 820     NODEPRECATEDLIST := TRUE, \
 821 ))
 822 
 823 TARGETS += $(mgmt)
 824 
 825 ################################################################################
 826 
 827 $(eval $(call SetupJavadocGeneration, attach, \
 828     MODULES := jdk.attach, \
 829     PACKAGES := \
 830         com.sun.tools.attach \
 831         com.sun.tools.attach.spi, \
 832     API_ROOT := jdk,\
 833     DEST_DIR := attach/spec,\
 834     TITLE := Attach API, \
 835     FIRST_COPYRIGHT_YEAR := 2005, \
 836     DOCLINT := none, \
 837     NODEPRECATEDLIST := TRUE, \
 838 ))
 839 
 840 TARGETS += $(attach)
 841 
 842 ################################################################################
 843 
 844 $(eval $(call SetupJavadocGeneration, jconsole, \
 845     MODULES := jdk.jconsole, \
 846     PACKAGES := com.sun.tools.jconsole, \
 847     API_ROOT := jdk,\
 848     DEST_DIR := jconsole/spec,\
 849     TITLE := JConsole API, \
 850     FIRST_COPYRIGHT_YEAR := 2006, \
 851     DOCLINT := none, \
 852     NODEPRECATEDLIST := TRUE, \
 853 ))
 854 
 855 TARGETS += $(jconsole)
 856 
 857 ################################################################################
 858 
 859 # NOTE: Need to override RELATIVE_CORE_DIR to be bug compatible with old code.
 860 $(eval $(call SetupJavadocGeneration, jshellapi, \
 861     MODULES := jdk.jshell, \
 862     PACKAGES := \
 863         jdk.jshell \
 864         jdk.jshell.spi \
 865         jdk.jshell.execution, \
 866     API_ROOT := jdk,\
 867     DEST_DIR := jshell,\
 868     RELATIVE_CORE_DIR := ../../../.., \
 869     OVERVIEW := $(LANGTOOLS_TOPDIR)/src/jdk.jshell/share/classes/jdk/jshell/overview.html, \
 870     TITLE := JShell API, \
 871     HEADER_TITLE := JSHELL API, \
 872     FIRST_COPYRIGHT_YEAR := 2015, \
 873 ))
 874 
 875 TARGETS += $(jshellapi)
 876 
 877 ################################################################################
 878 
 879 $(eval $(call SetupJavadocGeneration, treeapi, \
 880     MODULES := jdk.compiler, \
 881     PACKAGES := \
 882         com.sun.source.doctree \
 883         com.sun.source.tree \
 884         com.sun.source.util, \
 885     REGEXP := com.sun.source.*, \
 886     API_ROOT := jdk,\
 887     DEST_DIR := javac/tree,\
 888     TITLE := Compiler Tree API, \
 889     FIRST_COPYRIGHT_YEAR := 2005, \
 890 ))
 891 
 892 TARGETS += $(treeapi)
 893 
 894 ################################################################################
 895 
 896 $(eval $(call SetupJavadocGeneration, nashornapi, \
 897     MODULES := jdk.scripting.nashorn, \
 898     PACKAGES := \
 899         jdk.nashorn.api.scripting \
 900         jdk.nashorn.api.tree, \
 901     REGEXP := jdk.nashorn.api.*, \
 902     API_ROOT := jdk,\
 903     DEST_DIR := nashorn,\
 904     TITLE := Nashorn API, \
 905     FIRST_COPYRIGHT_YEAR := 2014, \
 906 ))
 907 
 908 TARGETS += $(nashornapi)
 909 
 910 ################################################################################
 911 
 912 $(eval $(call SetupJavadocGeneration, dynalinkapi, \
 913     MODULES := jdk.dynalink, \
 914     PACKAGES := \
 915         jdk.dynalink \
 916         jdk.dynalink.beans \
 917         jdk.dynalink.linker \
 918         jdk.dynalink.linker.support \
 919         jdk.dynalink.support, \
 920     API_ROOT := jdk,\
 921     DEST_DIR := dynalink,\
 922     TITLE := Dynalink API, \
 923     FIRST_COPYRIGHT_YEAR := 2015, \
 924 ))
 925 
 926 TARGETS += $(dynalinkapi)
 927 
 928 ################################################################################
 929 
 930 $(eval $(call SetupJavadocGeneration, sctp, \
 931     MODULES := jdk.sctp, \
 932     PACKAGES := com.sun.nio.sctp, \
 933     API_ROOT := jre,\
 934     DEST_DIR := nio/sctp/spec,\
 935     TITLE := SCTP API, \
 936     FIRST_COPYRIGHT_YEAR := 2009, \
 937     DOCLINT := none, \
 938     NODEPRECATEDLIST := TRUE, \
 939 ))
 940 
 941 TARGETS += $(sctp)
 942 
 943 ################################################################################
 944 
 945 $(eval $(call SetupJavadocGeneration, jaccess, \
 946     MODULES := jdk.accessibility, \
 947     PACKAGES := com.sun.java.accessibility.util, \
 948     API_ROOT := jre,\
 949     DEST_DIR := accessibility/jaccess/spec,\
 950     TITLE := JACCESS API, \
 951     FIRST_COPYRIGHT_YEAR := 2002, \
 952     NODEPRECATEDLIST := TRUE, \
 953 ))
 954 
 955 TARGETS += $(jaccess)
 956 
 957 ################################################################################
 958 
 959 $(eval $(call SetupJavadocGeneration, jdknet, \
 960     MODULES := jdk.net, \
 961     PACKAGES := jdk.net, \
 962     API_ROOT := jre,\
 963     DEST_DIR := net/socketoptions/spec,\
 964     TITLE := jdk.net API, \
 965     FIRST_COPYRIGHT_YEAR := 2014, \
 966     DOCLINT := none, \
 967     NODEPRECATEDLIST := TRUE, \
 968 ))
 969 
 970 TARGETS += $(jdknet)
 971 
 972 ################################################################################
 973 
 974 # TODO: Need to decide when the plugin API is ready to publish as experimental API.
 975 # This target is temporarily added for internal use for now.
 976 $(eval $(call SetupJavadocGeneration, jlinkplugins, \
 977     MODULES := jdk.jlink, \
 978     PACKAGES := jdk.tools.jlink.plugin, \
 979     API_ROOT := jdk,\
 980     DEST_DIR := jlink,\
 981     TITLE := JLink Plugin API - EXPERIMENTAL, \
 982     FIRST_COPYRIGHT_YEAR := 2015, \
 983     DOCLINT := none, \
 984     NODEPRECATEDLIST := TRUE, \
 985 ))
 986 
 987 TARGETS += $(jlinkplugins)
 988 
 989 ################################################################################
 990 # Copy JDWP html file
 991 
 992 JDWP_HTML := $(SUPPORT_OUTPUTDIR)/gensrc/jdk.jdi/jdwp-protocol.html
 993 
 994 $(eval $(call SetupCopyFiles, COPY_JDWP_HTML, \
 995     FILES := $(JDWP_HTML), \
 996     DEST := $(JAVADOC_OUTPUTDIR)/platform/jpda/jdwp, \
 997 ))
 998 
 999 COPY_TARGETS += $(COPY_JDWP_HTML)
1000 
1001 ################################################################################
1002 # Copy JVMTI html file
1003 
1004 # Pick jvmti.html from any jvm variant, they are all the same.
1005 JVMTI_HTML := $(firstword \
1006     $(wildcard $(HOTSPOT_OUTPUTDIR)/variant-*/gensrc/jvmtifiles/jvmti.html))
1007 
1008 $(eval $(call SetupCopyFiles, COPY_JVMTI_HTML, \
1009     FILES := $(JVMTI_HTML), \
1010     DEST := $(JAVADOC_OUTPUTDIR)/platform/jvmti, \
1011 ))
1012 
1013 COPY_TARGETS += $(COPY_JVMTI_HTML)
1014 
1015 ################################################################################
1016 # Optional target which bundles all generated javadocs into a zip archive.
1017 # The dependency on docs is handled in Main.gmk.
1018 
1019 # Add the core docs as prerequisite to the archive to trigger a rebuild
1020 # if the core docs were rebuilt. Ideally any doc rebuild should trigger
1021 # this, but the way prerequisites are currently setup in this file, that
1022 # is hard to achieve.
1023 
1024 JAVADOC_ARCHIVE_NAME := jdk-$(VERSION_STRING)-docs.zip
1025 JAVADOC_ARCHIVE_ASSEMBLY_DIR := $(SUPPORT_OUTPUTDIR)/docs/zip-docs
1026 JAVADOC_ARCHIVE_DIR := $(OUTPUT_ROOT)/bundles
1027 JAVADOC_ARCHIVE := $(JAVADOC_ARCHIVE_DIR)/$(JAVADOC_ARCHIVE_NAME)
1028 
1029 $(JAVADOC_ARCHIVE): $(CORE_INDEX_FILE)
1030         $(call LogInfo, Compressing javadoc to single $(JAVADOC_ARCHIVE_NAME))
1031         $(MKDIR) -p $(JAVADOC_ARCHIVE_DIR)
1032         $(RM) -r $(JAVADOC_ARCHIVE_ASSEMBLY_DIR)
1033         $(MKDIR) -p $(JAVADOC_ARCHIVE_ASSEMBLY_DIR)
1034         all_roots=`$(FIND) $(JAVADOC_OUTPUTDIR) | $(GREP) index.html | grep -v old/doclet`; \
1035         pushd $(JAVADOC_ARCHIVE_ASSEMBLY_DIR); \
1036         for index_file in $${all_roots} ; do \
1037           target_dir=`dirname $${index_file}`; \
1038           name=`$(ECHO) $${target_dir} | $(SED) "s;/spec;;" | $(SED) "s;.*/;;"`; \
1039           $(LN) -s $${target_dir}  $${name}; \
1040         done; \
1041         $(ZIP) -q -r $(JAVADOC_ARCHIVE) * ; \
1042         popd ;
1043 
1044 ZIP_TARGETS += $(JAVADOC_ARCHIVE)
1045 
1046 ################################################################################
1047 
1048 # Hook to include the corresponding custom file, if present.
1049 $(eval $(call IncludeCustomExtension, , Javadoc.gmk))
1050 
1051 ################################################################################
1052 
1053 docs-javadoc: $(TARGETS)
1054 
1055 docs-copy: $(COPY_TARGETS)
1056 
1057 docs-zip: $(ZIP_TARGETS)
1058 
1059 all: docs-javadoc docs-copy docs-zip
1060 
1061 .PHONY: default all docs-javadoc docs-copy docs-zip