make/Javadoc.gmk

Thu, 31 Aug 2017 15:40:18 +0800

author
aoqi
date
Thu, 31 Aug 2017 15:40:18 +0800
changeset 1133
50aaf272884f
parent 1039
389603b4000d
parent 0
75a576e87639
child 1288
7801df19942d
permissions
-rw-r--r--

merge

     1 # Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
     2 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3 #
     4 # This code is free software; you can redistribute it and/or modify it
     5 # under the terms of the GNU General Public License version 2 only, as
     6 # published by the Free Software Foundation.  Oracle designates this
     7 # particular file as subject to the "Classpath" exception as provided
     8 # by Oracle in the LICENSE file that accompanied this code.
     9 #
    10 # This code is distributed in the hope that it will be useful, but WITHOUT
    11 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    12 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    13 # version 2 for more details (a copy is included in the LICENSE file that
    14 # accompanied this code).
    15 #
    16 # You should have received a copy of the GNU General Public License version
    17 # 2 along with this work; if not, write to the Free Software Foundation,
    18 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    19 #
    20 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    21 # or visit www.oracle.com if you need additional information or have any
    22 # questions.
    23 #
    25 include $(SPEC)
    26 include MakeBase.gmk
    28 .SUFFIXES: # Delete the default suffixes
    29 .SUFFIXES: .java
    31 #
    32 # Definitions for $(DOCSDIR), $(MKDIR), $(BINDIR), etc.
    33 #
    35 DOCSDIR=$(OUTPUT_ROOT)/docs
    36 TEMPDIR=$(OUTPUT_ROOT)/docstemp
    38 JDK_SHARE_SRC=$(JDK_TOPDIR)/src/share
    39 JDK_SHARE_CLASSES=$(JDK_SHARE_SRC)/classes
    41 JDK_IMPSRC = $(JDK_OUTPUTDIR)/impsrc
    43 JDK_GENSRC = $(JDK_OUTPUTDIR)/gensrc
    45 HOTSPOT_DOCS_IMPORT_PATH=$(HOTSPOT_OUTPUTDIR)/docs
    47 BUILD_NUMBER=$(JDK_BUILD_NUMBER)
    49 JAVADOC_CMD = $(JAVA) \
    50     -Xmx1024m \
    51     -Djava.awt.headless=true \
    52     $(NEW_JAVADOC) \
    53     -bootclasspath $(JDK_OUTPUTDIR)/classes
    55 # Copyright year for beginning of Java and some of the apis
    56 # (Needed when creating the javadocs)
    57 FIRST_COPYRIGHT_YEAR = 1993
    58 DOMAPI_FIRST_COPYRIGHT_YEAR = 2005
    59 MIRROR_FIRST_COPYRIGHT_YEAR = 2004
    60 DOCLETAPI_FIRST_COPYRIGHT_YEAR = 1993
    61 TAGLETAPI_FIRST_COPYRIGHT_YEAR = 1993
    62 JDI_FIRST_COPYRIGHT_YEAR = 1999
    63 JAAS_FIRST_COPYRIGHT_YEAR = 1998
    64 JGSS_FIRST_COPYRIGHT_YEAR = 2000
    65 SMARTCARDIO_FIRST_COPYRIGHT_YEAR = 2005
    66 HTTPSERVER_FIRST_COPYRIGHT_YEAR = 2005
    67 MGMT_FIRST_COPYRIGHT_YEAR = 2003
    68 ATTACH_FIRST_COPYRIGHT_YEAR = 2005
    69 JCONSOLE_FIRST_COPYRIGHT_YEAR = 2006
    70 SCTPAPI_FIRST_COPYRIGHT_YEAR = 2009
    71 TRACING_FIRST_COPYRIGHT_YEAR = 2008
    72 TREEAPI_FIRST_COPYRIGHT_YEAR = 2005
    73 JNLP_FIRST_COPYRIGHT_YEAR = 1998
    74 PLUGIN2_FIRST_COPYRIGHT_YEAR = 2007
    75 JDKNET_FIRST_COPYRIGHT_YEAR = 2014
    77 # Oracle name
    78 FULL_COMPANY_NAME = Oracle and/or its affiliates
    80 # Copyright address
    81 COMPANY_ADDRESS = 500 Oracle Parkway<br>Redwood Shores, CA 94065 USA.
    83 # The trademark symbol
    84 TRADEMARK = &trade;
    86 # Common copyright lines used
    87 # The word "Copyright" might optionally be a link to the file cpyr.html.
    88 # The first year of copyright may vary or not be available.
    89 # The address to the company might be optional.
    90 COMMA:= ,
    91 EMPTY:=
    92 SPACE:=$(EMPTY) $(EMPTY)
    93 COPYRIGHT_SYMBOL = &\#x00a9;
    94 # Macro to construct the copyright line
    95 # (The GNU make 3.78.1 "if" conditional is broken, fixed in GNU make 3.81)
    96 define CopyrightLine # optionalurl optionalfirstyear optionaladdress
    97 $(if $(strip $1),<a href="$(strip $1)">Copyright</a>,Copyright) \
    98 $(COPYRIGHT_SYMBOL) $(if $2,$2${COMMA},) $(COPYRIGHT_YEAR),\
    99 $(FULL_COMPANY_NAME). $3 All rights reserved.
   100 endef
   102 # Url to root of documents
   103 DOCSDIR_URL = {@docroot}/$(GET2DOCSDIR)
   105 # Url to copyright html file
   106 COPYRIGHT_URL = $(DOCSDIR_URL)/legal/cpyr.html
   108 # Url to bug filing site
   109 BUG_SUBMIT_URL = http://bugreport.sun.com/bugreport/
   111 # Common line for how to submit a bug or rfe
   112 BUG_SUBMIT_LINE = <a href="$(BUG_SUBMIT_URL)">Submit a bug or feature</a>
   114 # Url to devdocs page
   115 # Was: http://java.sun.com/javase/6/webnotes/devdocs-vs-specs.html
   116 DEV_DOCS_URL-7 = http://download.oracle.com/javase/7/docs/index.html
   117 DEV_DOCS_URL-8 = http://download.oracle.com/javase/8/docs/index.html
   118 DEV_DOCS_URL = $(DEV_DOCS_URL-$(JDK_MINOR_VERSION))
   119 DOCS_BASE_URL = http://download.oracle.com/javase/7/docs
   121 # Common Java trademark line
   122 JAVA_TRADEMARK_LINE = Java is a trademark or registered trademark of \
   123 $(FULL_COMPANY_NAME) in the US and other countries.
   125 #################################################################
   126 # Macros:
   129 # List of all possible directories for javadoc to look for sources
   130 # NOTE: Quotes are required around sourcepath argument only on Windows.
   131 # Otherwise, you get "No packages or classes specified." due
   132 # to $(PATH_SEP) being interpreted as an end of
   133 # command (newline or shell ; character)
   134 ALL_SOURCE_DIRS = $(JDK_SHARE_CLASSES) \
   135     $(JDK_IMPSRC) \
   136     $(JDK_GENSRC) \
   137     $(JDK_OUTPUTDIR)/gendocsrc_rmic \
   138     $(JDK_TOPDIR)/src/solaris/classes \
   139     $(JDK_TOPDIR)/src/windows/classes \
   140     $(JDK_SHARE_SRC)/doc/stub
   142 # List of directories that actually exist
   143 ALL_EXISTING_SOURCE_DIRS := $(wildcard $(ALL_SOURCE_DIRS))
   145 # List with classpath separator between them
   146 EMPTY:=
   147 SPACE:= $(EMPTY) $(EMPTY)
   148 RELEASEDOCS_SOURCEPATH = \
   149     $(subst $(SPACE),$(PATH_SEP),$(strip $(ALL_SOURCE_DIRS)))
   151 define prep-target
   152 	$(MKDIR) -p $(@D)
   153 	$(RM) $@
   154 endef
   156 # Prep for javadoc creation, assumes $@ is an index.html file
   157 define prep-javadoc
   158 	@if [ -f "$@" -a "$?" != "" ] ; then \
   159 	  $(ECHO) "# Dependencies have changed: $?"; \
   160 	fi
   161 	$(RM) -r $(@D)
   162 	$(MKDIR) -p $(@D)
   163 endef
   165 # A cache of the directories in ALL_SOURCE_DIRS
   166 DIRECTORY_CACHE = $(DOCSTMPDIR)/directory.cache
   168 # Given a list of packages, return a list of files or dirs to be dependent on
   169 # (Currently only returning a list of directories)
   170 define PackageDependencies # packages
   171   $(shell \
   172       if [ "$1" != "" -a -f $(DIRECTORY_CACHE) ] ; then \
   173         for p in $1 ; do \
   174           pd=`$(ECHO) $${p} | $(SED) -e 's@[.]@/@g'`; \
   175           $(CAT) $(DIRECTORY_CACHE) | $(GREP) "/$${pd}/" ; \
   176         done; \
   177       fi \
   178   )
   179 endef
   181 # Given a list of packages, add packages that exist to $@, print summary
   182 define PackageFilter # packages
   183 	@if [ "$1" != "" ] ; then \
   184 	  for p in $1 ; do \
   185 	    pd=`$(ECHO) $${p} | $(SED) -e 's@[.]@/@g'`; \
   186 	    found="false"; \
   187 	    for cp in $(ALL_SOURCE_DIRS) ; do \
   188 	      if [ -d $${cp}/$${pd} ] ; then \
   189 	        $(ECHO) "$${p}" >> $@; \
   190 	        found="true"; \
   191 	        break; \
   192 	      fi; \
   193 	    done; \
   194 	    if [ "$${found}" = "false" ] ; then \
   195 	      $(ECHO) "WARNING: Package not found: $${p}"; \
   196 	    fi; \
   197 	  done; \
   198 	fi
   199 endef
   201 # Print out a summary of the javadoc command about to be run
   202 define JavadocSummary # optionsfile packagesfile
   203 	@$(ECHO) "# Summary for $@"; \
   204 	$(ECHO) "# Options (`$(BASENAME) $1`):"; $(SED) -e 's@^@#   @' $1; \
   205 	$(ECHO) "# Packages (`$(BASENAME) $2`):";$(SED) -e 's@^@#   @' $2
   206 endef
   208 #
   209 # Temporary directory for javadoc creation
   210 #
   211 DOCSTMPDIR = $(TEMPDIR)/doctmp
   213 #
   214 # Different api directories created from root directory
   215 #
   216 COREAPI_DOCSDIR = $(DOCSDIR)/api
   217 JDK_API_DOCSDIR = $(DOCSDIR)/jdk/api
   218 JRE_API_DOCSDIR = $(DOCSDIR)/jre/api
   219 PLATFORM_DOCSDIR = $(DOCSDIR)/platform
   221 # The non-core api javadocs need to be able to access the root of the core
   222 # api directory, so for jdk/api or jre/api to get to the core api/
   223 # directory we would use this:
   224 JDKJRE2COREAPI = ../../api
   226 # Common bottom argument
   227 define CommonBottom # year
   228 <font size="-1"><br> $(call CopyrightLine,,$1,)</font>
   229 endef
   231 # Common trademark bottom argument (Not sure why this is used sometimes)
   232 define CommonTrademarkBottom # year
   233 <font size="-1">\
   234 $(BUG_SUBMIT_LINE)<br>$(JAVA_TRADEMARK_LINE)<br>\
   235 $(call CopyrightLine,,$1,$(COMPANY_ADDRESS))\
   236 </font>
   237 endef
   239 # Common echo of option
   240 define OptionOnly # opt
   241 	$(PRINTF) "%s\n" "$1"
   242 endef
   243 define OptionPair # opt arg
   244 	$(PRINTF) "%s '%s'\n" "$1" '$2'
   245 endef
   246 define OptionTrip # opt arg arg
   247 	$(PRINTF) "%s '%s' '%s'\n" "$1" '$2' '$3'
   248 endef
   250 # Core api bottom argument (with special sauce)
   251 COREAPI_BOTTOM = <font size="-1"> $(BUG_SUBMIT_LINE)\
   252 <br>For further API reference and developer documentation, \
   253 see <a href="$(DEV_DOCS_URL)" target="_blank">Java SE Documentation</a>. \
   254 That documentation contains more detailed, developer-targeted descriptions, \
   255 with conceptual overviews, definitions of terms, workarounds, \
   256 and working code examples.<br>\
   257 $(call CopyrightLine,$(COPYRIGHT_URL),$(FIRST_COPYRIGHT_YEAR),)\
   258 </font>
   260 # Common javadoc options used by all
   261 COMMON_JAVADOCFLAGS = \
   262     -XDignore.symbol.file=true \
   263     -quiet \
   264     -use \
   265     -keywords \
   266     -Xdoclint:none \
   267     -Xprofilespath $(JDK_TOPDIR)/make/profile-rtjar-includes.txt \
   268     $(ADDITIONAL_JAVADOCFLAGS)
   270 ifdef OPENJDK
   271   ADDITIONAL_JAVADOCFLAGS = \
   272       -Xdocrootparent $(DOCS_BASE_URL)
   273 else
   274   ADDITIONAL_JAVADOCFLAGS =
   275 endif
   277 # Draft used for non-fcs documents
   278 DRAFT_HEADER =
   279 ifneq ($(MILESTONE), fcs)
   280   DRAFT_HEADER = <br><strong>DRAFT&nbsp;$(MILESTONE)-$(BUILD_NUMBER)</strong>
   281   DRAFT_BOTTOM = <br><strong>DRAFT&nbsp;$(MILESTONE)-$(BUILD_NUMBER)</strong>
   282   DRAFT_WINTITLE = $(BUILD_NUMBER)
   283   # Early access top text (not used in FCS releases)
   284   COREAPI_TOP_EARLYACCESS = \
   285 <div style="background-color: \#EEEEEE"> \
   286 <div style="padding: 6px; margin-top: 2px; margin-bottom: 6px; \
   287 margin-left: 6px; margin-right: 6px; text-align: justify; \
   288 font-size: 80%; font-family: Helvetica, Arial, sans-serif; \
   289 font-weight: normal;"> \
   290 Please note that the specifications and other information \
   291 contained herein are not final and are subject to change. \
   292 The information is being made available to you solely for purpose of \
   293 evaluation. \
   294 </div> </div>
   296 endif
   298 #################################################################
   300 #
   301 # CORE_PKGS environment variable has been moved to the following file
   302 #
   303 include CORE_PKGS.gmk
   305 #
   306 # Load environment variables for API package names that are not part of
   307 # the Java SE platform
   308 #
   309 include NON_CORE_PKGS.gmk
   311 #################################################################
   313 #
   314 # Default target is same as docs target, create core api and all others it can
   315 #
   317 all: docs
   318 docs: coredocs otherdocs
   320 #################################################################
   321 # Production Targets -- USE THESE TARGETS WHEN:
   322 # a) You're generating docs outside of release engineering's
   323 #    standard control build.
   324 # b) The docs will be pushed to the web and/or included in
   325 #    the downloaded doc bundle.
   326 #
   327 # See: Notes.html#releaseTargets
   328 # Note: Spaces precede ifdef/ifndef indents. Tabs precede target commands (!)
   329 #
   331 sanitycheckcoredocs:
   332 	@$(ECHO) ""
   333 	@$(ECHO) "Building core api docs with these values:"
   334 	@$(ECHO) "    BUILD_NUMBER = $(BUILD_NUMBER)"
   335 	@$(ECHO) "    MILESTONE = $(MILESTONE)"
   336 	@$(ECHO) ""
   337         ifeq ($(BUILD_NUMBER), b00)
   338 	  @$(ECHO) "ERROR: Build number must be defined"
   339 	  @$(ECHO) "MILESTONE is set to $(MILESTONE)"
   340 	  @$(ECHO) ""
   341 	  exit 1
   342         endif
   344 #############################################################
   345 #
   346 # coredocs
   347 #
   348 COREAPI_DOCTITLE = Java$(TRADEMARK) Platform, Standard Edition \
   349 $(JDK_MINOR_VERSION)<br>API Specification
   350 COREAPI_WINDOWTITLE = Java Platform SE $(JDK_MINOR_VERSION)
   351 COREAPI_HEADER = \
   352 <strong>Java$(TRADEMARK)&nbsp;Platform<br>Standard&nbsp;Ed.&nbsp;$(JDK_MINOR_VERSION)</strong>
   354 # Java language specification cite
   355 TAG_JLS = jls:a:See <cite> \
   356 The Java&trade; Language Specification</cite>:
   358 # Overview file for core apis
   359 COREAPI_OVERVIEW = $(JDK_SHARE_CLASSES)/overview-core.html
   361 # The index.html, options, and packages files
   362 COREAPI_INDEX_FILE = $(COREAPI_DOCSDIR)/index.html
   363 COREAPI_OPTIONS_FILE = $(DOCSTMPDIR)/coredocs.options
   364 COREAPI_PACKAGES_FILE = $(DOCSTMPDIR)/coredocs.packages
   366 coredocs: $(COREAPI_INDEX_FILE)
   368 # Set relative location to core api document root
   369 $(COREAPI_INDEX_FILE): GET2DOCSDIR=..
   371 # Run javadoc if the index file is out of date or missing
   372 $(COREAPI_INDEX_FILE): $(COREAPI_OPTIONS_FILE) $(COREAPI_PACKAGES_FILE)
   373 	$(prep-javadoc)
   374 	$(call JavadocSummary,$(COREAPI_OPTIONS_FILE),$(COREAPI_PACKAGES_FILE))
   375 	$(JAVADOC_CMD) -d $(@D) \
   376 	    @$(COREAPI_OPTIONS_FILE) @$(COREAPI_PACKAGES_FILE)
   378 # Create file with javadoc options in it
   379 $(COREAPI_OPTIONS_FILE): $(COREAPI_OVERVIEW)
   380 	$(prep-target)
   381 	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
   382 	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
   383 	  $(call OptionPair,-encoding,ISO-8859-1) ; \
   384 	  $(call OptionPair,-tag,beaninfo:X) ; \
   385 	  $(call OptionPair,-tag,revised:X) ; \
   386 	  $(call OptionPair,-tag,since.unbundled:X) ; \
   387 	  $(call OptionPair,-tag,spec:X) ; \
   388 	  $(call OptionPair,-tag,specdefault:X) ; \
   389 	  $(call OptionPair,-tag,Note:X) ; \
   390 	  $(call OptionPair,-tag,ToDo:X) ; \
   391 	  $(call OptionPair,-tag,apiNote:a:API Note:) ; \
   392 	  $(call OptionPair,-tag,implSpec:a:Implementation Requirements:) ; \
   393 	  $(call OptionPair,-tag,implNote:a:Implementation Note:) ; \
   394 	  $(call OptionPair,-tag,param) ; \
   395 	  $(call OptionPair,-tag,return) ; \
   396 	  $(call OptionPair,-tag,throws) ; \
   397 	  $(call OptionPair,-tag,since) ; \
   398 	  $(call OptionPair,-tag,version) ; \
   399 	  $(call OptionPair,-tag,serialData) ; \
   400 	  $(call OptionPair,-tag,factory) ; \
   401 	  $(call OptionPair,-tag,see) ; \
   402 	  $(call OptionPair,-tag,$(TAG_JLS)) ; \
   403 	  $(call OptionOnly,-splitIndex) ; \
   404 	  $(call OptionPair,-overview,$(COREAPI_OVERVIEW)) ; \
   405 	  $(call OptionPair,-doctitle,$(COREAPI_DOCTITLE)) ; \
   406 	  $(call OptionPair,-windowtitle,$(COREAPI_WINDOWTITLE) $(DRAFT_WINTITLE)) ; \
   407 	  $(call OptionPair,-header,$(COREAPI_HEADER)$(DRAFT_HEADER)) ; \
   408 	  $(call OptionPair,-bottom,$(COREAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
   409 	) >> $@
   410         ifdef COREAPI_TOP_EARLYACCESS
   411 	  @$(call OptionPair,-top,$(COREAPI_TOP_EARLYACCESS)) >> $@
   412         endif
   414 # Create a file with the package names in it
   415 $(COREAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(CORE_PKGS))
   416 	$(prep-target)
   417 	$(call PackageFilter,$(CORE_PKGS))
   419 #############################################################
   420 #
   421 # docletapidocs
   422 #
   424 ALL_OTHER_TARGETS += docletapidocs
   426 DOCLETAPI_DOCDIR := $(JDK_API_DOCSDIR)/javadoc/doclet
   427 DOCLETAPI2COREAPI := ../../$(JDKJRE2COREAPI)
   428 DOCLETAPI_DOCTITLE := Doclet API
   429 DOCLETAPI_WINDOWTITLE := Doclet API
   430 DOCLETAPI_HEADER := <strong>Doclet API</strong>
   431 DOCLETAPI_BOTTOM := $(call CommonTrademarkBottom,$(DOCLETAPI_FIRST_COPYRIGHT_YEAR))
   432 DOCLETAPI_GROUPNAME := Packages
   433 DOCLETAPI_REGEXP := com.sun.javadoc
   434 # DOCLETAPI_PKGS is located in NON_CORE_PKGS.gmk
   436 # The index.html, options, and packages files
   437 DOCLETAPI_INDEX_FILE = $(DOCLETAPI_DOCDIR)/index.html
   438 DOCLETAPI_OPTIONS_FILE = $(DOCSTMPDIR)/docletapi.options
   439 DOCLETAPI_PACKAGES_FILE = $(DOCSTMPDIR)/docletapi.packages
   441 docletapidocs: $(DOCLETAPI_INDEX_FILE)
   443 # Set relative location to core api document root
   444 $(DOCLETAPI_INDEX_FILE): GET2DOCSDIR=$(DOCLETAPI2COREAPI)/..
   446 # Run javadoc if the index file is out of date or missing
   447 $(DOCLETAPI_INDEX_FILE): $(DOCLETAPI_OPTIONS_FILE) $(DOCLETAPI_PACKAGES_FILE) coredocs
   448 	$(prep-javadoc)
   449 	$(call JavadocSummary,$(DOCLETAPI_OPTIONS_FILE),$(DOCLETAPI_PACKAGES_FILE))
   450 	$(JAVADOC_CMD) -d $(@D) \
   451 	    @$(DOCLETAPI_OPTIONS_FILE) @$(DOCLETAPI_PACKAGES_FILE)
   453 # Create file with javadoc options in it
   454 $(DOCLETAPI_OPTIONS_FILE):
   455 	$(prep-target)
   456 	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
   457 	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
   458 	  $(call OptionPair,-encoding,ascii) ; \
   459 	  $(call OptionOnly,-breakiterator) ; \
   460 	  $(call OptionPair,-doctitle,$(DOCLETAPI_DOCTITLE)) ; \
   461 	  $(call OptionPair,-windowtitle,$(DOCLETAPI_WINDOWTITLE) $(DRAFT_WINTITLE)); \
   462 	  $(call OptionPair,-header,$(DOCLETAPI_HEADER)$(DRAFT_HEADER)) ; \
   463 	  $(call OptionPair,-bottom,$(DOCLETAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
   464 	  $(call OptionTrip,-group,$(DOCLETAPI_GROUPNAME),$(DOCLETAPI_REGEXP)); \
   465 	  $(call OptionTrip,-linkoffline,$(DOCLETAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
   466 	) >> $@
   468 # Create a file with the package names in it
   469 $(DOCLETAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(DOCLETAPI_PKGS))
   470 	$(prep-target)
   471 	$(call PackageFilter,$(DOCLETAPI_PKGS))
   473 #############################################################
   474 #
   475 # tagletapidocs
   476 #
   478 ALL_OTHER_TARGETS += tagletapidocs
   479 TAGLETAPI_DOCDIR := $(JDK_API_DOCSDIR)/javadoc/taglet
   480 TAGLETAPI2COREAPI := ../../$(JDKJRE2COREAPI)
   481 TAGLETAPI_BOTTOM := $(call CommonTrademarkBottom,$(TAGLETAPI_FIRST_COPYRIGHT_YEAR))
   482 # TAGLETAPI_FILE is located in NON_CORE_PKGS.gmk
   484 # Temporary directory (special generation rules)
   485 TAGLETAPI_TEMPDIR = $(DOCSTMPDIR)/taglets_temp
   487 # The index.html, options, and packages files
   488 TAGLETAPI_INDEX_FILE = $(TAGLETAPI_DOCDIR)/index.html
   489 TAGLETAPI_OPTIONS_FILE = $(DOCSTMPDIR)/tagletapi.options
   490 TAGLETAPI_PACKAGES_FILE = $(DOCSTMPDIR)/tagletapi.packages
   492 tagletapidocs: $(TAGLETAPI_INDEX_FILE)
   494 # Set relative location to core api document root
   495 $(TAGLETAPI_INDEX_FILE): GET2DOCSDIR=$(TAGLETAPI2COREAPI)/..
   497 # Run javadoc if the index file is out of date or missing
   498 $(TAGLETAPI_INDEX_FILE): $(TAGLETAPI_OPTIONS_FILE) $(TAGLETAPI_PACKAGES_FILE) coredocs
   499 	$(prep-javadoc)
   500 	$(RM) -r $(TAGLETAPI_TEMPDIR)
   501 	$(MKDIR) -p $(TAGLETAPI_TEMPDIR)
   502 	$(call JavadocSummary,$(TAGLETAPI_OPTIONS_FILE),$(TAGLETAPI_PACKAGES_FILE))
   503 	$(JAVADOC_CMD) -d $(TAGLETAPI_TEMPDIR) \
   504 	    @$(TAGLETAPI_OPTIONS_FILE) @$(TAGLETAPI_PACKAGES_FILE)
   505 	cp -r $(TAGLETAPI_TEMPDIR)/com $(@D)
   506 	cp $(TAGLETAPI_TEMPDIR)/stylesheet.css $(@D)
   507 	$(RM) -r $(TAGLETAPI_TEMPDIR)
   509 # Create file with javadoc options in it
   510 $(TAGLETAPI_OPTIONS_FILE):
   511 	$(prep-target)
   512 	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
   513 	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
   514 	  $(call OptionPair,-encoding,ascii) ; \
   515 	  $(call OptionOnly,-nonavbar) ; \
   516 	  $(call OptionOnly,-noindex) ; \
   517 	  $(call OptionPair,-bottom,$(TAGLETAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
   518 	  $(call OptionTrip,-linkoffline,$(TAGLETAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
   519 	) >> $@
   521 # Create a file with the package names in it
   522 $(TAGLETAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(TAGLETAPI_PKGS))
   523 	$(prep-target)
   524 	@($(ECHO) "$(JDK_IMPSRC)/$(TAGLETAPI_FILE)" ) > $@
   526 #############################################################
   527 #
   528 # domapidocs
   529 #
   531 ALL_OTHER_TARGETS += domapidocs
   533 DOMAPI_DOCDIR := $(JRE_API_DOCSDIR)/plugin/dom
   534 DOMAPI2COREAPI := ../../$(JDKJRE2COREAPI)
   535 DOMAPI_DOCTITLE := Common DOM API
   536 DOMAPI_WINDOWTITLE := Common DOM API
   537 DOMAPI_HEADER := <strong>Common DOM API</strong>
   538 DOMAPI_BOTTOM := $(call CommonTrademarkBottom,$(DOMAPI_FIRST_COPYRIGHT_YEAR))
   539 DOMAPI_GROUPNAME := Packages
   540 DOMAPI_REGEXP := com.sun.java.browser.dom:org.w3c.dom*
   541 # DOMAPI_PKGS is located in NON_CORE_PKGS.gmk
   543 # The index.html, options, and packages files
   544 DOMAPI_INDEX_FILE = $(DOMAPI_DOCDIR)/index.html
   545 DOMAPI_OPTIONS_FILE = $(DOCSTMPDIR)/domapi.options
   546 DOMAPI_PACKAGES_FILE = $(DOCSTMPDIR)/domapi.packages
   548 domapidocs: $(DOMAPI_INDEX_FILE)
   550 # Set relative location to core api document root
   551 $(DOMAPI_INDEX_FILE): GET2DOCSDIR=$(DOMAPI2COREAPI)/..
   553 # Run javadoc if the index file is out of date or missing
   554 $(DOMAPI_INDEX_FILE): $(DOMAPI_OPTIONS_FILE) $(DOMAPI_PACKAGES_FILE) coredocs
   555 	$(prep-javadoc)
   556 	$(call JavadocSummary,$(DOMAPI_OPTIONS_FILE),$(DOMAPI_PACKAGES_FILE))
   557 	$(JAVADOC_CMD) -d $(@D) \
   558 	    @$(DOMAPI_OPTIONS_FILE) @$(DOMAPI_PACKAGES_FILE)
   560 # Create file with javadoc options in it
   561 $(DOMAPI_OPTIONS_FILE):
   562 	$(prep-target)
   563 	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
   564 	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
   565 	  $(call OptionPair,-encoding,ascii) ; \
   566 	  $(call OptionOnly,-splitIndex) ; \
   567 	  $(call OptionPair,-doctitle,$(DOMAPI_DOCTITLE)) ; \
   568 	  $(call OptionPair,-windowtitle,$(DOMAPI_WINDOWTITLE) $(DRAFT_WINTITLE)); \
   569 	  $(call OptionPair,-header,$(DOMAPI_HEADER)$(DRAFT_HEADER)) ; \
   570 	  $(call OptionPair,-bottom,$(DOMAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
   571 	  $(call OptionTrip,-group,$(DOMAPI_GROUPNAME),$(DOMAPI_REGEXP)); \
   572 	  $(call OptionTrip,-linkoffline,$(DOMAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
   573 	) >> $@
   575 # Create a file with the package names in it
   576 $(DOMAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(DOMAPI_PKGS))
   577 	$(prep-target)
   578 	$(call PackageFilter,$(DOMAPI_PKGS))
   580 #############################################################
   581 #
   582 # jpdadocs
   583 #
   585 ALL_OTHER_TARGETS += jpdadocs
   587 jpdadocs: jdidocs jdwpdocs jvmtidocs
   589 #############################################################
   590 #
   591 # jdidocs
   592 #
   594 ALL_OTHER_TARGETS += jdidocs
   596 JDI_DOCDIR := $(JDK_API_DOCSDIR)/jpda/jdi
   597 JDI2COREAPI := ../../$(JDKJRE2COREAPI)
   598 JDI_DOCTITLE := Java$(TRADEMARK) Debug Interface
   599 JDI_WINDOWTITLE := Java Debug Interface
   600 JDI_HEADER := <strong>Java Debug Interface</strong>
   601 JDI_BOTTOM := $(call CommonBottom,$(JDI_FIRST_COPYRIGHT_YEAR))
   602 JDI_OVERVIEW := $(JDK_SHARE_CLASSES)/jdi-overview.html
   603 # JDI_PKGS is located in NON_CORE_PKGS.gmk
   605 # The index.html, options, and packages files
   606 JDI_INDEX_FILE = $(JDI_DOCDIR)/index.html
   607 JDI_OPTIONS_FILE = $(DOCSTMPDIR)/jdi.options
   608 JDI_PACKAGES_FILE = $(DOCSTMPDIR)/jdi.packages
   610 jdidocs: $(JDI_INDEX_FILE)
   612 # Set relative location to core api document root
   613 $(JDI_INDEX_FILE): GET2DOCSDIR=$(JDI2COREAPI)/..
   615 # Run javadoc if the index file is out of date or missing
   616 $(JDI_INDEX_FILE): $(JDI_OPTIONS_FILE) $(JDI_PACKAGES_FILE) coredocs
   617 	$(prep-javadoc)
   618 	$(call JavadocSummary,$(JDI_OPTIONS_FILE),$(JDI_PACKAGES_FILE))
   619 	$(JAVADOC_CMD) -d $(@D) \
   620 	    @$(JDI_OPTIONS_FILE) @$(JDI_PACKAGES_FILE)
   622 # Create file with javadoc options in it
   623 $(JDI_OPTIONS_FILE): $(JDI_OVERVIEW)
   624 	$(prep-target)
   625 	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
   626 	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
   627 	  $(call OptionPair,-encoding,ascii) ; \
   628 	  $(call OptionPair,-overview,$(JDI_OVERVIEW)) ; \
   629 	  $(call OptionPair,-doctitle,$(JDI_DOCTITLE)) ; \
   630 	  $(call OptionPair,-windowtitle,$(JDI_WINDOWTITLE) $(DRAFT_WINTITLE)); \
   631 	  $(call OptionPair,-header,$(JDI_HEADER)$(DRAFT_HEADER)) ; \
   632 	  $(call OptionPair,-bottom,$(JDI_BOTTOM)$(DRAFT_BOTTOM)) ; \
   633 	  $(call OptionTrip,-linkoffline,$(JDI2COREAPI),$(COREAPI_DOCSDIR)/); \
   634 	) >> $@
   636 # Create a file with the package names in it
   637 $(JDI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JDI_PKGS))
   638 	$(prep-target)
   639 	$(call PackageFilter,$(JDI_PKGS))
   641 #############################################################
   642 #
   643 # jdwpdocs
   644 #
   646 ALL_OTHER_TARGETS += jdwpdocs
   648 JDWP_DOCDIR = $(PLATFORM_DOCSDIR)/jpda/jdwp
   650 jdwpdocs: $(JDWP_DOCDIR)/jdwp-protocol.html
   651 $(JDWP_DOCDIR)/jdwp-protocol.html : $(JDK_OUTPUTDIR)/gensrc_jdwp_doc/jdwp-protocol.html
   652 	$(MKDIR) -p $(@D)
   653 	$(RM) $@
   654 	$(CP) $< $@
   656 #############################################################
   657 #
   658 # jvmtidocs
   659 #
   661 ALL_OTHER_TARGETS += jvmtidocs
   663 JVMTI_DOCDIR = $(PLATFORM_DOCSDIR)/jvmti
   664 JVMTI_HTML = $(HOTSPOT_DIST)/docs/platform/jvmti/jvmti.html
   666 jvmtidocs: $(JVMTI_DOCDIR)/jvmti.html
   667 $(JVMTI_DOCDIR)/jvmti.html:
   668 	@$(prep-javadoc)
   669 	@if [ -f $(JVMTI_HTML) ] ; then \
   670 	  $(ECHO) "$(CP) $(JVMTI_HTML) $@"; \
   671 	  $(CP) $(JVMTI_HTML) $@; \
   672 	else \
   673 	  $(ECHO) "WARNING: Generated file does not exist: $(JVMTI_HTML)"; \
   674 	fi
   676 #############################################################
   677 #
   678 # jaasdocs
   679 #
   681 ALL_OTHER_TARGETS += jaasdocs
   683 JAAS_DOCDIR := $(JRE_API_DOCSDIR)/security/jaas/spec
   684 JAAS2COREAPI := ../../../$(JDKJRE2COREAPI)
   685 JAAS_DOCTITLE := Java$(TRADEMARK) Authentication and Authorization Service
   686 JAAS_WINDOWTITLE := Java Authentication and Authorization Service
   687 JAAS_HEADER := <strong>Java Authentication and Authorization Service</strong>
   688 JAAS_BOTTOM := $(call CommonBottom,$(JAAS_FIRST_COPYRIGHT_YEAR))
   689 # JAAS_PKGS is located in NON_CORE_PKGS.gmk
   690 JAAS_OVERVIEW := $(JDK_SHARE_CLASSES)/com/sun/security/auth/jaas-overview.html
   692 # The index.html, options, and packages files
   693 JAAS_INDEX_FILE = $(JAAS_DOCDIR)/index.html
   694 JAAS_OPTIONS_FILE = $(DOCSTMPDIR)/jaas.options
   695 JAAS_PACKAGES_FILE = $(DOCSTMPDIR)/jaas.packages
   697 jaasdocs: $(JAAS_INDEX_FILE)
   699 # Set relative location to core api document root
   700 $(JAAS_INDEX_FILE): GET2DOCSDIR=$(JAAS2COREAPI)/..
   702 # Run javadoc if the index file is out of date or missing
   703 $(JAAS_INDEX_FILE): $(JAAS_OPTIONS_FILE) $(JAAS_PACKAGES_FILE) coredocs
   704 	$(prep-javadoc)
   705 	$(call JavadocSummary,$(JAAS_OPTIONS_FILE),$(JAAS_PACKAGES_FILE))
   706 	$(JAVADOC_CMD) -d $(@D) \
   707 	    @$(JAAS_OPTIONS_FILE) @$(JAAS_PACKAGES_FILE)
   709 # Create file with javadoc options in it
   710 $(JAAS_OPTIONS_FILE): $(JAAS_OVERVIEW)
   711 	$(prep-target)
   712 	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
   713 	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
   714 	  $(call OptionPair,-encoding,ascii) ; \
   715 	  $(call OptionPair,-overview,$(JAAS_OVERVIEW)) ; \
   716 	  $(call OptionPair,-doctitle,$(JAAS_DOCTITLE)) ; \
   717 	  $(call OptionPair,-windowtitle,$(JAAS_WINDOWTITLE) $(DRAFT_WINTITLE)); \
   718 	  $(call OptionPair,-header,$(JAAS_HEADER)$(DRAFT_HEADER)) ; \
   719 	  $(call OptionPair,-bottom,$(JAAS_BOTTOM)$(DRAFT_BOTTOM)) ; \
   720 	  $(call OptionTrip,-linkoffline,$(JAAS2COREAPI),$(COREAPI_DOCSDIR)/); \
   721 	) >> $@
   723 # Create a file with the package names in it
   724 $(JAAS_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JAAS_PKGS))
   725 	$(prep-target)
   726 	$(call PackageFilter,$(JAAS_PKGS))
   728 #############################################################
   729 #
   730 # jgssdocs
   731 #
   733 ALL_OTHER_TARGETS += jgssdocs
   735 JGSS_DOCDIR := $(JRE_API_DOCSDIR)/security/jgss/spec
   736 JGSS2COREAPI := ../../../$(JDKJRE2COREAPI)
   737 JGSS_DOCTITLE := Java$(TRADEMARK) GSS-API Utilities
   738 JGSS_WINDOWTITLE := Java GSS-API Utilities
   739 JGSS_HEADER := <strong>Java GSS-API Utilities</strong>
   740 JGSS_BOTTOM := $(call CommonBottom,$(JGSS_FIRST_COPYRIGHT_YEAR))
   741 JGSS_OVERVIEW := $(JDK_SHARE_CLASSES)/com/sun/security/jgss/jgss-overview.html
   742 # JGSS_PKGS is located in NON_CORE_PKGS.gmk
   744 # The index.html, options, and packages files
   745 JGSS_INDEX_FILE = $(JGSS_DOCDIR)/index.html
   746 JGSS_OPTIONS_FILE = $(DOCSTMPDIR)/jgss.options
   747 JGSS_PACKAGES_FILE = $(DOCSTMPDIR)/jgss.packages
   749 jgssdocs: $(JGSS_INDEX_FILE)
   751 # Set relative location to core api document root
   752 $(JGSS_INDEX_FILE): GET2DOCSDIR=$(JGSS2COREAPI)/..
   754 # Run javadoc if the index file is out of date or missing
   755 $(JGSS_INDEX_FILE): $(JGSS_OPTIONS_FILE) $(JGSS_PACKAGES_FILE) coredocs
   756 	$(prep-javadoc)
   757 	$(call JavadocSummary,$(JGSS_OPTIONS_FILE),$(JGSS_PACKAGES_FILE))
   758 	$(JAVADOC_CMD) -d $(@D) \
   759 	    @$(JGSS_OPTIONS_FILE) @$(JGSS_PACKAGES_FILE)
   761 # Create file with javadoc options in it
   762 $(JGSS_OPTIONS_FILE): $(JGSS_OVERVIEW)
   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,-overview,$(JGSS_OVERVIEW)) ; \
   769 	  $(call OptionPair,-doctitle,$(JGSS_DOCTITLE)) ; \
   770 	  $(call OptionPair,-windowtitle,$(JGSS_WINDOWTITLE) $(DRAFT_WINTITLE)); \
   771 	  $(call OptionPair,-header,$(JGSS_HEADER)$(DRAFT_HEADER)) ; \
   772 	  $(call OptionPair,-bottom,$(JGSS_BOTTOM)$(DRAFT_BOTTOM)) ; \
   773 	  $(call OptionTrip,-linkoffline,$(JGSS2COREAPI),$(COREAPI_DOCSDIR)/); \
   774 	) >> $@
   776 # Create a file with the package names in it
   777 $(JGSS_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JGSS_PKGS))
   778 	$(prep-target)
   779 	$(call PackageFilter,$(JGSS_PKGS))
   781 #############################################################
   782 #
   783 # smartcardiodocs
   784 #
   786 ALL_OTHER_TARGETS += smartcardiodocs
   788 SMARTCARDIO_DOCDIR := $(JRE_API_DOCSDIR)/security/smartcardio/spec
   789 SMARTCARDIO2COREAPI := ../../../$(JDKJRE2COREAPI)
   790 SMARTCARDIO_DOCTITLE := Java$(TRADEMARK) Smart Card I/O
   791 SMARTCARDIO_WINDOWTITLE := Java Smart Card I/O
   792 SMARTCARDIO_HEADER := <strong>Java Smart Card I/O</strong>
   793 SMARTCARDIO_BOTTOM := $(call CommonBottom,$(SMARTCARDIO_FIRST_COPYRIGHT_YEAR))
   794 # SMARTCARDIO_PKGS is located in NON_CORE_PKGS.gmk
   796 # The index.html, options, and packages files
   797 SMARTCARDIO_INDEX_FILE = $(SMARTCARDIO_DOCDIR)/index.html
   798 SMARTCARDIO_OPTIONS_FILE = $(DOCSTMPDIR)/smartcardio.options
   799 SMARTCARDIO_PACKAGES_FILE = $(DOCSTMPDIR)/smartcardio.packages
   801 smartcardiodocs: $(SMARTCARDIO_INDEX_FILE)
   803 # Set relative location to core api document root
   804 $(SMARTCARDIO_INDEX_FILE): GET2DOCSDIR=$(SMARTCARDIO2COREAPI)/..
   806 # Run javadoc if the index file is out of date or missing
   807 $(SMARTCARDIO_INDEX_FILE): $(SMARTCARDIO_OPTIONS_FILE) $(SMARTCARDIO_PACKAGES_FILE) coredocs
   808 	$(prep-javadoc)
   809 	$(call JavadocSummary,$(SMARTCARDIO_OPTIONS_FILE),$(SMARTCARDIO_PACKAGES_FILE))
   810 	$(JAVADOC_CMD) -d $(@D) \
   811 	    @$(SMARTCARDIO_OPTIONS_FILE) @$(SMARTCARDIO_PACKAGES_FILE)
   813 # Create file with javadoc options in it
   814 $(SMARTCARDIO_OPTIONS_FILE):
   815 	$(prep-target)
   816 	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
   817 	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
   818 	  $(call OptionPair,-encoding,ascii) ; \
   819 	  $(call OptionOnly,-nodeprecatedlist) ; \
   820 	  $(call OptionPair,-doctitle,$(SMARTCARDIO_DOCTITLE)) ; \
   821 	  $(call OptionPair,-windowtitle,$(SMARTCARDIO_WINDOWTITLE) $(DRAFT_WINTITLE)); \
   822 	  $(call OptionPair,-header,$(SMARTCARDIO_HEADER)$(DRAFT_HEADER)); \
   823 	  $(call OptionPair,-bottom,$(SMARTCARDIO_BOTTOM)$(DRAFT_BOTTOM)); \
   824 	  $(call OptionTrip,-linkoffline,$(SMARTCARDIO2COREAPI),$(COREAPI_DOCSDIR)/); \
   825 	) >> $@
   827 # Create a file with the package names in it
   828 $(SMARTCARDIO_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(SMARTCARDIO_PKGS))
   829 	$(prep-target)
   830 	$(call PackageFilter,$(SMARTCARDIO_PKGS))
   832 #############################################################
   833 #
   834 # httpserverdocs
   835 #
   837 ALL_OTHER_TARGETS += httpserverdocs
   839 HTTPSERVER_DOCDIR := $(JRE_API_DOCSDIR)/net/httpserver/spec
   840 HTTPSERVER2COREAPI := ../../../$(JDKJRE2COREAPI)
   841 HTTPSERVER_DOCTITLE := Java$(TRADEMARK) HTTP Server
   842 HTTPSERVER_WINDOWTITLE := Java HTTP Server
   843 HTTPSERVER_HEADER := <strong>Java HTTP Server</strong>
   844 HTTPSERVER_BOTTOM := $(call CommonBottom,$(HTTPSERVER_FIRST_COPYRIGHT_YEAR))
   845 # HTTPSERVER_PKGS is located in NON_CORE_PKGS.gmk
   847 HTTPSERVER_INDEX_HTML = $(HTTPSERVER_DOCDIR)/index.html
   848 HTTPSERVER_OPTIONS_FILE = $(DOCSTMPDIR)/httpserver.options
   849 HTTPSERVER_PACKAGES_FILE = $(DOCSTMPDIR)/httpserver.packages
   851 httpserverdocs: $(HTTPSERVER_INDEX_HTML)
   853 # Set relative location to core api document root
   854 $(HTTPSERVER_INDEX_HTML): GET2DOCSDIR=$(HTTPSERVER2COREAPI)/..
   856 # Run javadoc if the index file is out of date or missing
   857 $(HTTPSERVER_INDEX_HTML): $(HTTPSERVER_OPTIONS_FILE) $(HTTPSERVER_PACKAGES_FILE) coredocs
   858 	$(prep-javadoc)
   859 	$(call JavadocSummary,$(HTTPSERVER_OPTIONS_FILE),$(HTTPSERVER_PACKAGES_FILE))
   860 	$(JAVADOC_CMD) -d $(@D) \
   861 	    @$(HTTPSERVER_OPTIONS_FILE) @$(HTTPSERVER_PACKAGES_FILE)
   863 # Create file with javadoc options in it
   864 $(HTTPSERVER_OPTIONS_FILE):
   865 	$(prep-target)
   866 	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
   867 	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
   868 	  $(call OptionPair,-encoding,ascii) ; \
   869 	  $(call OptionOnly,-nodeprecatedlist) ; \
   870 	  $(call OptionPair,-doctitle,$(HTTPSERVER_DOCTITLE)) ; \
   871 	  $(call OptionPair,-windowtitle,$(HTTPSERVER_WINDOWTITLE) $(DRAFT_WINTITLE)); \
   872 	  $(call OptionPair,-header,$(HTTPSERVER_HEADER)$(DRAFT_HEADER)); \
   873 	  $(call OptionPair,-bottom,$(HTTPSERVER_BOTTOM)$(DRAFT_BOTTOM)); \
   874 	  $(call OptionTrip,-linkoffline,$(HTTPSERVER2COREAPI),$(COREAPI_DOCSDIR)/); \
   875 	) >> $@
   877 # Create a file with the package names in it
   878 $(HTTPSERVER_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(HTTPSERVER_PKGS))
   879 	$(prep-target)
   880 	$(call PackageFilter,$(HTTPSERVER_PKGS))
   882 #############################################################
   883 #
   884 # mgmtdocs
   885 #
   887 ALL_OTHER_TARGETS += mgmtdocs
   889 MGMT_DOCDIR := $(JRE_API_DOCSDIR)/management/extension
   890 MGMT2COREAPI := ../../$(JDKJRE2COREAPI)
   891 JVM_MIB_NAME := JVM-MANAGEMENT-MIB.mib
   892 JVM_MIB_SRC := $(JDK_TOPDIR)/src/closed/share/classes/sun/management/snmp/$(JVM_MIB_NAME)
   893 MGMT_DOCTITLE := Monitoring and Management Interface for the Java$(TRADEMARK) Platform
   894 MGMT_WINDOWTITLE := Monitoring and Management Interface for the Java Platform
   895 MGMT_HEADER := <strong>Monitoring and Management Interface for the Java Platform</strong>
   896 MGMT_BOTTOM := $(call CommonBottom,$(MGMT_FIRST_COPYRIGHT_YEAR))
   897 MGMT_OVERVIEW := $(JDK_SHARE_CLASSES)/com/sun/management/mgmt-overview.html
   898 # MGMT_PKGS is located in NON_CORE_PKGS.gmk
   900 # The index.html, options, and packages files
   901 MGMT_INDEX_FILE = $(MGMT_DOCDIR)/index.html
   902 MGMT_OPTIONS_FILE = $(DOCSTMPDIR)/mgmt.options
   903 MGMT_PACKAGES_FILE = $(DOCSTMPDIR)/mgmt.packages
   905 mgmtdocs: $(MGMT_INDEX_FILE)
   907 # Set relative location to core api document root
   908 $(MGMT_INDEX_FILE): GET2DOCSDIR=$(MGMT2COREAPI)/..
   910 # Run javadoc if the index file is out of date or missing
   911 $(MGMT_INDEX_FILE): $(MGMT_OPTIONS_FILE) $(MGMT_PACKAGES_FILE) coredocs
   912 	$(prep-javadoc)
   913 	@if [ -f $(JVM_MIB_SRC) ] ; then \
   914 	  $(ECHO) "$(CP) $(JVM_MIB_SRC) $(@D)/.."; \
   915 	  $(CP) $(JVM_MIB_SRC) $(@D)/.. ; \
   916 	else \
   917 	  $(ECHO) "WARNING: File $(JVM_MIB_NAME) not available."; \
   918 	fi
   919 	$(call JavadocSummary,$(MGMT_OPTIONS_FILE),$(MGMT_PACKAGES_FILE))
   920 	$(JAVADOC_CMD) -d $(@D) \
   921 	    @$(MGMT_OPTIONS_FILE) @$(MGMT_PACKAGES_FILE)
   923 # Create file with javadoc options in it
   924 $(MGMT_OPTIONS_FILE): $(MGMT_OVERVIEW)
   925 	$(prep-target)
   926 	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
   927 	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
   928 	  $(call OptionPair,-encoding,ascii) ; \
   929 	  $(call OptionOnly,-nodeprecatedlist) ; \
   930 	  $(call OptionPair,-overview,$(MGMT_OVERVIEW)) ; \
   931 	  $(call OptionPair,-doctitle,$(MGMT_DOCTITLE)) ; \
   932 	  $(call OptionPair,-windowtitle,$(MGMT_WINDOWTITLE) $(DRAFT_WINTITLE)); \
   933 	  $(call OptionPair,-header,$(MGMT_HEADER)$(DRAFT_HEADER)) ; \
   934 	  $(call OptionPair,-bottom,$(MGMT_BOTTOM)$(DRAFT_BOTTOM)) ; \
   935 	  $(call OptionTrip,-linkoffline,$(MGMT2COREAPI),$(COREAPI_DOCSDIR)/); \
   936 	) >> $@
   938 # Create a file with the package names in it
   939 $(MGMT_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(MGMT_PKGS))
   940 	$(prep-target)
   941 	$(call PackageFilter,$(MGMT_PKGS))
   943 #############################################################
   944 #
   945 # attachdocs
   946 #
   948 ALL_OTHER_TARGETS += attachdocs
   950 ATTACH_DOCDIR := $(JDK_API_DOCSDIR)/attach/spec
   951 ATTACH2COREAPI := ../../$(JDKJRE2COREAPI)
   952 ATTACH_DOCTITLE := Attach API
   953 ATTACH_WINDOWTITLE := Attach API
   954 ATTACH_HEADER := <strong>Attach API</strong>
   955 ATTACH_BOTTOM := $(call CommonBottom,$(ATTACH_FIRST_COPYRIGHT_YEAR))
   956 # ATTACH_PKGS is located in NON_CORE_PKGS.gmk
   958 ATTACH_INDEX_HTML = $(ATTACH_DOCDIR)/index.html
   959 ATTACH_OPTIONS_FILE = $(DOCSTMPDIR)/attach.options
   960 ATTACH_PACKAGES_FILE = $(DOCSTMPDIR)/attach.packages
   962 attachdocs: $(ATTACH_INDEX_HTML)
   964 # Set relative location to core api document root
   965 $(ATTACH_INDEX_HTML): GET2DOCSDIR=$(ATTACH2COREAPI)/..
   967 # Run javadoc if the index file is out of date or missing
   968 $(ATTACH_INDEX_HTML): $(ATTACH_OPTIONS_FILE) $(ATTACH_PACKAGES_FILE) coredocs
   969 	$(prep-javadoc)
   970 	$(call JavadocSummary,$(ATTACH_OPTIONS_FILE),$(ATTACH_PACKAGES_FILE))
   971 	$(JAVADOC_CMD) -d $(@D) \
   972 	    @$(ATTACH_OPTIONS_FILE) @$(ATTACH_PACKAGES_FILE)
   974 # Create file with javadoc options in it
   975 $(ATTACH_OPTIONS_FILE):
   976 	$(prep-target)
   977 	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
   978 	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
   979 	  $(call OptionPair,-encoding,ascii) ; \
   980 	  $(call OptionOnly,-nodeprecatedlist) ; \
   981 	  $(call OptionPair,-doctitle,$(ATTACH_DOCTITLE)) ; \
   982 	  $(call OptionPair,-windowtitle,$(ATTACH_WINDOWTITLE) $(DRAFT_WINTITLE)); \
   983 	  $(call OptionPair,-header,$(ATTACH_HEADER)$(DRAFT_HEADER)) ; \
   984 	  $(call OptionPair,-bottom,$(ATTACH_BOTTOM)$(DRAFT_BOTTOM)) ; \
   985 	  $(call OptionTrip,-linkoffline,$(ATTACH2COREAPI),$(COREAPI_DOCSDIR)/); \
   986 	) >> $@
   988 # Create a file with the package names in it
   989 $(ATTACH_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(ATTACH_PKGS))
   990 	$(prep-target)
   991 	$(call PackageFilter,$(ATTACH_PKGS))
   993 #############################################################
   994 #
   995 # jconsoledocs
   996 #
   998 ALL_OTHER_TARGETS += jconsoledocs
  1000 JCONSOLE_DOCDIR := $(JDK_API_DOCSDIR)/jconsole/spec
  1001 JCONSOLE2COREAPI := ../../$(JDKJRE2COREAPI)
  1002 JCONSOLE_DOCTITLE := JConsole API
  1003 JCONSOLE_WINDOWTITLE := JConsole API
  1004 JCONSOLE_HEADER := <strong>JConsole API</strong>
  1005 JCONSOLE_BOTTOM := $(call CommonBottom,$(JCONSOLE_FIRST_COPYRIGHT_YEAR))
  1006 # JCONSOLE_PKGS is located in NON_CORE_PKGS.gmk
  1008 JCONSOLE_INDEX_HTML = $(JCONSOLE_DOCDIR)/index.html
  1009 JCONSOLE_OPTIONS_FILE = $(DOCSTMPDIR)/jconsole.options
  1010 JCONSOLE_PACKAGES_FILE = $(DOCSTMPDIR)/jconsole.packages
  1012 jconsoledocs: $(JCONSOLE_INDEX_HTML)
  1014 # Set relative location to core api document root
  1015 $(JCONSOLE_INDEX_HTML): GET2DOCSDIR=$(JCONSOLE2COREAPI)/..
  1017 # Run javadoc if the index file is out of date or missing
  1018 $(JCONSOLE_INDEX_HTML): $(JCONSOLE_OPTIONS_FILE) $(JCONSOLE_PACKAGES_FILE) coredocs
  1019 	$(prep-javadoc)
  1020 	$(call JavadocSummary,$(JCONSOLE_OPTIONS_FILE),$(JCONSOLE_PACKAGES_FILE))
  1021 	$(JAVADOC_CMD) -d $(@D) \
  1022 	    @$(JCONSOLE_OPTIONS_FILE) @$(JCONSOLE_PACKAGES_FILE)
  1024 # Create file with javadoc options in it
  1025 $(JCONSOLE_OPTIONS_FILE):
  1026 	$(prep-target)
  1027 	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
  1028 	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
  1029 	  $(call OptionPair,-encoding,ascii) ; \
  1030 	  $(call OptionOnly,-nodeprecatedlist) ; \
  1031 	  $(call OptionPair,-doctitle,$(JCONSOLE_DOCTITLE)) ; \
  1032 	  $(call OptionPair,-windowtitle,$(JCONSOLE_WINDOWTITLE) $(DRAFT_WINTITLE)); \
  1033 	  $(call OptionPair,-header,$(JCONSOLE_HEADER)$(DRAFT_HEADER)) ; \
  1034 	  $(call OptionPair,-bottom,$(JCONSOLE_BOTTOM)$(DRAFT_BOTTOM)) ; \
  1035 	  $(call OptionTrip,-linkoffline,$(JCONSOLE2COREAPI),$(COREAPI_DOCSDIR)/); \
  1036 	) >> $@
  1038 # Create a file with the package names in it
  1039 $(JCONSOLE_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JCONSOLE_PKGS))
  1040 	$(prep-target)
  1041 	$(call PackageFilter,$(JCONSOLE_PKGS))
  1043 #############################################################
  1045 # treeapidocs
  1048 ALL_OTHER_TARGETS += treeapidocs
  1050 TREEAPI_DOCDIR := $(JDK_API_DOCSDIR)/javac/tree
  1051 TREEAPI2COREAPI := ../../$(JDKJRE2COREAPI)
  1052 TREEAPI_DOCTITLE := Compiler Tree API
  1053 TREEAPI_WINDOWTITLE := Compiler Tree API
  1054 TREEAPI_HEADER := <strong>Compiler Tree API</strong>
  1055 TREEAPI_BOTTOM := $(call CommonBottom,$(TREEAPI_FIRST_COPYRIGHT_YEAR))
  1056 TREEAPI_GROUPNAME := Packages
  1057 TREEAPI_REGEXP := com.sun.source.*
  1058 # TREEAPI_PKGS is located in NON_CORE_PKGS.gmk
  1060 TREEAPI_INDEX_HTML = $(TREEAPI_DOCDIR)/index.html
  1061 TREEAPI_OPTIONS_FILE = $(DOCSTMPDIR)/treeapi.options
  1062 TREEAPI_PACKAGES_FILE = $(DOCSTMPDIR)/treeapi.packages
  1064 treeapidocs: $(TREEAPI_INDEX_HTML)
  1066 # Set relative location to core api document root
  1067 $(TREEAPI_INDEX_HTML): GET2DOCSDIR=$(TREEAPI2COREAPI)/..
  1069 # Run javadoc if the index file is out of date or missing
  1070 $(TREEAPI_INDEX_HTML): $(TREEAPI_OPTIONS_FILE) $(TREEAPI_PACKAGES_FILE) coredocs
  1071 	$(prep-javadoc)
  1072 	$(call JavadocSummary,$(TREEAPI_OPTIONS_FILE),$(TREEAPI_PACKAGES_FILE))
  1073 	$(JAVADOC_CMD) -d $(@D) \
  1074 	    @$(TREEAPI_OPTIONS_FILE) @$(TREEAPI_PACKAGES_FILE)
  1076 # Create file with javadoc options in it
  1077 $(TREEAPI_OPTIONS_FILE):
  1078 	$(prep-target)
  1079 	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
  1080 	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
  1081 	  $(call OptionPair,-encoding,ascii) ; \
  1082 	  $(call OptionPair,-doctitle,$(TREEAPI_DOCTITLE)) ; \
  1083 	  $(call OptionPair,-windowtitle,$(TREEAPI_WINDOWTITLE) $(DRAFT_WINTITLE)); \
  1084 	  $(call OptionPair,-header,$(TREEAPI_HEADER)$(DRAFT_HEADER)) ; \
  1085 	  $(call OptionPair,-tag,$(TAG_JLS)) ; \
  1086 	  $(call OptionPair,-bottom,$(TREEAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
  1087 	  $(call OptionTrip,-group,$(TREEAPI_GROUPNAME),$(TREEAPI_REGEXP)); \
  1088 	  $(call OptionTrip,-linkoffline,$(TREEAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
  1089 	) >> $@
  1091 # Create a file with the package names in it
  1092 $(TREEAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(TREEAPI_PKGS))
  1093 	$(prep-target)
  1094 	$(call PackageFilter,$(TREEAPI_PKGS))
  1096 #############################################################
  1098 # sctpdocs
  1101 ALL_OTHER_TARGETS += sctpdocs
  1103 SCTPAPI_DOCDIR := $(JRE_API_DOCSDIR)/nio/sctp/spec
  1104 SCTPAPI2COREAPI := ../../../$(JDKJRE2COREAPI)
  1105 SCTPAPI_DOCTITLE := SCTP API
  1106 SCTPAPI_WINDOWTITLE := SCTP API
  1107 SCTPAPI_HEADER := <strong>SCTP API</strong>
  1108 SCTPAPI_BOTTOM := $(call CommonBottom,$(SCTPAPI_FIRST_COPYRIGHT_YEAR))
  1109 # SCTPAPI_PKGS is located in NON_CORE_PKGS.gmk
  1111 SCTPAPI_INDEX_HTML = $(SCTPAPI_DOCDIR)/index.html
  1112 SCTPAPI_OPTIONS_FILE = $(DOCSTMPDIR)/sctp.options
  1113 SCTPAPI_PACKAGES_FILE = $(DOCSTMPDIR)/sctp.packages
  1115 sctpdocs: $(SCTPAPI_INDEX_HTML)
  1117 # Set relative location to core api document root
  1118 $(SCTPAPI_INDEX_HTML): GET2DOCSDIR=$(SCTPAPI2COREAPI)/..
  1120 # Run javadoc if the index file is out of date or missing
  1121 $(SCTPAPI_INDEX_HTML): $(SCTPAPI_OPTIONS_FILE) $(SCTPAPI_PACKAGES_FILE) coredocs
  1122 	$(prep-javadoc)
  1123 	$(call JavadocSummary,$(SCTPAPI_OPTIONS_FILE),$(SCTPAPI_PACKAGES_FILE))
  1124 	$(JAVADOC_CMD) -d $(@D) \
  1125 	    @$(SCTPAPI_OPTIONS_FILE) @$(SCTPAPI_PACKAGES_FILE)
  1127 # Create file with javadoc options in it
  1128 $(SCTPAPI_OPTIONS_FILE):
  1129 	$(prep-target)
  1130 	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
  1131 	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
  1132 	  $(call OptionPair,-encoding,ascii) ; \
  1133 	  $(call OptionOnly,-nodeprecatedlist) ; \
  1134 	  $(call OptionPair,-doctitle,$(SCTPAPI_DOCTITLE)) ; \
  1135 	  $(call OptionPair,-windowtitle,$(SCTPAPI_WINDOWTITLE) $(DRAFT_WINTITLE)); \
  1136 	  $(call OptionPair,-header,$(SCTPAPI_HEADER)$(DRAFT_HEADER)) ; \
  1137 	  $(call OptionPair,-bottom,$(SCTPAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
  1138 	  $(call OptionTrip,-linkoffline,$(SCTPAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
  1139 	) >> $@
  1141 # Create a file with the package names in it
  1142 $(SCTPAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(SCTPAPI_PKGS))
  1143 	$(prep-target)
  1144 	$(call PackageFilter,$(SCTPAPI_PKGS))
  1146 #############################################################
  1148 # jdk.net docs
  1151 ALL_OTHER_TARGETS += jdknetdocs
  1153 JDKNET_DOCDIR := $(JRE_API_DOCSDIR)/net/socketoptions/spec
  1154 JDKNET2COREAPI := ../../../$(JDKJRE2COREAPI)
  1155 JDKNET_DOCTITLE := jdk.net API
  1156 JDKNET_WINDOWTITLE := jdk.net API
  1157 JDKNET_HEADER := <strong>jdk.net API</strong>
  1158 JDKNET_BOTTOM := $(call CommonBottom,$(JDKNET_FIRST_COPYRIGHT_YEAR))
  1159 JDKNET_PKGS := jdk.net
  1161 JDKNET_INDEX_HTML = $(JDKNET_DOCDIR)/index.html
  1162 JDKNET_OPTIONS_FILE = $(DOCSTMPDIR)/jdknet.options
  1163 JDKNET_PACKAGES_FILE = $(DOCSTMPDIR)/jdknet.packages
  1165 jdknetdocs: $(JDKNET_INDEX_HTML)
  1167 # Set relative location to core api document root
  1168 $(JDKNET_INDEX_HTML): GET2DOCSDIR=$(JDKNET2COREAPI)/..
  1170 # Run javadoc if the index file is out of date or missing
  1171 $(JDKNET_INDEX_HTML): $(JDKNET_OPTIONS_FILE) $(JDKNET_PACKAGES_FILE) coredocs
  1172 	$(prep-javadoc)
  1173 	$(call JavadocSummary,$(JDKNET_OPTIONS_FILE),$(JDKNET_PACKAGES_FILE))
  1174 	$(JAVADOC_CMD) -d $(@D) \
  1175 	    @$(JDKNET_OPTIONS_FILE) @$(JDKNET_PACKAGES_FILE)
  1177 # Create file with javadoc options in it
  1178 $(JDKNET_OPTIONS_FILE):
  1179 	$(prep-target)
  1180 	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
  1181 	  $(call OptionOnly,-Xdoclint:none) ; \
  1182 	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
  1183 	  $(call OptionPair,-encoding,ascii) ; \
  1184 	  $(call OptionOnly,-nodeprecatedlist) ; \
  1185 	  $(call OptionPair,-doctitle,$(JDKNET_DOCTITLE)) ; \
  1186 	  $(call OptionPair,-windowtitle,$(JDKNET_WINDOWTITLE) $(DRAFT_WINTITLE)); \
  1187 	  $(call OptionPair,-header,$(JDKNET_HEADER)$(DRAFT_HEADER)); \
  1188 	  $(call OptionPair,-bottom,$(JDKNET_BOTTOM)$(DRAFT_BOTTOM)); \
  1189 	  $(call OptionTrip,-linkoffline,$(JDKNET2COREAPI),$(COREAPI_DOCSDIR)/); \
  1190 	) >> $@
  1192 # Create a file with the package names in it
  1193 $(JDKNET_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JDKNET_PKGS))
  1194 	$(prep-target)
  1195 	$(call PackageFilter,$(JDKNET_PKGS))
  1197 #############################################################
  1199 # Get a cache of all the directories
  1201 $(DIRECTORY_CACHE): $(ALL_EXISTING_SOURCE_DIRS)
  1202 	$(prep-target)
  1203 	@for cp in $(ALL_EXISTING_SOURCE_DIRS) ; do \
  1204 	  $(ECHO) "$(FIND) $${cp} -type f >> $@"; \
  1205 	  $(FIND) $${cp} -type f >> $@; \
  1206 	done
  1208 #############################################################
  1209 #release version of core packages ########
  1211 # The rel-coredocs and rel-docs targets were added by Eric Armstrong. rel-coredocs
  1212 # assumes the kind of large, 32-bit machine used in the javapubs group's docs-release
  1213 # process. It specifies memory settings accordingly to maximize performance.
  1215 # The performance settings, like the sanity check, are most important for the core
  1216 # docs--the platform APIs. Running javadoc on those APIs takes a significant amount
  1217 # of time and memory. Setting the initial heap size as large as possible is important
  1218 # to prevent thrashing as the heap grows. Setting the maximum as large as necessary
  1219 # is also important to keep the job from failing.
  1221 #    -J-Xmx512 sets a maximum of 512, which became necessary in 6.0
  1222 #    -J-Xms256 sets starting size to 256 (default is 8)
  1224 # rel-coredocs also includes a sanity check to help ensure that BUILD_NUMBER and
  1225 # MILESTONE are specified properly when docs are built outside of the normal release
  1226 # engineering process, with the intention of releasing them on the web or in a downloaded
  1227 # docs bundle. (When invoked in release engineering's control build, the values are always
  1228 # set properly. But when the targets are run by themselves, they default to b00 and
  1229 # "internal"--which silently sabotage the result of a build that can take many hours
  1230 # to complete.
  1232 # Maximize performance and ensure that build number & milestone are set.
  1234 rel-coredocs: sanitycheckcoredocs
  1235 	$(MAKE) coredocs
  1237 rel-docs: rel-coredocs $(ALL_OTHER_TARGETS)
  1239 # end of production targets
  1241 otherdocs: $(ALL_OTHER_TARGETS)
  1243 clean:
  1244 	$(RM) -r $(DOCSDIR) $(DOCSTMPDIR)
  1246 #############################################################
  1247 # DEBUG TARGET
  1248 # List the values defined in the makefile hierarchy, to make sure everything
  1249 # is set properly, and to help identify values we can use instead of making new ones.
  1250 # (Most of them come from common/shared/Defs.gmk)
  1252 # Notes:
  1253 # * BUILD_NUMBER defaults to b00 if not set on command line with BUILD_NUMBER=<value>
  1254 # * MILESTONE defaults to internal unless set to beta, rc, or fcs on command line
  1257 #############################################################
  1258 .PHONY: all docs coredocs rel-docs otherdocs rel-coredocs \
  1259     sanitycheckcoredocs $(ALL_OTHER_TARGETS)

mercurial