common/makefiles/javadoc/Javadoc.gmk

Thu, 31 Jan 2013 14:00:09 +0100

author
ohrstrom
date
Thu, 31 Jan 2013 14:00:09 +0100
changeset 607
12782ec1da5f
parent 594
2e12a508d7ae
child 626
bebeaa04ab8e
permissions
-rw-r--r--

8006872: Stop creating four jars with identical content in the new build system.
Reviewed-by: erikj

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

mercurial