common/makefiles/javadoc/Javadoc.gmk

Tue, 18 Sep 2012 11:29:16 -0700

author
ohair
date
Tue, 18 Sep 2012 11:29:16 -0700
changeset 478
2ba6f4da4bf3
child 518
6ff2e1280dc3
permissions
-rw-r--r--

7197849: Update new build-infra makefiles
Reviewed-by: ihse, erikj, ohrstrom, tbell

     1 # Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
     2 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3 #
     4 # This code is free software; you can redistribute it and/or modify it
     5 # under the terms of the GNU General Public License version 2 only, as
     6 # published by the Free Software Foundation.  Oracle designates this
     7 # particular file as subject to the "Classpath" exception as provided
     8 # by Oracle in the LICENSE file that accompanied this code.
     9 #
    10 # This code is distributed in the hope that it will be useful, but WITHOUT
    11 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    12 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    13 # version 2 for more details (a copy is included in the LICENSE file that
    14 # accompanied this code).
    15 #
    16 # You should have received a copy of the GNU General Public License version
    17 # 2 along with this work; if not, write to the Free Software Foundation,
    18 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    19 #
    20 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    21 # or visit www.oracle.com if you need additional information or have any
    22 # questions.
    23 #
    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 # Langtools
    54 JAVAC_JAR   = $(LANGTOOLS_DIST)/bootstrap/lib/javac.jar
    55 JAVADOC_JAR = $(LANGTOOLS_DIST)/bootstrap/lib/javadoc.jar
    56 DOCLETS_JAR = $(LANGTOOLS_DIST)/bootstrap/lib/doclets.jar
    57 JAVADOC_CMD = $(BOOT_JAVA_CMD) \
    58               -Xmx1024m \
    59 	      -Djava.awt.headless=true \
    60               "-Xbootclasspath/p:$(JAVADOC_JAR)$(CLASSPATH_SEPARATOR)$(JAVAC_JAR)$(CLASSPATH_SEPARATOR)$(DOCLETS_JAR)" \
    61               -jar $(JAVADOC_JAR)
    63 JAVADOC_CMD = javadoc 
    65 # Copyright year for beginning of Java and some of the apis
    66 #   (Needed when creating the javadocs)
    67 FIRST_COPYRIGHT_YEAR                = 1993
    68 DOMAPI_FIRST_COPYRIGHT_YEAR         = 2005
    69 MIRROR_FIRST_COPYRIGHT_YEAR         = 2004
    70 DOCLETAPI_FIRST_COPYRIGHT_YEAR      = 1993
    71 TAGLETAPI_FIRST_COPYRIGHT_YEAR      = 1993
    72 JDI_FIRST_COPYRIGHT_YEAR            = 1999
    73 JAAS_FIRST_COPYRIGHT_YEAR           = 1998
    74 JGSS_FIRST_COPYRIGHT_YEAR           = 2000
    75 SMARTCARDIO_FIRST_COPYRIGHT_YEAR    = 2005
    76 HTTPSERVER_FIRST_COPYRIGHT_YEAR     = 2005
    77 MGMT_FIRST_COPYRIGHT_YEAR           = 2003
    78 ATTACH_FIRST_COPYRIGHT_YEAR         = 2005
    79 JCONSOLE_FIRST_COPYRIGHT_YEAR       = 2006
    80 SCTPAPI_FIRST_COPYRIGHT_YEAR        = 2009
    81 TRACING_FIRST_COPYRIGHT_YEAR        = 2008
    82 TREEAPI_FIRST_COPYRIGHT_YEAR        = 2005
    83 JNLP_FIRST_COPYRIGHT_YEAR           = 1998
    84 PLUGIN2_FIRST_COPYRIGHT_YEAR        = 2007
    86 # Oracle name
    87 FULL_COMPANY_NAME = Oracle and/or its affiliates
    89 # Copyright address
    90 COMPANY_ADDRESS = 500 Oracle Parkway<br>Redwood Shores, CA 94065 USA.
    92 # The trademark symbol
    93 TRADEMARK = &trade;
    95 # Common copyright lines used
    96 #   The word "Copyright" might optionally be a link to the file cpyr.html.
    97 #   The first year of copyright may vary or not be available.
    98 #   The address to the company might be optional.
    99 COMMA:= ,
   100 EMPTY:=
   101 SPACE:=$(EMPTY) $(EMPTY)
   102 COPYRIGHT_SYMBOL = &\#x00a9;
   103 # Macro to construct the copyright line
   104 #   (The GNU make 3.78.1 "if" conditional is broken, fixed in GNU make 3.81)
   105 define CopyrightLine # optionalurl optionalfirstyear optionaladdress
   106 $(if $(strip $1),<a href="$(strip $1)">Copyright</a>,Copyright) \
   107 $(COPYRIGHT_SYMBOL) $(if $2,$2${COMMA},) $(COPYRIGHT_YEAR),\
   108 $(FULL_COMPANY_NAME). $3 All rights reserved.
   109 endef
   111 # Url to root of documents
   112 DOCSDIR_URL = {@docroot}/$(GET2DOCSDIR)
   114 # Url to copyright html file
   115 COPYRIGHT_URL-7 = $(DOCSDIR_URL)/legal/cpyr.html
   116 COPYRIGHT_URL-8 = $(DOCSDIR_URL)/legal/cpyr.html
   117 COPYRIGHT_URL = $(COPYRIGHT_URL-$(JDK_MINOR_VERSION))
   119 # Url to bug filing site
   120 BUG_SUBMIT_URL = http://bugreport.sun.com/bugreport/
   122 # Common line for how to submit a bug or rfe
   123 BUG_SUBMIT_LINE = <a href="$(BUG_SUBMIT_URL)">Submit a bug or feature</a>
   125 # Url to devdocs page
   126 #   Was: http://java.sun.com/javase/6/webnotes/devdocs-vs-specs.html
   127 DEV_DOCS_URL-7 = http://download.oracle.com/javase/7/docs/index.html
   128 DEV_DOCS_URL-8 = http://download.oracle.com/javase/7/docs/index.html
   129 DEV_DOCS_URL = $(DEV_DOCS_URL-$(JDK_MINOR_VERSION))
   130 DOCS_BASE_URL = http://download.oracle.com/javase/7/docs
   132 # Common Java trademark line
   133 JAVA_TRADEMARK_LINE = Java is a trademark or registered trademark of \
   134 $(FULL_COMPANY_NAME) in the US and other countries.
   136 #################################################################
   137 # Macros:
   140 # List of all possible directories for javadoc to look for sources
   141 #    NOTE: Quotes are required around sourcepath argument only on Windows.
   142 #          Otherwise, you get "No packages or classes specified." due 
   143 #          to $(CLASSPATH_SEPARATOR) being interpreted as an end of 
   144 #          command (newline or shell ; character)
   145 ALL_SOURCE_DIRS = $(JDK_IMPSRC) \
   146                   $(JDK_GENSRC) \
   147                   $(JDK_SHARE_CLASSES) \
   148                   $(JDK_TOPDIR)/src/solaris/classes \
   149                   $(JDK_TOPDIR)/src/windows/classes \
   150 		  $(JDK_SHARE_SRC)/doc/stub
   152 # List of directories that actually exist
   153 ALL_EXISTING_SOURCE_DIRS := $(wildcard $(ALL_SOURCE_DIRS))
   155 # List with classpath separator between them
   156 EMPTY:=
   157 SPACE:= $(EMPTY) $(EMPTY)
   158 RELEASEDOCS_SOURCEPATH = \
   159     $(subst $(SPACE),$(CLASSPATH_SEPARATOR),$(strip $(ALL_SOURCE_DIRS)))
   161 define prep-target
   162 $(MKDIR) -p $(@D)
   163 $(RM) $@
   164 endef
   166 # Prep for javadoc creation, assumes $@ is an index.html file
   167 define prep-javadoc
   168 @if [ -f "$@" -a "$?" != "" ] ; then \
   169   $(ECHO) "# Dependencies have changed: $?"; \
   170 fi
   171 $(RM) -r $(@D)
   172 $(MKDIR) -p $(@D)
   173 endef
   175 # A cache of the directories in ALL_SOURCE_DIRS
   176 DIRECTORY_CACHE = $(DOCSTMPDIR)/directory.cache
   178 # Given a list of packages, return a list of files or dirs to be dependent on
   179 #   (Currently only returning a list of directories)
   180 define PackageDependencies # packages
   181 $(shell							\
   182   if [ "$1" != "" -a -f $(DIRECTORY_CACHE) ] ; then	\
   183     for p in $1 ; do 					\
   184       pd=`$(ECHO) $${p} | $(SED) -e 's@[.]@/@g'`;	\
   185       $(CAT) $(DIRECTORY_CACHE) | $(GREP) "/$${pd}/" ; 	\
   186     done; 						\
   187   fi							\
   188 )
   189 endef
   191 # Given a list of packages, add packages that exist to $@, print summary
   192 define PackageFilter # packages
   193 @if [ "$1" != "" ] ; then 				\
   194   for p in $1 ; do 					\
   195     pd=`$(ECHO) $${p} | $(SED) -e 's@[.]@/@g'`; 	\
   196     found="false"; 					\
   197     for cp in $(ALL_SOURCE_DIRS) ; do 			\
   198       if [ -d $${cp}/$${pd} ] ; then 			\
   199         $(ECHO) "$${p}" >> $@; 				\
   200 	found="true";					\
   201 	break; 						\
   202       fi; 						\
   203     done; 						\
   204     if [ "$${found}" = "false" ] ; then 		\
   205       $(ECHO) "WARNING: Package not found: $${p}"; 	\
   206     fi; 						\
   207   done; 						\
   208 fi
   209 endef
   211 # Print out a summary of the javadoc command about to be run
   212 define JavadocSummary # optionsfile packagesfile
   213 @$(ECHO) "# Summary for $@";\
   214  $(ECHO) "# Options (`$(BASENAME) $1`):"; $(SED) -e 's@^@#   @' $1; \
   215  $(ECHO) "# Packages (`$(BASENAME) $2`):";$(SED) -e 's@^@#   @' $2
   216 endef
   218 #
   219 # Temporary directory for javadoc creation
   220 #
   221 DOCSTMPDIR = $(TEMPDIR)/doctmp
   223 #
   224 # Different api directories created from root directory
   225 #
   226 COREAPI_DOCSDIR   = $(DOCSDIR)/api
   227 JDK_API_DOCSDIR   = $(DOCSDIR)/jdk/api
   228 JRE_API_DOCSDIR   = $(DOCSDIR)/jre/api
   229 PLATFORM_DOCSDIR  = $(DOCSDIR)/platform
   231 # The non-core api javadocs need to be able to access the root of the core
   232 #   api directory, so for jdk/api or jre/api to get to the core api/
   233 #   directory we would use this:
   234 JDKJRE2COREAPI    = ../../api
   236 # Common bottom argument
   237 define CommonBottom # year
   238 <font size="-1"><br> $(call CopyrightLine,,$1,)</font>
   239 endef
   241 # Common trademark bottom argument (Not sure why this is used sometimes)
   242 define CommonTrademarkBottom # year
   243 <font size="-1">\
   244 $(BUG_SUBMIT_LINE)<br>$(JAVA_TRADEMARK_LINE)<br>\
   245 $(call CopyrightLine,,$1,$(COMPANY_ADDRESS))\
   246 </font>
   247 endef
   249 # Common echo of option
   250 define OptionOnly # opt
   251 $(PRINTF) "%s\n" "$1"
   252 endef
   253 define OptionPair # opt arg
   254 $(PRINTF) "%s '%s'\n" "$1" '$2'
   255 endef
   256 define OptionTrip # opt arg arg
   257 $(PRINTF) "%s '%s' '%s'\n" "$1" '$2' '$3'
   258 endef
   260 # Core api bottom argument (with special sauce)
   261 COREAPI_BOTTOM = <font size="-1"> $(BUG_SUBMIT_LINE)\
   262 <br>For further API reference and developer documentation, \
   263 see <a href="$(DEV_DOCS_URL)" target="_blank">Java SE Documentation</a>. \
   264 That documentation contains more detailed, developer-targeted descriptions, \
   265 with conceptual overviews, definitions of terms, workarounds, \
   266 and working code examples.<br>\
   267 $(call CopyrightLine,$(COPYRIGHT_URL),$(FIRST_COPYRIGHT_YEAR),)\
   268 </font>
   270 # Common javadoc options used by all
   271 COMMON_JAVADOCFLAGS =					\
   272                 -XDignore.symbol.file=true              \
   273 		-quiet					\
   274                 -use					\
   275                 -keywords				\
   276 		$(ADDITIONAL_JAVADOCFLAGS)
   278 ifdef OPENJDK
   279   ADDITIONAL_JAVADOCFLAGS =				\
   280                 -Xdocrootparent $(DOCS_BASE_URL)
   281 else
   282   ADDITIONAL_JAVADOCFLAGS =
   283 endif
   285 # Draft used for non-fcs documents
   286 DRAFT_HEADER =
   287 ifneq ($(MILESTONE), fcs)
   288     DRAFT_HEADER = <br><strong>DRAFT&nbsp;$(MILESTONE)-$(BUILD_NUMBER)</strong>
   289     DRAFT_BOTTOM = <br><strong>DRAFT&nbsp;$(MILESTONE)-$(BUILD_NUMBER)</strong>
   290     DRAFT_WINTITLE = $(BUILD_NUMBER)
   291     # Early access top text (not used in FCS releases)
   292     COREAPI_TOP_EARLYACCESS = \
   293 <div style="background-color: \#EEEEEE"> \
   294 <div style="padding: 6px; margin-top: 2px; margin-bottom: 6px; \
   295 margin-left: 6px; margin-right: 6px; text-align: justify; \
   296 font-size: 80%; font-family: Helvetica, Arial, sans-serif; \
   297 font-weight: normal;"> \
   298 Please note that the specifications and other information \
   299 contained herein are not final and are subject to change. \
   300 The information is being made available to you solely for purpose of \
   301 evaluation. \
   302 </div> </div>
   303 endif
   305 #################################################################
   307 #
   308 # CORE_PKGS environment variable has been moved to the following file
   309 #
   310 include CORE_PKGS.gmk
   312 #
   313 # Load environment variables for API package names that are not part of
   314 # the Java SE platform
   315 #
   316 include NON_CORE_PKGS.gmk
   318 #################################################################
   320 #
   321 # Default target is same as docs target, create core api and all others it can
   322 #
   324 all: docs
   325 docs: coredocs otherdocs
   327 #################################################################
   328 # Production Targets -- USE THESE TARGETS WHEN:
   329 #    a) You're generating docs outside of release engineering's
   330 #       standard control build.
   331 #    b) The docs will be pushed to the web and/or included in
   332 #       the downloaded doc bundle.
   333 #
   334 # See:  Notes.html#releaseTargets
   335 # Note: Spaces precede ifdef/ifndef indents. Tabs precede target commands (!)
   336 #
   338 sanitycheckcoredocs:
   339 	@$(ECHO) ""
   340 	@$(ECHO) "Building core api docs with these values:"
   341 	@$(ECHO) "    BUILD_NUMBER = $(BUILD_NUMBER)"
   342 	@$(ECHO) "    MILESTONE = $(MILESTONE)"
   343 	@$(ECHO) ""
   344   ifeq ($(BUILD_NUMBER), b00)
   345 	@$(ECHO) "ERROR: Build number must be defined"
   346 	@$(ECHO) "MILESTONE is set to $(MILESTONE)"
   347 	@$(ECHO) ""
   348 	exit 1
   349   endif
   351 #############################################################
   352 #
   353 # coredocs
   354 #
   355 COREAPI_DOCTITLE  = Java$(TRADEMARK) Platform, Standard Edition \
   356 $(JDK_MINOR_VERSION)<br>API Specification
   357 COREAPI_WINDOWTITLE  = Java Platform SE $(JDK_MINOR_VERSION)
   358 COREAPI_HEADER = \
   359 <strong>Java$(TRADEMARK)&nbsp;Platform<br>Standard&nbsp;Ed.&nbsp;$(JDK_MINOR_VERSION)</strong>
   361 # Java language specification cite
   362 TAG_JLS = jls:a:See <cite> \
   363 The Java&trade; Language Specification</cite>:
   365 # Overview file for core apis
   366 COREAPI_OVERVIEW = $(JDK_SHARE_CLASSES)/overview-core.html
   368 # The index.html, options, and packages files
   369 COREAPI_INDEX_FILE    = $(COREAPI_DOCSDIR)/index.html
   370 COREAPI_OPTIONS_FILE  = $(DOCSTMPDIR)/coredocs.options
   371 COREAPI_PACKAGES_FILE = $(DOCSTMPDIR)/coredocs.packages
   373 coredocs: $(COREAPI_INDEX_FILE)
   375 # Set relative location to core api document root
   376 $(COREAPI_INDEX_FILE): GET2DOCSDIR=..
   378 # Run javadoc if the index file is out of date or missing
   379 $(COREAPI_INDEX_FILE): $(COREAPI_OPTIONS_FILE) $(COREAPI_PACKAGES_FILE)
   380 	$(prep-javadoc)
   381 	$(call JavadocSummary,$(COREAPI_OPTIONS_FILE),$(COREAPI_PACKAGES_FILE))
   382 	$(JAVADOC_CMD) -d $(@D) \
   383 	  @$(COREAPI_OPTIONS_FILE) @$(COREAPI_PACKAGES_FILE)
   385 # Create file with javadoc options in it
   386 $(COREAPI_OPTIONS_FILE): $(COREAPI_OVERVIEW)
   387 	$(prep-target)
   388 	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS))			; \
   389 	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))	; \
   390 	  $(call OptionPair,-encoding,ISO-8859-1)			; \
   391 	  $(call OptionPair,-tag,beaninfo:X)				; \
   392 	  $(call OptionPair,-tag,revised:X)				; \
   393 	  $(call OptionPair,-tag,since.unbundled:X)			; \
   394 	  $(call OptionPair,-tag,spec:X)				; \
   395 	  $(call OptionPair,-tag,specdefault:X)				; \
   396 	  $(call OptionPair,-tag,Note:X)				; \
   397 	  $(call OptionPair,-tag,ToDo:X)				; \
   398           $(call OptionPair,-tag,$(TAG_JLS)) 				; \
   399 	  $(call OptionOnly,-splitIndex)				; \
   400 	  $(call OptionPair,-overview,$(COREAPI_OVERVIEW))		; \
   401 	  $(call OptionPair,-doctitle,$(COREAPI_DOCTITLE))		; \
   402 	  $(call OptionPair,-windowtitle,$(COREAPI_WINDOWTITLE) $(DRAFT_WINTITLE)) ;\
   403 	  $(call OptionPair,-header,$(COREAPI_HEADER)$(DRAFT_HEADER))	; \
   404 	  $(call OptionPair,-bottom,$(COREAPI_BOTTOM)$(DRAFT_BOTTOM))	; \
   405         ) >> $@
   406 ifdef COREAPI_TOP_EARLYACCESS
   407 	@$(call OptionPair,-top,$(COREAPI_TOP_EARLYACCESS)) >> $@
   408 endif
   410 # Create a file with the package names in it
   411 $(COREAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(CORE_PKGS))
   412 	$(prep-target)
   413 	$(call PackageFilter,$(CORE_PKGS))
   415 #############################################################
   416 #
   417 # docletapidocs
   418 #
   420 ALL_OTHER_TARGETS += docletapidocs
   422 DOCLETAPI_DOCDIR       := $(JDK_API_DOCSDIR)/javadoc/doclet
   423 DOCLETAPI2COREAPI      := ../../$(JDKJRE2COREAPI)
   424 DOCLETAPI_DOCTITLE     := Doclet API
   425 DOCLETAPI_WINDOWTITLE  := Doclet API
   426 DOCLETAPI_HEADER       := <strong>Doclet API</strong>
   427 DOCLETAPI_BOTTOM       := $(call CommonTrademarkBottom,$(DOCLETAPI_FIRST_COPYRIGHT_YEAR))
   428 DOCLETAPI_GROUPNAME    := Packages
   429 DOCLETAPI_REGEXP       := com.sun.javadoc
   430 # DOCLETAPI_PKGS is located in NON_CORE_PKGS.gmk
   432 # The index.html, options, and packages files
   433 DOCLETAPI_INDEX_FILE    = $(DOCLETAPI_DOCDIR)/index.html
   434 DOCLETAPI_OPTIONS_FILE  = $(DOCSTMPDIR)/docletapi.options
   435 DOCLETAPI_PACKAGES_FILE = $(DOCSTMPDIR)/docletapi.packages
   437 docletapidocs: $(DOCLETAPI_INDEX_FILE)
   439 # Set relative location to core api document root
   440 $(DOCLETAPI_INDEX_FILE): GET2DOCSDIR=$(DOCLETAPI2COREAPI)/..
   442 # Run javadoc if the index file is out of date or missing
   443 $(DOCLETAPI_INDEX_FILE): $(DOCLETAPI_OPTIONS_FILE) $(DOCLETAPI_PACKAGES_FILE)
   444 	$(prep-javadoc)
   445 	$(call JavadocSummary,$(DOCLETAPI_OPTIONS_FILE),$(DOCLETAPI_PACKAGES_FILE))
   446 	$(JAVADOC_CMD) -d $(@D) \
   447 	  @$(DOCLETAPI_OPTIONS_FILE) @$(DOCLETAPI_PACKAGES_FILE)
   449 # Create file with javadoc options in it
   450 $(DOCLETAPI_OPTIONS_FILE):
   451 	$(prep-target)
   452 	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS))			; \
   453 	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))	; \
   454 	  $(call OptionPair,-encoding,ascii)				; \
   455 	  $(call OptionOnly,-breakiterator)				; \
   456 	  $(call OptionPair,-doctitle,$(DOCLETAPI_DOCTITLE))		; \
   457 	  $(call OptionPair,-windowtitle,$(DOCLETAPI_WINDOWTITLE) $(DRAFT_WINTITLE));\
   458 	  $(call OptionPair,-header,$(DOCLETAPI_HEADER)$(DRAFT_HEADER))	; \
   459 	  $(call OptionPair,-bottom,$(DOCLETAPI_BOTTOM)$(DRAFT_BOTTOM))	; \
   460 	  $(call OptionTrip,-group,$(DOCLETAPI_GROUPNAME),$(DOCLETAPI_REGEXP)); \
   461 	  $(call OptionTrip,-linkoffline,$(DOCLETAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
   462         ) >> $@
   464 # Create a file with the package names in it
   465 $(DOCLETAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(DOCLETAPI_PKGS))
   466 	$(prep-target)
   467 	$(call PackageFilter,$(DOCLETAPI_PKGS))
   469 #############################################################
   470 #
   471 # tagletapidocs
   472 #
   474 ALL_OTHER_TARGETS += tagletapidocs
   475 TAGLETAPI_DOCDIR   := $(JDK_API_DOCSDIR)/javadoc/taglet
   476 TAGLETAPI2COREAPI  := ../../$(JDKJRE2COREAPI)
   477 TAGLETAPI_BOTTOM   := $(call CommonTrademarkBottom,$(TAGLETAPI_FIRST_COPYRIGHT_YEAR))
   478 # TAGLETAPI_FILE is located in NON_CORE_PKGS.gmk
   480 # Temporary directory (special generation rules)
   481 TAGLETAPI_TEMPDIR       = $(DOCSTMPDIR)/taglets_temp
   483 # The index.html, options, and packages files
   484 TAGLETAPI_INDEX_FILE    = $(TAGLETAPI_DOCDIR)/com/sun/tools/doclets/Taglet.html
   485 TAGLETAPI_OPTIONS_FILE  = $(DOCSTMPDIR)/tagletapi.options
   486 TAGLETAPI_PACKAGES_FILE = $(DOCSTMPDIR)/tagletapi.packages
   488 tagletapidocs: $(TAGLETAPI_INDEX_FILE)
   490 # Set relative location to core api document root
   491 $(TAGLETAPI_INDEX_FILE): GET2DOCSDIR=$(TAGLETAPI2COREAPI)/..
   493 # Run javadoc if the index file is out of date or missing
   494 $(TAGLETAPI_INDEX_FILE): $(TAGLETAPI_OPTIONS_FILE) $(TAGLETAPI_PACKAGES_FILE)
   495 	$(prep-javadoc)
   496 	$(RM) -r $(TAGLETAPI_TEMPDIR)
   497 	$(MKDIR) -p $(TAGLETAPI_TEMPDIR)
   498 	$(call JavadocSummary,$(TAGLETAPI_OPTIONS_FILE),$(TAGLETAPI_PACKAGES_FILE))
   499 	$(JAVADOC_CMD) -d $(TAGLETAPI_TEMPDIR) \
   500 	  @$(TAGLETAPI_OPTIONS_FILE) @$(TAGLETAPI_PACKAGES_FILE)
   501 	cp -r $(TAGLETAPI_TEMPDIR)/com $(@D)
   502 	cp $(TAGLETAPI_TEMPDIR)/stylesheet.css $(@D)
   503 	$(RM) -r $(TAGLETAPI_TEMPDIR)
   505 # Create file with javadoc options in it
   506 $(TAGLETAPI_OPTIONS_FILE):
   507 	$(prep-target)
   508 	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS))			; \
   509 	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))	; \
   510 	  $(call OptionPair,-encoding,ascii)				; \
   511 	  $(call OptionOnly,-nonavbar)					; \
   512           $(call OptionOnly,-noindex)                                   ; \
   513 	  $(call OptionPair,-bottom,$(TAGLETAPI_BOTTOM)$(DRAFT_BOTTOM))	; \
   514 	  $(call OptionTrip,-linkoffline,$(TAGLETAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
   515         ) >> $@
   517 # Create a file with the package names in it
   518 $(TAGLETAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(TAGLETAPI_PKGS))
   519 	$(prep-target)
   520 	$(call PackageFilter,$(TAGLETAPI_PKGS))
   521 	$(GREP) "$(TAGLETAPI_FILE)" $@ > $@.tmp
   522 	$(MV) $@.tmp $@
   524 #############################################################
   525 #
   526 # domapidocs
   527 #
   529 ALL_OTHER_TARGETS += domapidocs
   531 DOMAPI_DOCDIR       := $(JRE_API_DOCSDIR)/plugin/dom
   532 DOMAPI2COREAPI      := ../../$(JDKJRE2COREAPI)
   533 DOMAPI_DOCTITLE     := Common DOM API
   534 DOMAPI_WINDOWTITLE  := Common DOM API
   535 DOMAPI_HEADER       := <strong>Common DOM API</strong>
   536 DOMAPI_BOTTOM       := $(call CommonTrademarkBottom,$(DOMAPI_FIRST_COPYRIGHT_YEAR))
   537 DOMAPI_GROUPNAME    := Packages
   538 DOMAPI_REGEXP       := com.sun.java.browser.dom:org.w3c.dom*
   539 # DOMAPI_PKGS is located in NON_CORE_PKGS.gmk
   541 # The index.html, options, and packages files
   542 DOMAPI_INDEX_FILE    = $(DOMAPI_DOCDIR)/index.html
   543 DOMAPI_OPTIONS_FILE  = $(DOCSTMPDIR)/domapi.options
   544 DOMAPI_PACKAGES_FILE = $(DOCSTMPDIR)/domapi.packages
   546 domapidocs: $(DOMAPI_INDEX_FILE)
   548 # Set relative location to core api document root
   549 $(DOMAPI_INDEX_FILE): GET2DOCSDIR=$(DOMAPI2COREAPI)/..
   551 # Run javadoc if the index file is out of date or missing
   552 $(DOMAPI_INDEX_FILE): $(DOMAPI_OPTIONS_FILE) $(DOMAPI_PACKAGES_FILE)
   553 	$(prep-javadoc)
   554 	$(call JavadocSummary,$(DOMAPI_OPTIONS_FILE),$(DOMAPI_PACKAGES_FILE))
   555 	$(JAVADOC_CMD) -d $(@D) \
   556 	  @$(DOMAPI_OPTIONS_FILE) @$(DOMAPI_PACKAGES_FILE)
   558 # Create file with javadoc options in it
   559 $(DOMAPI_OPTIONS_FILE):
   560 	$(prep-target)
   561 	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS))			; \
   562 	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))	; \
   563 	  $(call OptionPair,-encoding,ascii)				; \
   564 	  $(call OptionOnly,-splitIndex)				; \
   565 	  $(call OptionPair,-doctitle,$(DOMAPI_DOCTITLE))		; \
   566 	  $(call OptionPair,-windowtitle,$(DOMAPI_WINDOWTITLE) $(DRAFT_WINTITLE));\
   567 	  $(call OptionPair,-header,$(DOMAPI_HEADER)$(DRAFT_HEADER))	; \
   568 	  $(call OptionPair,-bottom,$(DOMAPI_BOTTOM)$(DRAFT_BOTTOM))	; \
   569 	  $(call OptionTrip,-group,$(DOMAPI_GROUPNAME),$(DOMAPI_REGEXP)); \
   570 	  $(call OptionTrip,-linkoffline,$(DOMAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
   571         ) >> $@
   573 # Create a file with the package names in it
   574 $(DOMAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(DOMAPI_PKGS))
   575 	$(prep-target)
   576 	$(call PackageFilter,$(DOMAPI_PKGS))
   578 #############################################################
   579 #
   580 # jpdadocs
   581 #
   583 ALL_OTHER_TARGETS += jpdadocs
   585 jpdadocs: jdidocs jdwpdocs jvmtidocs
   587 #############################################################
   588 #
   589 # jdidocs
   590 #
   592 ALL_OTHER_TARGETS += jdidocs
   594 JDI_DOCDIR      := $(JDK_API_DOCSDIR)/jpda/jdi
   595 JDI2COREAPI     := ../../$(JDKJRE2COREAPI)
   596 JDI_DOCTITLE    := Java$(TRADEMARK) Debug Interface
   597 JDI_WINDOWTITLE := Java Debug Interface
   598 JDI_HEADER      := <strong>Java Debug Interface</strong>
   599 JDI_BOTTOM      := $(call CommonBottom,$(JDI_FIRST_COPYRIGHT_YEAR))
   600 JDI_OVERVIEW    := $(JDK_SHARE_CLASSES)/jdi-overview.html
   601 # JDI_PKGS is located in NON_CORE_PKGS.gmk
   603 # The index.html, options, and packages files
   604 JDI_INDEX_FILE    = $(JDI_DOCDIR)/index.html
   605 JDI_OPTIONS_FILE  = $(DOCSTMPDIR)/jdi.options
   606 JDI_PACKAGES_FILE = $(DOCSTMPDIR)/jdi.packages
   608 jdidocs: $(JDI_INDEX_FILE)
   610 # Set relative location to core api document root
   611 $(JDI_INDEX_FILE): GET2DOCSDIR=$(JDI2COREAPI)/..
   613 # Run javadoc if the index file is out of date or missing
   614 $(JDI_INDEX_FILE): $(JDI_OPTIONS_FILE) $(JDI_PACKAGES_FILE)
   615 	$(prep-javadoc)
   616 	$(call JavadocSummary,$(JDI_OPTIONS_FILE),$(JDI_PACKAGES_FILE))
   617 	$(JAVADOC_CMD) -d $(@D) \
   618 	  @$(JDI_OPTIONS_FILE) @$(JDI_PACKAGES_FILE)
   620 # Create file with javadoc options in it
   621 $(JDI_OPTIONS_FILE): $(JDI_OVERVIEW)
   622 	$(prep-target)
   623 	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS))			; \
   624 	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))	; \
   625 	  $(call OptionPair,-encoding,ascii)				; \
   626 	  $(call OptionPair,-overview,$(JDI_OVERVIEW))			; \
   627 	  $(call OptionPair,-doctitle,$(JDI_DOCTITLE))			; \
   628 	  $(call OptionPair,-windowtitle,$(JDI_WINDOWTITLE) $(DRAFT_WINTITLE)); \
   629 	  $(call OptionPair,-header,$(JDI_HEADER)$(DRAFT_HEADER))	; \
   630 	  $(call OptionPair,-bottom,$(JDI_BOTTOM)$(DRAFT_BOTTOM))	; \
   631 	  $(call OptionTrip,-linkoffline,$(JDI2COREAPI),$(COREAPI_DOCSDIR)/); \
   632         ) >> $@
   634 # Create a file with the package names in it
   635 $(JDI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JDI_PKGS))
   636 	$(prep-target)
   637 	$(call PackageFilter,$(JDI_PKGS))
   639 #############################################################
   640 #
   641 # jdwpdocs
   642 #
   644 ALL_OTHER_TARGETS += jdwpdocs
   646 JDWP_DOCDIR     = $(PLATFORM_DOCSDIR)/jpda/jdwp
   648 jdwpdocs: $(JDWP_DOCDIR)/jdwp-protocol.html
   649 $(JDWP_DOCDIR)/jdwp-protocol.html : $(JDK_OUTPUTDIR)/gensrc_jdwp_doc/jdwp-protocol.html
   650 	$(MKDIR) -p $(@D)
   651 	$(RM) $@
   652 	$(CP) $< $@
   654 #############################################################
   655 #
   656 # jvmtidocs
   657 #
   659 ALL_OTHER_TARGETS += jvmtidocs
   661 JVMTI_DOCDIR      = $(PLATFORM_DOCSDIR)/jvmti
   662 JVMTI_HTML        = $(HOTSPOT_DIST)/docs/platform/jvmti/jvmti.html
   664 jvmtidocs:  $(JVMTI_DOCDIR)/jvmti.html
   665 $(JVMTI_DOCDIR)/jvmti.html:
   666 	@$(prep-javadoc)
   667 	@if [ -f $(JVMTI_HTML) ] ; then		                           \
   668 	  $(ECHO) "$(CP) $(JVMTI_HTML) $@";                 	           \
   669 	  $(CP) $(JVMTI_HTML) $@; 	                 	           \
   670 	else 						                   \
   671 	  $(ECHO) "WARNING: Generated file does not exist: $(JVMTI_HTML)"; \
   672 	fi
   674 #############################################################
   675 #
   676 # jaasdocs
   677 #
   679 ALL_OTHER_TARGETS += jaasdocs
   681 JAAS_DOCDIR	 := $(JRE_API_DOCSDIR)/security/jaas/spec
   682 JAAS2COREAPI     := ../../../$(JDKJRE2COREAPI)
   683 JAAS_DOCTITLE    := Java$(TRADEMARK) Authentication and Authorization Service
   684 JAAS_WINDOWTITLE := Java Authentication and Authorization Service
   685 JAAS_HEADER      := <strong>Java Authentication and Authorization Service</strong>
   686 JAAS_BOTTOM      := $(call CommonBottom,$(JAAS_FIRST_COPYRIGHT_YEAR))
   687 # JAAS_PKGS is located in NON_CORE_PKGS.gmk
   688 JAAS_OVERVIEW    := $(JDK_SHARE_CLASSES)/com/sun/security/auth/jaas-overview.html
   690 # The index.html, options, and packages files
   691 JAAS_INDEX_FILE    = $(JAAS_DOCDIR)/index.html
   692 JAAS_OPTIONS_FILE  = $(DOCSTMPDIR)/jaas.options
   693 JAAS_PACKAGES_FILE = $(DOCSTMPDIR)/jaas.packages
   695 jaasdocs: $(JAAS_INDEX_FILE)
   697 # Set relative location to core api document root
   698 $(JAAS_INDEX_FILE): GET2DOCSDIR=$(JAAS2COREAPI)/..
   700 # Run javadoc if the index file is out of date or missing
   701 $(JAAS_INDEX_FILE): $(JAAS_OPTIONS_FILE) $(JAAS_PACKAGES_FILE)
   702 	$(prep-javadoc)
   703 	$(call JavadocSummary,$(JAAS_OPTIONS_FILE),$(JAAS_PACKAGES_FILE))
   704 	$(JAVADOC_CMD) -d $(@D) \
   705 	  @$(JAAS_OPTIONS_FILE) @$(JAAS_PACKAGES_FILE)
   707 # Create file with javadoc options in it
   708 $(JAAS_OPTIONS_FILE): $(JAAS_OVERVIEW)
   709 	$(prep-target)
   710 	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS))			; \
   711 	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))	; \
   712 	  $(call OptionPair,-encoding,ascii)				; \
   713 	  $(call OptionPair,-overview,$(JAAS_OVERVIEW))			; \
   714 	  $(call OptionPair,-doctitle,$(JAAS_DOCTITLE))			; \
   715 	  $(call OptionPair,-windowtitle,$(JAAS_WINDOWTITLE) $(DRAFT_WINTITLE)); \
   716 	  $(call OptionPair,-header,$(JAAS_HEADER)$(DRAFT_HEADER))	; \
   717 	  $(call OptionPair,-bottom,$(JAAS_BOTTOM)$(DRAFT_BOTTOM))	; \
   718 	  $(call OptionTrip,-linkoffline,$(JAAS2COREAPI),$(COREAPI_DOCSDIR)/); \
   719         ) >> $@
   721 # Create a file with the package names in it
   722 $(JAAS_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JAAS_PKGS))
   723 	$(prep-target)
   724 	$(call PackageFilter,$(JAAS_PKGS))
   726 #############################################################
   727 #
   728 # jgssdocs
   729 #
   731 ALL_OTHER_TARGETS += jgssdocs
   733 JGSS_DOCDIR	 := $(JRE_API_DOCSDIR)/security/jgss/spec
   734 JGSS2COREAPI     := ../../../$(JDKJRE2COREAPI)
   735 JGSS_DOCTITLE    := Java$(TRADEMARK) GSS-API Utilities
   736 JGSS_WINDOWTITLE := Java GSS-API Utilities
   737 JGSS_HEADER      := <strong>Java GSS-API Utilities</strong>
   738 JGSS_BOTTOM      := $(call CommonBottom,$(JGSS_FIRST_COPYRIGHT_YEAR))
   739 JGSS_OVERVIEW    := $(JDK_SHARE_CLASSES)/com/sun/security/jgss/jgss-overview.html
   740 # JGSS_PKGS is located in NON_CORE_PKGS.gmk
   742 # The index.html, options, and packages files
   743 JGSS_INDEX_FILE    = $(JGSS_DOCDIR)/index.html
   744 JGSS_OPTIONS_FILE  = $(DOCSTMPDIR)/jgss.options
   745 JGSS_PACKAGES_FILE = $(DOCSTMPDIR)/jgss.packages
   747 jgssdocs: $(JGSS_INDEX_FILE)
   749 # Set relative location to core api document root
   750 $(JGSS_INDEX_FILE): GET2DOCSDIR=$(JGSS2COREAPI)/..
   752 # Run javadoc if the index file is out of date or missing
   753 $(JGSS_INDEX_FILE): $(JGSS_OPTIONS_FILE) $(JGSS_PACKAGES_FILE)
   754 	$(prep-javadoc)
   755 	$(call JavadocSummary,$(JGSS_OPTIONS_FILE),$(JGSS_PACKAGES_FILE))
   756 	$(JAVADOC_CMD) -d $(@D) \
   757 	  @$(JGSS_OPTIONS_FILE) @$(JGSS_PACKAGES_FILE)
   759 # Create file with javadoc options in it
   760 $(JGSS_OPTIONS_FILE): $(JGSS_OVERVIEW)
   761 	$(prep-target)
   762 	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS))			; \
   763 	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))	; \
   764 	  $(call OptionPair,-encoding,ascii)				; \
   765 	  $(call OptionOnly,-nodeprecatedlist)				; \
   766 	  $(call OptionPair,-overview,$(JGSS_OVERVIEW))			; \
   767 	  $(call OptionPair,-doctitle,$(JGSS_DOCTITLE))			; \
   768 	  $(call OptionPair,-windowtitle,$(JGSS_WINDOWTITLE) $(DRAFT_WINTITLE)); \
   769 	  $(call OptionPair,-header,$(JGSS_HEADER)$(DRAFT_HEADER))	; \
   770 	  $(call OptionPair,-bottom,$(JGSS_BOTTOM)$(DRAFT_BOTTOM))	; \
   771 	  $(call OptionTrip,-linkoffline,$(JGSS2COREAPI),$(COREAPI_DOCSDIR)/); \
   772         ) >> $@
   774 # Create a file with the package names in it
   775 $(JGSS_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JGSS_PKGS))
   776 	$(prep-target)
   777 	$(call PackageFilter,$(JGSS_PKGS))
   779 #############################################################
   780 #
   781 # smartcardiodocs
   782 #
   784 ALL_OTHER_TARGETS += smartcardiodocs
   786 SMARTCARDIO_DOCDIR	:= $(JRE_API_DOCSDIR)/security/smartcardio/spec
   787 SMARTCARDIO2COREAPI     := ../../../$(JDKJRE2COREAPI)
   788 SMARTCARDIO_DOCTITLE    := Java$(TRADEMARK) Smart Card I/O
   789 SMARTCARDIO_WINDOWTITLE := Java Smart Card I/O
   790 SMARTCARDIO_HEADER      := <strong>Java Smart Card I/O</strong>
   791 SMARTCARDIO_BOTTOM      := $(call CommonBottom,$(SMARTCARDIO_FIRST_COPYRIGHT_YEAR))
   792 # SMARTCARDIO_PKGS is located in NON_CORE_PKGS.gmk
   794 # The index.html, options, and packages files
   795 SMARTCARDIO_INDEX_FILE    = $(SMARTCARDIO_DOCDIR)/index.html
   796 SMARTCARDIO_OPTIONS_FILE  = $(DOCSTMPDIR)/smartcardio.options
   797 SMARTCARDIO_PACKAGES_FILE = $(DOCSTMPDIR)/smartcardio.packages
   799 smartcardiodocs: $(SMARTCARDIO_INDEX_FILE)
   801 # Set relative location to core api document root
   802 $(SMARTCARDIO_INDEX_FILE): GET2DOCSDIR=$(SMARTCARDIO2COREAPI)/..
   804 # Run javadoc if the index file is out of date or missing
   805 $(SMARTCARDIO_INDEX_FILE): $(SMARTCARDIO_OPTIONS_FILE) $(SMARTCARDIO_PACKAGES_FILE)
   806 	$(prep-javadoc)
   807 	$(call JavadocSummary,$(SMARTCARDIO_OPTIONS_FILE),$(SMARTCARDIO_PACKAGES_FILE))
   808 	$(JAVADOC_CMD) -d $(@D) \
   809 	  @$(SMARTCARDIO_OPTIONS_FILE) @$(SMARTCARDIO_PACKAGES_FILE)
   811 # Create file with javadoc options in it
   812 $(SMARTCARDIO_OPTIONS_FILE):
   813 	$(prep-target)
   814 	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS))			; \
   815 	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))	; \
   816 	  $(call OptionPair,-encoding,ascii)				; \
   817 	  $(call OptionOnly,-nodeprecatedlist)				; \
   818 	  $(call OptionPair,-doctitle,$(SMARTCARDIO_DOCTITLE))		; \
   819 	  $(call OptionPair,-windowtitle,$(SMARTCARDIO_WINDOWTITLE) $(DRAFT_WINTITLE));\
   820 	  $(call OptionPair,-header,$(SMARTCARDIO_HEADER)$(DRAFT_HEADER)); \
   821 	  $(call OptionPair,-bottom,$(SMARTCARDIO_BOTTOM)$(DRAFT_BOTTOM)); \
   822 	  $(call OptionTrip,-linkoffline,$(SMARTCARDIO2COREAPI),$(COREAPI_DOCSDIR)/); \
   823         ) >> $@
   825 # Create a file with the package names in it
   826 $(SMARTCARDIO_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(SMARTCARDIO_PKGS))
   827 	$(prep-target)
   828 	$(call PackageFilter,$(SMARTCARDIO_PKGS))
   830 #############################################################
   831 #
   832 # httpserverdocs
   833 #
   835 ALL_OTHER_TARGETS += httpserverdocs
   837 HTTPSERVER_DOCDIR      := $(JRE_API_DOCSDIR)/net/httpserver/spec
   838 HTTPSERVER2COREAPI     := ../../../$(JDKJRE2COREAPI)
   839 HTTPSERVER_DOCTITLE    := Java$(TRADEMARK) HTTP Server
   840 HTTPSERVER_WINDOWTITLE := Java HTTP Server
   841 HTTPSERVER_HEADER      := <strong>Java HTTP Server</strong>
   842 HTTPSERVER_BOTTOM      := $(call CommonBottom,$(HTTPSERVER_FIRST_COPYRIGHT_YEAR))
   843 # HTTPSERVER_PKGS is located in NON_CORE_PKGS.gmk
   845 HTTPSERVER_INDEX_HTML    = $(HTTPSERVER_DOCDIR)/index.html
   846 HTTPSERVER_OPTIONS_FILE  = $(DOCSTMPDIR)/httpserver.options
   847 HTTPSERVER_PACKAGES_FILE = $(DOCSTMPDIR)/httpserver.packages
   849 httpserverdocs: $(HTTPSERVER_INDEX_HTML)
   851 # Set relative location to core api document root
   852 $(HTTPSERVER_INDEX_HTML): GET2DOCSDIR=$(HTTPSERVER2COREAPI)/..
   854 # Run javadoc if the index file is out of date or missing
   855 $(HTTPSERVER_INDEX_HTML): $(HTTPSERVER_OPTIONS_FILE) $(HTTPSERVER_PACKAGES_FILE)
   856 	$(prep-javadoc)
   857 	$(call JavadocSummary,$(HTTPSERVER_OPTIONS_FILE),$(HTTPSERVER_PACKAGES_FILE))
   858 	$(JAVADOC_CMD) -d $(@D) \
   859 	  @$(HTTPSERVER_OPTIONS_FILE) @$(HTTPSERVER_PACKAGES_FILE)
   861 # Create file with javadoc options in it
   862 $(HTTPSERVER_OPTIONS_FILE):
   863 	$(prep-target)
   864 	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS))			; \
   865 	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))	; \
   866 	  $(call OptionPair,-encoding,ascii)				; \
   867 	  $(call OptionOnly,-nodeprecatedlist)				; \
   868 	  $(call OptionPair,-doctitle,$(HTTPSERVER_DOCTITLE))		; \
   869 	  $(call OptionPair,-windowtitle,$(HTTPSERVER_WINDOWTITLE) $(DRAFT_WINTITLE));\
   870 	  $(call OptionPair,-header,$(HTTPSERVER_HEADER)$(DRAFT_HEADER)); \
   871 	  $(call OptionPair,-bottom,$(HTTPSERVER_BOTTOM)$(DRAFT_BOTTOM)); \
   872 	  $(call OptionTrip,-linkoffline,$(HTTPSERVER2COREAPI),$(COREAPI_DOCSDIR)/); \
   873         ) >> $@
   875 # Create a file with the package names in it
   876 $(HTTPSERVER_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(HTTPSERVER_PKGS))
   877 	$(prep-target)
   878 	$(call PackageFilter,$(HTTPSERVER_PKGS))
   880 #############################################################
   881 #
   882 # mgmtdocs
   883 #
   885 ALL_OTHER_TARGETS += mgmtdocs
   887 MGMT_DOCDIR	 := $(JRE_API_DOCSDIR)/management/extension
   888 MGMT2COREAPI     := ../../$(JDKJRE2COREAPI)
   889 JVM_MIB_NAME     := JVM-MANAGEMENT-MIB.mib
   890 JVM_MIB_SRC      := $(CLOSED_SRC)/share/classes/sun/management/snmp/$(JVM_MIB_NAME)
   891 MGMT_DOCTITLE    := Monitoring and Management Interface for the Java$(TRADEMARK) Platform
   892 MGMT_WINDOWTITLE := Monitoring and Management Interface for the Java Platform
   893 MGMT_HEADER      := <strong>Monitoring and Management Interface for the Java Platform</strong>
   894 MGMT_BOTTOM      := $(call CommonBottom,$(MGMT_FIRST_COPYRIGHT_YEAR))
   895 MGMT_OVERVIEW    := $(JDK_SHARE_CLASSES)/com/sun/management/mgmt-overview.html
   896 # MGMT_PKGS is located in NON_CORE_PKGS.gmk
   898 # The index.html, options, and packages files
   899 MGMT_INDEX_FILE    = $(MGMT_DOCDIR)/index.html
   900 MGMT_OPTIONS_FILE  = $(DOCSTMPDIR)/mgmt.options
   901 MGMT_PACKAGES_FILE = $(DOCSTMPDIR)/mgmt.packages
   903 mgmtdocs: $(MGMT_INDEX_FILE)
   905 # Set relative location to core api document root
   906 $(MGMT_INDEX_FILE): GET2DOCSDIR=$(MGMT2COREAPI)/..
   908 # Run javadoc if the index file is out of date or missing
   909 $(MGMT_INDEX_FILE): $(MGMT_OPTIONS_FILE) $(MGMT_PACKAGES_FILE)
   910 	$(prep-javadoc)
   911 	@if [ -f $(JVM_MIB_SRC) ] ; then 				\
   912 	  $(ECHO) "$(CP) $(JVM_MIB_SRC) $(@D)/.."; 			\
   913 	  $(CP) $(JVM_MIB_SRC) $(@D)/.. ; 				\
   914 	else 								\
   915 	  $(ECHO) "WARNING: File $(JVM_MIB_NAME) not available."; 	\
   916 	fi
   917 	$(call JavadocSummary,$(MGMT_OPTIONS_FILE),$(MGMT_PACKAGES_FILE))
   918 	$(JAVADOC_CMD) -d $(@D) \
   919 	  @$(MGMT_OPTIONS_FILE) @$(MGMT_PACKAGES_FILE)
   921 # Create file with javadoc options in it
   922 $(MGMT_OPTIONS_FILE): $(MGMT_OVERVIEW)
   923 	$(prep-target)
   924 	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS))			; \
   925 	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))	; \
   926 	  $(call OptionPair,-encoding,ascii)				; \
   927 	  $(call OptionOnly,-nodeprecatedlist)				; \
   928 	  $(call OptionPair,-overview,$(MGMT_OVERVIEW))			; \
   929 	  $(call OptionPair,-doctitle,$(MGMT_DOCTITLE))			; \
   930 	  $(call OptionPair,-windowtitle,$(MGMT_WINDOWTITLE) $(DRAFT_WINTITLE)); \
   931 	  $(call OptionPair,-header,$(MGMT_HEADER)$(DRAFT_HEADER))	; \
   932 	  $(call OptionPair,-bottom,$(MGMT_BOTTOM)$(DRAFT_BOTTOM))	; \
   933 	  $(call OptionTrip,-linkoffline,$(MGMT2COREAPI),$(COREAPI_DOCSDIR)/); \
   934         ) >> $@
   936 # Create a file with the package names in it
   937 $(MGMT_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(MGMT_PKGS))
   938 	$(prep-target)
   939 	$(call PackageFilter,$(MGMT_PKGS))
   941 #############################################################
   942 #
   943 # attachdocs
   944 #
   946 ALL_OTHER_TARGETS += attachdocs
   948 ATTACH_DOCDIR      := $(JDK_API_DOCSDIR)/attach/spec
   949 ATTACH2COREAPI     := ../../$(JDKJRE2COREAPI)
   950 ATTACH_DOCTITLE    := Attach API
   951 ATTACH_WINDOWTITLE := Attach API
   952 ATTACH_HEADER      := <strong>Attach API</strong>
   953 ATTACH_BOTTOM      := $(call CommonBottom,$(ATTACH_FIRST_COPYRIGHT_YEAR))
   954 # ATTACH_PKGS is located in NON_CORE_PKGS.gmk
   956 ATTACH_INDEX_HTML    = $(ATTACH_DOCDIR)/index.html
   957 ATTACH_OPTIONS_FILE  = $(DOCSTMPDIR)/attach.options
   958 ATTACH_PACKAGES_FILE = $(DOCSTMPDIR)/attach.packages
   960 attachdocs: $(ATTACH_INDEX_HTML)
   962 # Set relative location to core api document root
   963 $(ATTACH_INDEX_HTML): GET2DOCSDIR=$(ATTACH2COREAPI)/..
   965 # Run javadoc if the index file is out of date or missing
   966 $(ATTACH_INDEX_HTML): $(ATTACH_OPTIONS_FILE) $(ATTACH_PACKAGES_FILE)
   967 	$(prep-javadoc)
   968 	$(call JavadocSummary,$(ATTACH_OPTIONS_FILE),$(ATTACH_PACKAGES_FILE))
   969 	$(JAVADOC_CMD) -d $(@D) \
   970 	  @$(ATTACH_OPTIONS_FILE) @$(ATTACH_PACKAGES_FILE)
   972 # Create file with javadoc options in it
   973 $(ATTACH_OPTIONS_FILE):
   974 	$(prep-target)
   975 	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS))			; \
   976 	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))	; \
   977 	  $(call OptionPair,-encoding,ascii)				; \
   978 	  $(call OptionOnly,-nodeprecatedlist)				; \
   979 	  $(call OptionPair,-doctitle,$(ATTACH_DOCTITLE))		; \
   980 	  $(call OptionPair,-windowtitle,$(ATTACH_WINDOWTITLE) $(DRAFT_WINTITLE));\
   981 	  $(call OptionPair,-header,$(ATTACH_HEADER)$(DRAFT_HEADER))	; \
   982 	  $(call OptionPair,-bottom,$(ATTACH_BOTTOM)$(DRAFT_BOTTOM))	; \
   983 	  $(call OptionTrip,-linkoffline,$(ATTACH2COREAPI),$(COREAPI_DOCSDIR)/); \
   984         ) >> $@
   986 # Create a file with the package names in it
   987 $(ATTACH_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(ATTACH_PKGS))
   988 	$(prep-target)
   989 	$(call PackageFilter,$(ATTACH_PKGS))
   991 #############################################################
   992 #
   993 # jconsoledocs
   994 #
   996 ALL_OTHER_TARGETS += jconsoledocs
   998 JCONSOLE_DOCDIR      := $(JDK_API_DOCSDIR)/jconsole/spec
   999 JCONSOLE2COREAPI     := ../../$(JDKJRE2COREAPI)
  1000 JCONSOLE_DOCTITLE    := JConsole API
  1001 JCONSOLE_WINDOWTITLE := JConsole API
  1002 JCONSOLE_HEADER      := <strong>JConsole API</strong>
  1003 JCONSOLE_BOTTOM      := $(call CommonBottom,$(JCONSOLE_FIRST_COPYRIGHT_YEAR))
  1004 # JCONSOLE_PKGS is located in NON_CORE_PKGS.gmk
  1006 JCONSOLE_INDEX_HTML    = $(JCONSOLE_DOCDIR)/index.html
  1007 JCONSOLE_OPTIONS_FILE  = $(DOCSTMPDIR)/jconsole.options
  1008 JCONSOLE_PACKAGES_FILE = $(DOCSTMPDIR)/jconsole.packages
  1010 jconsoledocs: $(JCONSOLE_INDEX_HTML)
  1012 # Set relative location to core api document root
  1013 $(JCONSOLE_INDEX_HTML): GET2DOCSDIR=$(JCONSOLE2COREAPI)/..
  1015 # Run javadoc if the index file is out of date or missing
  1016 $(JCONSOLE_INDEX_HTML): $(JCONSOLE_OPTIONS_FILE) $(JCONSOLE_PACKAGES_FILE)
  1017 	$(prep-javadoc)
  1018 	$(call JavadocSummary,$(JCONSOLE_OPTIONS_FILE),$(JCONSOLE_PACKAGES_FILE))
  1019 	$(JAVADOC_CMD) -d $(@D) \
  1020 	  @$(JCONSOLE_OPTIONS_FILE) @$(JCONSOLE_PACKAGES_FILE)
  1022 # Create file with javadoc options in it
  1023 $(JCONSOLE_OPTIONS_FILE):
  1024 	$(prep-target)
  1025 	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS))			; \
  1026 	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))	; \
  1027 	  $(call OptionPair,-encoding,ascii)				; \
  1028 	  $(call OptionOnly,-nodeprecatedlist)				; \
  1029 	  $(call OptionPair,-doctitle,$(JCONSOLE_DOCTITLE))		; \
  1030 	  $(call OptionPair,-windowtitle,$(JCONSOLE_WINDOWTITLE) $(DRAFT_WINTITLE));\
  1031 	  $(call OptionPair,-header,$(JCONSOLE_HEADER)$(DRAFT_HEADER))	; \
  1032 	  $(call OptionPair,-bottom,$(JCONSOLE_BOTTOM)$(DRAFT_BOTTOM))	; \
  1033 	  $(call OptionTrip,-linkoffline,$(JCONSOLE2COREAPI),$(COREAPI_DOCSDIR)/); \
  1034         ) >> $@
  1036 # Create a file with the package names in it
  1037 $(JCONSOLE_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JCONSOLE_PKGS))
  1038 	$(prep-target)
  1039 	$(call PackageFilter,$(JCONSOLE_PKGS))
  1041 #############################################################
  1043 # treeapidocs
  1046 ALL_OTHER_TARGETS += treeapidocs
  1048 TREEAPI_DOCDIR       := $(JDK_API_DOCSDIR)/javac/tree
  1049 TREEAPI2COREAPI      := ../../$(JDKJRE2COREAPI)
  1050 TREEAPI_DOCTITLE     := Compiler Tree API
  1051 TREEAPI_WINDOWTITLE  := Compiler Tree API
  1052 TREEAPI_HEADER       := <strong>Compiler Tree API</strong>
  1053 TREEAPI_BOTTOM       := $(call CommonBottom,$(TREEAPI_FIRST_COPYRIGHT_YEAR))
  1054 TREEAPI_GROUPNAME    := Packages
  1055 TREEAPI_REGEXP       := com.sun.source.*
  1056 # TREEAPI_PKGS is located in NON_CORE_PKGS.gmk
  1058 TREEAPI_INDEX_HTML    = $(TREEAPI_DOCDIR)/index.html
  1059 TREEAPI_OPTIONS_FILE  = $(DOCSTMPDIR)/treeapi.options
  1060 TREEAPI_PACKAGES_FILE = $(DOCSTMPDIR)/treeapi.packages
  1062 treeapidocs: $(TREEAPI_INDEX_HTML)
  1064 # Set relative location to core api document root
  1065 $(TREEAPI_INDEX_HTML): GET2DOCSDIR=$(TREEAPI2COREAPI)/..
  1067 # Run javadoc if the index file is out of date or missing
  1068 $(TREEAPI_INDEX_HTML): $(TREEAPI_OPTIONS_FILE) $(TREEAPI_PACKAGES_FILE)
  1069 	$(prep-javadoc)
  1070 	$(call JavadocSummary,$(TREEAPI_OPTIONS_FILE),$(TREEAPI_PACKAGES_FILE))
  1071 	$(JAVADOC_CMD) -d $(@D) \
  1072 	  @$(TREEAPI_OPTIONS_FILE) @$(TREEAPI_PACKAGES_FILE)
  1074 # Create file with javadoc options in it
  1075 $(TREEAPI_OPTIONS_FILE):
  1076 	$(prep-target)
  1077 	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS))			; \
  1078 	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))	; \
  1079 	  $(call OptionPair,-encoding,ascii)				; \
  1080 	  $(call OptionPair,-doctitle,$(TREEAPI_DOCTITLE))		; \
  1081 	  $(call OptionPair,-windowtitle,$(TREEAPI_WINDOWTITLE) $(DRAFT_WINTITLE));\
  1082 	  $(call OptionPair,-header,$(TREEAPI_HEADER)$(DRAFT_HEADER))	; \
  1083           $(call OptionPair,-tag,$(TAG_JLS)) 				; \
  1084 	  $(call OptionPair,-bottom,$(TREEAPI_BOTTOM)$(DRAFT_BOTTOM))	; \
  1085 	  $(call OptionTrip,-group,$(TREEAPI_GROUPNAME),$(TREEAPI_REGEXP)); \
  1086 	  $(call OptionTrip,-linkoffline,$(TREEAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
  1087         ) >> $@
  1089 # Create a file with the package names in it
  1090 $(TREEAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(TREEAPI_PKGS))
  1091 	$(prep-target)
  1092 	$(call PackageFilter,$(TREEAPI_PKGS))
  1094 #############################################################
  1096 # sctpdocs
  1099 ALL_OTHER_TARGETS += sctpdocs
  1101 SCTPAPI_DOCDIR      := $(JRE_API_DOCSDIR)/nio/sctp/spec
  1102 SCTPAPI2COREAPI     := ../../../$(JDKJRE2COREAPI)
  1103 SCTPAPI_DOCTITLE    := SCTP API
  1104 SCTPAPI_WINDOWTITLE := SCTP API
  1105 SCTPAPI_HEADER      := <strong>SCTP API</strong>
  1106 SCTPAPI_BOTTOM      := $(call CommonBottom,$(SCTPAPI_FIRST_COPYRIGHT_YEAR))
  1107 # SCTPAPI_PKGS is located in NON_CORE_PKGS.gmk
  1109 SCTPAPI_INDEX_HTML    = $(SCTPAPI_DOCDIR)/index.html
  1110 SCTPAPI_OPTIONS_FILE  = $(DOCSTMPDIR)/sctp.options
  1111 SCTPAPI_PACKAGES_FILE = $(DOCSTMPDIR)/sctp.packages
  1113 sctpdocs: $(SCTPAPI_INDEX_HTML)
  1115 # Set relative location to core api document root
  1116 $(SCTPAPI_INDEX_HTML): GET2DOCSDIR=$(SCTPAPI2COREAPI)/..
  1118 # Run javadoc if the index file is out of date or missing
  1119 $(SCTPAPI_INDEX_HTML): $(SCTPAPI_OPTIONS_FILE) $(SCTPAPI_PACKAGES_FILE)
  1120 	$(prep-javadoc)
  1121 	$(call JavadocSummary,$(SCTPAPI_OPTIONS_FILE),$(SCTPAPI_PACKAGES_FILE))
  1122 	$(JAVADOC_CMD) -d $(@D) \
  1123 	  @$(SCTPAPI_OPTIONS_FILE) @$(SCTPAPI_PACKAGES_FILE)
  1125 # Create file with javadoc options in it
  1126 $(SCTPAPI_OPTIONS_FILE):
  1127 	$(prep-target)
  1128 	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS))			; \
  1129 	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))	; \
  1130 	  $(call OptionPair,-encoding,ascii)				; \
  1131 	  $(call OptionOnly,-nodeprecatedlist)				; \
  1132 	  $(call OptionPair,-doctitle,$(SCTPAPI_DOCTITLE))		; \
  1133 	  $(call OptionPair,-windowtitle,$(SCTPAPI_WINDOWTITLE) $(DRAFT_WINTITLE));\
  1134 	  $(call OptionPair,-header,$(SCTPAPI_HEADER)$(DRAFT_HEADER))	; \
  1135 	  $(call OptionPair,-bottom,$(SCTPAPI_BOTTOM)$(DRAFT_BOTTOM))	; \
  1136 	  $(call OptionTrip,-linkoffline,$(SCTPAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
  1137         ) >> $@
  1139 # Create a file with the package names in it
  1140 $(SCTPAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(SCTPAPI_PKGS))
  1141 	$(prep-target)
  1142 	$(call PackageFilter,$(SCTPAPI_PKGS))
  1144 #############################################################
  1146 # Get a cache of all the directories
  1148 $(DIRECTORY_CACHE): $(ALL_EXISTING_SOURCE_DIRS)
  1149 	$(prep-target)
  1150 	@for cp in $(ALL_EXISTING_SOURCE_DIRS) ; do 	\
  1151 	  $(ECHO) "$(FIND) $${cp} -type f >> $@"; 	\
  1152 	  $(FIND) $${cp} -type f >> $@; 		\
  1153 	done
  1155 #############################################################
  1156 #release version of core packages ########
  1157 # Maximize performance and ensure that build number & milestone are set.
  1159 rel-coredocs: sanitycheckcoredocs
  1160 	$(MAKE) coredocs
  1162 rel-docs: rel-coredocs $(ALL_OTHER_TARGETS)
  1164 # end of production targets
  1166 otherdocs: $(ALL_OTHER_TARGETS)
  1168 clean:
  1169 	$(RM) -r $(DOCSDIR) $(DOCSTMPDIR)
  1171 #############################################################
  1172 # DEBUG TARGET
  1173 # List the values defined in the makefile hierarchy, to make sure everything
  1174 # is set properly, and to help identify values we can use instead of making new ones.
  1175 # (Most of them come from common/shared/Defs.gmk)
  1177 #  Notes:
  1178 #    * BUILD_NUMBER defaults to b00 if not set on command line with BUILD_NUMBER=<value>
  1179 #    * MILESTONE defaults to internal unless set to beta, rc, or fcs on command line
  1182 #############################################################
  1183 .PHONY: all docs coredocs rel-docs otherdocs rel-coredocs \
  1184         sanitycheckcoredocs $(ALL_OTHER_TARGETS)

mercurial