common/makefiles/javadoc/Javadoc.gmk

Thu, 10 Jan 2013 19:36:13 -0800

author
jjg
date
Thu, 10 Jan 2013 19:36:13 -0800
changeset 592
1129fb75f611
parent 518
6ff2e1280dc3
child 594
2e12a508d7ae
permissions
-rw-r--r--

8004834: Add doclint support into javadoc
Reviewed-by: erikj, tbell

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

mercurial