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 # 24 25 include $(SPEC) 26 include MakeBase.gmk 27 28 .SUFFIXES: # Delete the default suffixes 29 .SUFFIXES: .java 30 31 # 32 # Definitions for $(DOCSDIR), $(MKDIR), $(BINDIR), etc. 33 # 34 35 DOCSDIR=$(OUTPUT_ROOT)/docs 36 TEMPDIR=$(OUTPUT_ROOT)/docstemp 37 38 JDK_SHARE_SRC=$(JDK_TOPDIR)/src/share 39 JDK_SHARE_CLASSES=$(JDK_SHARE_SRC)/classes 40 41 JDK_IMPSRC = $(JDK_OUTPUTDIR)/impsrc 42 43 JDK_GENSRC = $(JDK_OUTPUTDIR)/gensrc 44 45 HOTSPOT_DOCS_IMPORT_PATH=$(HOTSPOT_OUTPUTDIR)/docs 46 47 BUILD_NUMBER=$(JDK_BUILD_NUMBER) 48 49 JAVADOC_CMD = $(JAVA) \ 50 -Xmx1024m \ 51 -Djava.awt.headless=true \ 52 $(NEW_JAVADOC) \ 53 -bootclasspath $(JDK_OUTPUTDIR)/classes 54 55 # Copyright year for beginning of Java and some of the apis 56 # (Needed when creating the javadocs) 57 FIRST_COPYRIGHT_YEAR = 1993 58 DOMAPI_FIRST_COPYRIGHT_YEAR = 2005 59 MIRROR_FIRST_COPYRIGHT_YEAR = 2004 60 DOCLETAPI_FIRST_COPYRIGHT_YEAR = 1993 61 TAGLETAPI_FIRST_COPYRIGHT_YEAR = 1993 62 JDI_FIRST_COPYRIGHT_YEAR = 1999 63 JAAS_FIRST_COPYRIGHT_YEAR = 1998 64 JGSS_FIRST_COPYRIGHT_YEAR = 2000 65 SMARTCARDIO_FIRST_COPYRIGHT_YEAR = 2005 66 HTTPSERVER_FIRST_COPYRIGHT_YEAR = 2005 67 MGMT_FIRST_COPYRIGHT_YEAR = 2003 68 ATTACH_FIRST_COPYRIGHT_YEAR = 2005 69 JCONSOLE_FIRST_COPYRIGHT_YEAR = 2006 70 SCTPAPI_FIRST_COPYRIGHT_YEAR = 2009 71 TRACING_FIRST_COPYRIGHT_YEAR = 2008 72 TREEAPI_FIRST_COPYRIGHT_YEAR = 2005 73 JNLP_FIRST_COPYRIGHT_YEAR = 1998 74 PLUGIN2_FIRST_COPYRIGHT_YEAR = 2007 75 JDKNET_FIRST_COPYRIGHT_YEAR = 2014 76 77 # Oracle name 78 FULL_COMPANY_NAME = Oracle and/or its affiliates 79 80 # Copyright address 81 COMPANY_ADDRESS = 500 Oracle Parkway<br>Redwood Shores, CA 94065 USA. 82 83 # The trademark symbol 84 TRADEMARK = ™ 85 86 # Common copyright lines used 87 # The word "Copyright" might optionally be a link to the file cpyr.html. 88 # The first year of copyright may vary or not be available. 89 # The address to the company might be optional. 90 COMMA:= , 91 EMPTY:= 92 SPACE:=$(EMPTY) $(EMPTY) 93 COPYRIGHT_SYMBOL = &\#x00a9; 94 # Macro to construct the copyright line 95 # (The GNU make 3.78.1 "if" conditional is broken, fixed in GNU make 3.81) 96 define CopyrightLine # optionalurl optionalfirstyear optionaladdress 97 $(if $(strip $1),<a href="$(strip $1)">Copyright</a>,Copyright) \ 98 $(COPYRIGHT_SYMBOL) $(if $2,$2${COMMA},) $(COPYRIGHT_YEAR),\ 99 $(FULL_COMPANY_NAME). $3 All rights reserved. 100 endef 101 102 # Url to root of documents 103 DOCSDIR_URL = {@docroot}/$(GET2DOCSDIR) 104 105 # Url to copyright html file 106 COPYRIGHT_URL-7 = $(DOCSDIR_URL)/legal/cpyr.html 107 # This isn't added in old build yet. 108 #COPYRIGHT_URL-8 = $(DOCSDIR_URL)/legal/cpyr.html 109 COPYRIGHT_URL = $(COPYRIGHT_URL-$(JDK_MINOR_VERSION)) 110 111 # Url to bug filing site 112 BUG_SUBMIT_URL = http://bugreport.sun.com/bugreport/ 113 114 # Common line for how to submit a bug or rfe 115 BUG_SUBMIT_LINE = <a href="$(BUG_SUBMIT_URL)">Submit a bug or feature</a> 116 117 # Url to devdocs page 118 # Was: http://java.sun.com/javase/6/webnotes/devdocs-vs-specs.html 119 DEV_DOCS_URL-7 = http://download.oracle.com/javase/7/docs/index.html 120 DEV_DOCS_URL-8 = http://download.oracle.com/javase/8/docs/index.html 121 DEV_DOCS_URL = $(DEV_DOCS_URL-$(JDK_MINOR_VERSION)) 122 DOCS_BASE_URL = http://download.oracle.com/javase/7/docs 123 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. 127 128 ################################################################# 129 # Macros: 130 131 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 144 145 # List of directories that actually exist 146 ALL_EXISTING_SOURCE_DIRS := $(wildcard $(ALL_SOURCE_DIRS)) 147 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))) 153 154 define prep-target 155 $(MKDIR) -p $(@D) 156 $(RM) $@ 157 endef 158 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 167 168 # A cache of the directories in ALL_SOURCE_DIRS 169 DIRECTORY_CACHE = $(DOCSTMPDIR)/directory.cache 170 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 183 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 203 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 210 211 # 212 # Temporary directory for javadoc creation 213 # 214 DOCSTMPDIR = $(TEMPDIR)/doctmp 215 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 223 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 228 229 # Common bottom argument 230 define CommonBottom # year 231 <font size="-1"><br> $(call CopyrightLine,,$1,)</font> 232 endef 233 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 241 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 252 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> 262 263 # Common javadoc options used by all 264 COMMON_JAVADOCFLAGS = \ 265 -XDignore.symbol.file=true \ 266 -quiet \ 267 -use \ 268 -keywords \ 269 -Xprofilespath $(JDK_TOPDIR)/make/profile-rtjar-includes.txt \ 270 $(ADDITIONAL_JAVADOCFLAGS) 271 272 ifdef OPENJDK 273 ADDITIONAL_JAVADOCFLAGS = \ 274 -Xdocrootparent $(DOCS_BASE_URL) 275 else 276 ADDITIONAL_JAVADOCFLAGS = 277 endif 278 279 # Draft used for non-fcs documents 280 DRAFT_HEADER = 281 ifneq ($(MILESTONE), fcs) 282 DRAFT_HEADER = <br><strong>DRAFT $(MILESTONE)-$(BUILD_NUMBER)</strong> 283 DRAFT_BOTTOM = <br><strong>DRAFT $(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 298 endif 299 300 ################################################################# 301 302 # 303 # CORE_PKGS environment variable has been moved to the following file 304 # 305 include CORE_PKGS.gmk 306 307 # 308 # Load environment variables for API package names that are not part of 309 # the Java SE platform 310 # 311 include NON_CORE_PKGS.gmk 312 313 ################################################################# 314 315 # 316 # Default target is same as docs target, create core api and all others it can 317 # 318 319 all: docs 320 docs: coredocs otherdocs 321 322 ################################################################# 323 # Production Targets -- USE THESE TARGETS WHEN: 324 # a) You're generating docs outside of release engineering's 325 # standard control build. 326 # b) The docs will be pushed to the web and/or included in 327 # the downloaded doc bundle. 328 # 329 # See: Notes.html#releaseTargets 330 # Note: Spaces precede ifdef/ifndef indents. Tabs precede target commands (!) 331 # 332 333 sanitycheckcoredocs: 334 @$(ECHO) "" 335 @$(ECHO) "Building core api docs with these values:" 336 @$(ECHO) " BUILD_NUMBER = $(BUILD_NUMBER)" 337 @$(ECHO) " MILESTONE = $(MILESTONE)" 338 @$(ECHO) "" 339 ifeq ($(BUILD_NUMBER), b00) 340 @$(ECHO) "ERROR: Build number must be defined" 341 @$(ECHO) "MILESTONE is set to $(MILESTONE)" 342 @$(ECHO) "" 343 exit 1 344 endif 345 346 ############################################################# 347 # 348 # coredocs 349 # 350 COREAPI_DOCTITLE = Java$(TRADEMARK) Platform, Standard Edition \ 351 $(JDK_MINOR_VERSION)<br>API Specification 352 COREAPI_WINDOWTITLE = Java Platform SE $(JDK_MINOR_VERSION) 353 COREAPI_HEADER = \ 354 <strong>Java$(TRADEMARK) Platform<br>Standard Ed. $(JDK_MINOR_VERSION)</strong> 355 356 # Java language specification cite 357 TAG_JLS = jls:a:See <cite> \ 358 The Java™ Language Specification</cite>: 359 360 # Overview file for core apis 361 COREAPI_OVERVIEW = $(JDK_SHARE_CLASSES)/overview-core.html 362 363 # The index.html, options, and packages files 364 COREAPI_INDEX_FILE = $(COREAPI_DOCSDIR)/index.html 365 COREAPI_OPTIONS_FILE = $(DOCSTMPDIR)/coredocs.options 366 COREAPI_PACKAGES_FILE = $(DOCSTMPDIR)/coredocs.packages 367 368 coredocs: $(COREAPI_INDEX_FILE) 369 370 # Set relative location to core api document root 371 $(COREAPI_INDEX_FILE): GET2DOCSDIR=.. 372 373 # Run javadoc if the index file is out of date or missing 374 $(COREAPI_INDEX_FILE): $(COREAPI_OPTIONS_FILE) $(COREAPI_PACKAGES_FILE) 375 $(prep-javadoc) 376 $(call JavadocSummary,$(COREAPI_OPTIONS_FILE),$(COREAPI_PACKAGES_FILE)) 377 $(JAVADOC_CMD) -d $(@D) \ 378 @$(COREAPI_OPTIONS_FILE) @$(COREAPI_PACKAGES_FILE) 379 380 # Create file with javadoc options in it 381 $(COREAPI_OPTIONS_FILE): $(COREAPI_OVERVIEW) 382 $(prep-target) 383 @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \ 384 $(call OptionOnly,-Xdoclint:none) ; \ 385 $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \ 386 $(call OptionPair,-encoding,ISO-8859-1) ; \ 387 $(call OptionPair,-tag,beaninfo:X) ; \ 388 $(call OptionPair,-tag,revised:X) ; \ 389 $(call OptionPair,-tag,since.unbundled:X) ; \ 390 $(call OptionPair,-tag,spec:X) ; \ 391 $(call OptionPair,-tag,specdefault:X) ; \ 392 $(call OptionPair,-tag,Note:X) ; \ 393 $(call OptionPair,-tag,ToDo:X) ; \ 394 $(call OptionPair,-tag,apiNote:a:API Note:) ; \ 395 $(call OptionPair,-tag,implSpec:a:Implementation Requirements:) ; \ 396 $(call OptionPair,-tag,implNote:a:Implementation Note:) ; \ 397 $(call OptionPair,-tag,param) ; \ 398 $(call OptionPair,-tag,return) ; \ 399 $(call OptionPair,-tag,throws) ; \ 400 $(call OptionPair,-tag,since) ; \ 401 $(call OptionPair,-tag,version) ; \ 402 $(call OptionPair,-tag,serialData) ; \ 403 $(call OptionPair,-tag,factory) ; \ 404 $(call OptionPair,-tag,see) ; \ 405 $(call OptionPair,-tag,$(TAG_JLS)) ; \ 406 $(call OptionOnly,-splitIndex) ; \ 407 $(call OptionPair,-overview,$(COREAPI_OVERVIEW)) ; \ 408 $(call OptionPair,-doctitle,$(COREAPI_DOCTITLE)) ; \ 409 $(call OptionPair,-windowtitle,$(COREAPI_WINDOWTITLE) $(DRAFT_WINTITLE)) ; \ 410 $(call OptionPair,-header,$(COREAPI_HEADER)$(DRAFT_HEADER)) ; \ 411 $(call OptionPair,-bottom,$(COREAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \ 412 ) >> $@ 413 ifdef COREAPI_TOP_EARLYACCESS 414 @$(call OptionPair,-top,$(COREAPI_TOP_EARLYACCESS)) >> $@ 415 endif 416 417 # Create a file with the package names in it 418 $(COREAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(CORE_PKGS)) 419 $(prep-target) 420 $(call PackageFilter,$(CORE_PKGS)) 421 422 ############################################################# 423 # 424 # docletapidocs 425 # 426 427 ALL_OTHER_TARGETS += docletapidocs 428 429 DOCLETAPI_DOCDIR := $(JDK_API_DOCSDIR)/javadoc/doclet 430 DOCLETAPI2COREAPI := ../../$(JDKJRE2COREAPI) 431 DOCLETAPI_DOCTITLE := Doclet API 432 DOCLETAPI_WINDOWTITLE := Doclet API 433 DOCLETAPI_HEADER := <strong>Doclet API</strong> 434 DOCLETAPI_BOTTOM := $(call CommonTrademarkBottom,$(DOCLETAPI_FIRST_COPYRIGHT_YEAR)) 435 DOCLETAPI_GROUPNAME := Packages 436 DOCLETAPI_REGEXP := com.sun.javadoc 437 # DOCLETAPI_PKGS is located in NON_CORE_PKGS.gmk 438 439 # The index.html, options, and packages files 440 DOCLETAPI_INDEX_FILE = $(DOCLETAPI_DOCDIR)/index.html 441 DOCLETAPI_OPTIONS_FILE = $(DOCSTMPDIR)/docletapi.options 442 DOCLETAPI_PACKAGES_FILE = $(DOCSTMPDIR)/docletapi.packages 443 444 docletapidocs: $(DOCLETAPI_INDEX_FILE) 445 446 # Set relative location to core api document root 447 $(DOCLETAPI_INDEX_FILE): GET2DOCSDIR=$(DOCLETAPI2COREAPI)/.. 448 449 # Run javadoc if the index file is out of date or missing 450 $(DOCLETAPI_INDEX_FILE): $(DOCLETAPI_OPTIONS_FILE) $(DOCLETAPI_PACKAGES_FILE) coredocs 451 $(prep-javadoc) 452 $(call JavadocSummary,$(DOCLETAPI_OPTIONS_FILE),$(DOCLETAPI_PACKAGES_FILE)) 453 $(JAVADOC_CMD) -d $(@D) \ 454 @$(DOCLETAPI_OPTIONS_FILE) @$(DOCLETAPI_PACKAGES_FILE) 455 456 # Create file with javadoc options in it 457 $(DOCLETAPI_OPTIONS_FILE): 458 $(prep-target) 459 @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \ 460 $(call OptionOnly,-Xdoclint:none) ; \ 461 $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \ 462 $(call OptionPair,-encoding,ascii) ; \ 463 $(call OptionOnly,-breakiterator) ; \ 464 $(call OptionPair,-doctitle,$(DOCLETAPI_DOCTITLE)) ; \ 465 $(call OptionPair,-windowtitle,$(DOCLETAPI_WINDOWTITLE) $(DRAFT_WINTITLE)); \ 466 $(call OptionPair,-header,$(DOCLETAPI_HEADER)$(DRAFT_HEADER)) ; \ 467 $(call OptionPair,-bottom,$(DOCLETAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \ 468 $(call OptionTrip,-group,$(DOCLETAPI_GROUPNAME),$(DOCLETAPI_REGEXP)); \ 469 $(call OptionTrip,-linkoffline,$(DOCLETAPI2COREAPI),$(COREAPI_DOCSDIR)/); \ 470 ) >> $@ 471 472 # Create a file with the package names in it 473 $(DOCLETAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(DOCLETAPI_PKGS)) 474 $(prep-target) 475 $(call PackageFilter,$(DOCLETAPI_PKGS)) 476 477 ############################################################# 478 # 479 # tagletapidocs 480 # 481 482 ALL_OTHER_TARGETS += tagletapidocs 483 TAGLETAPI_DOCDIR := $(JDK_API_DOCSDIR)/javadoc/taglet 484 TAGLETAPI2COREAPI := ../../$(JDKJRE2COREAPI) 485 TAGLETAPI_BOTTOM := $(call CommonTrademarkBottom,$(TAGLETAPI_FIRST_COPYRIGHT_YEAR)) 486 # TAGLETAPI_FILE is located in NON_CORE_PKGS.gmk 487 488 # Temporary directory (special generation rules) 489 TAGLETAPI_TEMPDIR = $(DOCSTMPDIR)/taglets_temp 490 491 # The index.html, options, and packages files 492 TAGLETAPI_INDEX_FILE = $(TAGLETAPI_DOCDIR)/index.html 493 TAGLETAPI_OPTIONS_FILE = $(DOCSTMPDIR)/tagletapi.options 494 TAGLETAPI_PACKAGES_FILE = $(DOCSTMPDIR)/tagletapi.packages 495 496 tagletapidocs: $(TAGLETAPI_INDEX_FILE) 497 498 # Set relative location to core api document root 499 $(TAGLETAPI_INDEX_FILE): GET2DOCSDIR=$(TAGLETAPI2COREAPI)/.. 500 501 # Run javadoc if the index file is out of date or missing 502 $(TAGLETAPI_INDEX_FILE): $(TAGLETAPI_OPTIONS_FILE) $(TAGLETAPI_PACKAGES_FILE) coredocs 503 $(prep-javadoc) 504 $(RM) -r $(TAGLETAPI_TEMPDIR) 505 $(MKDIR) -p $(TAGLETAPI_TEMPDIR) 506 $(call JavadocSummary,$(TAGLETAPI_OPTIONS_FILE),$(TAGLETAPI_PACKAGES_FILE)) 507 $(JAVADOC_CMD) -d $(TAGLETAPI_TEMPDIR) \ 508 @$(TAGLETAPI_OPTIONS_FILE) @$(TAGLETAPI_PACKAGES_FILE) 509 cp -r $(TAGLETAPI_TEMPDIR)/com $(@D) 510 cp $(TAGLETAPI_TEMPDIR)/stylesheet.css $(@D) 511 $(RM) -r $(TAGLETAPI_TEMPDIR) 512 513 # Create file with javadoc options in it 514 $(TAGLETAPI_OPTIONS_FILE): 515 $(prep-target) 516 @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \ 517 $(call OptionOnly,-Xdoclint:none) ; \ 518 $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \ 519 $(call OptionPair,-encoding,ascii) ; \ 520 $(call OptionOnly,-nonavbar) ; \ 521 $(call OptionOnly,-noindex) ; \ 522 $(call OptionPair,-bottom,$(TAGLETAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \ 523 $(call OptionTrip,-linkoffline,$(TAGLETAPI2COREAPI),$(COREAPI_DOCSDIR)/); \ 524 ) >> $@ 525 526 # Create a file with the package names in it 527 $(TAGLETAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(TAGLETAPI_PKGS)) 528 $(prep-target) 529 @($(ECHO) "$(JDK_IMPSRC)/$(TAGLETAPI_FILE)" ) > $@ 530 531 ############################################################# 532 # 533 # domapidocs 534 # 535 536 ALL_OTHER_TARGETS += domapidocs 537 538 DOMAPI_DOCDIR := $(JRE_API_DOCSDIR)/plugin/dom 539 DOMAPI2COREAPI := ../../$(JDKJRE2COREAPI) 540 DOMAPI_DOCTITLE := Common DOM API 541 DOMAPI_WINDOWTITLE := Common DOM API 542 DOMAPI_HEADER := <strong>Common DOM API</strong> 543 DOMAPI_BOTTOM := $(call CommonTrademarkBottom,$(DOMAPI_FIRST_COPYRIGHT_YEAR)) 544 DOMAPI_GROUPNAME := Packages 545 DOMAPI_REGEXP := com.sun.java.browser.dom:org.w3c.dom* 546 # DOMAPI_PKGS is located in NON_CORE_PKGS.gmk 547 548 # The index.html, options, and packages files 549 DOMAPI_INDEX_FILE = $(DOMAPI_DOCDIR)/index.html 550 DOMAPI_OPTIONS_FILE = $(DOCSTMPDIR)/domapi.options 551 DOMAPI_PACKAGES_FILE = $(DOCSTMPDIR)/domapi.packages 552 553 domapidocs: $(DOMAPI_INDEX_FILE) 554 555 # Set relative location to core api document root 556 $(DOMAPI_INDEX_FILE): GET2DOCSDIR=$(DOMAPI2COREAPI)/.. 557 558 # Run javadoc if the index file is out of date or missing 559 $(DOMAPI_INDEX_FILE): $(DOMAPI_OPTIONS_FILE) $(DOMAPI_PACKAGES_FILE) coredocs 560 $(prep-javadoc) 561 $(call JavadocSummary,$(DOMAPI_OPTIONS_FILE),$(DOMAPI_PACKAGES_FILE)) 562 $(JAVADOC_CMD) -d $(@D) \ 563 @$(DOMAPI_OPTIONS_FILE) @$(DOMAPI_PACKAGES_FILE) 564 565 # Create file with javadoc options in it 566 $(DOMAPI_OPTIONS_FILE): 567 $(prep-target) 568 @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \ 569 $(call OptionOnly,-Xdoclint:none) ; \ 570 $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \ 571 $(call OptionPair,-encoding,ascii) ; \ 572 $(call OptionOnly,-splitIndex) ; \ 573 $(call OptionPair,-doctitle,$(DOMAPI_DOCTITLE)) ; \ 574 $(call OptionPair,-windowtitle,$(DOMAPI_WINDOWTITLE) $(DRAFT_WINTITLE)); \ 575 $(call OptionPair,-header,$(DOMAPI_HEADER)$(DRAFT_HEADER)) ; \ 576 $(call OptionPair,-bottom,$(DOMAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \ 577 $(call OptionTrip,-group,$(DOMAPI_GROUPNAME),$(DOMAPI_REGEXP)); \ 578 $(call OptionTrip,-linkoffline,$(DOMAPI2COREAPI),$(COREAPI_DOCSDIR)/); \ 579 ) >> $@ 580 581 # Create a file with the package names in it 582 $(DOMAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(DOMAPI_PKGS)) 583 $(prep-target) 584 $(call PackageFilter,$(DOMAPI_PKGS)) 585 586 ############################################################# 587 # 588 # jpdadocs 589 # 590 591 ALL_OTHER_TARGETS += jpdadocs 592 593 jpdadocs: jdidocs jdwpdocs jvmtidocs 594 595 ############################################################# 596 # 597 # jdidocs 598 # 599 600 ALL_OTHER_TARGETS += jdidocs 601 602 JDI_DOCDIR := $(JDK_API_DOCSDIR)/jpda/jdi 603 JDI2COREAPI := ../../$(JDKJRE2COREAPI) 604 JDI_DOCTITLE := Java$(TRADEMARK) Debug Interface 605 JDI_WINDOWTITLE := Java Debug Interface 606 JDI_HEADER := <strong>Java Debug Interface</strong> 607 JDI_BOTTOM := $(call CommonBottom,$(JDI_FIRST_COPYRIGHT_YEAR)) 608 JDI_OVERVIEW := $(JDK_SHARE_CLASSES)/jdi-overview.html 609 # JDI_PKGS is located in NON_CORE_PKGS.gmk 610 611 # The index.html, options, and packages files 612 JDI_INDEX_FILE = $(JDI_DOCDIR)/index.html 613 JDI_OPTIONS_FILE = $(DOCSTMPDIR)/jdi.options 614 JDI_PACKAGES_FILE = $(DOCSTMPDIR)/jdi.packages 615 616 jdidocs: $(JDI_INDEX_FILE) 617 618 # Set relative location to core api document root 619 $(JDI_INDEX_FILE): GET2DOCSDIR=$(JDI2COREAPI)/.. 620 621 # Run javadoc if the index file is out of date or missing 622 $(JDI_INDEX_FILE): $(JDI_OPTIONS_FILE) $(JDI_PACKAGES_FILE) coredocs 623 $(prep-javadoc) 624 $(call JavadocSummary,$(JDI_OPTIONS_FILE),$(JDI_PACKAGES_FILE)) 625 $(JAVADOC_CMD) -d $(@D) \ 626 @$(JDI_OPTIONS_FILE) @$(JDI_PACKAGES_FILE) 627 628 # Create file with javadoc options in it 629 $(JDI_OPTIONS_FILE): $(JDI_OVERVIEW) 630 $(prep-target) 631 @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \ 632 $(call OptionOnly,-Xdoclint:none) ; \ 633 $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \ 634 $(call OptionPair,-encoding,ascii) ; \ 635 $(call OptionPair,-overview,$(JDI_OVERVIEW)) ; \ 636 $(call OptionPair,-doctitle,$(JDI_DOCTITLE)) ; \ 637 $(call OptionPair,-windowtitle,$(JDI_WINDOWTITLE) $(DRAFT_WINTITLE)); \ 638 $(call OptionPair,-header,$(JDI_HEADER)$(DRAFT_HEADER)) ; \ 639 $(call OptionPair,-bottom,$(JDI_BOTTOM)$(DRAFT_BOTTOM)) ; \ 640 $(call OptionTrip,-linkoffline,$(JDI2COREAPI),$(COREAPI_DOCSDIR)/); \ 641 ) >> $@ 642 643 # Create a file with the package names in it 644 $(JDI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JDI_PKGS)) 645 $(prep-target) 646 $(call PackageFilter,$(JDI_PKGS)) 647 648 ############################################################# 649 # 650 # jdwpdocs 651 # 652 653 ALL_OTHER_TARGETS += jdwpdocs 654 655 JDWP_DOCDIR = $(PLATFORM_DOCSDIR)/jpda/jdwp 656 657 jdwpdocs: $(JDWP_DOCDIR)/jdwp-protocol.html 658 $(JDWP_DOCDIR)/jdwp-protocol.html : $(JDK_OUTPUTDIR)/gensrc_jdwp_doc/jdwp-protocol.html 659 $(MKDIR) -p $(@D) 660 $(RM) $@ 661 $(CP) $< $@ 662 663 ############################################################# 664 # 665 # jvmtidocs 666 # 667 668 ALL_OTHER_TARGETS += jvmtidocs 669 670 JVMTI_DOCDIR = $(PLATFORM_DOCSDIR)/jvmti 671 JVMTI_HTML = $(HOTSPOT_DIST)/docs/platform/jvmti/jvmti.html 672 673 jvmtidocs: $(JVMTI_DOCDIR)/jvmti.html 674 $(JVMTI_DOCDIR)/jvmti.html: 675 @$(prep-javadoc) 676 @if [ -f $(JVMTI_HTML) ] ; then \ 677 $(ECHO) "$(CP) $(JVMTI_HTML) $@"; \ 678 $(CP) $(JVMTI_HTML) $@; \ 679 else \ 680 $(ECHO) "WARNING: Generated file does not exist: $(JVMTI_HTML)"; \ 681 fi 682 683 ############################################################# 684 # 685 # jaasdocs 686 # 687 688 ALL_OTHER_TARGETS += jaasdocs 689 690 JAAS_DOCDIR := $(JRE_API_DOCSDIR)/security/jaas/spec 691 JAAS2COREAPI := ../../../$(JDKJRE2COREAPI) 692 JAAS_DOCTITLE := Java$(TRADEMARK) Authentication and Authorization Service 693 JAAS_WINDOWTITLE := Java Authentication and Authorization Service 694 JAAS_HEADER := <strong>Java Authentication and Authorization Service</strong> 695 JAAS_BOTTOM := $(call CommonBottom,$(JAAS_FIRST_COPYRIGHT_YEAR)) 696 # JAAS_PKGS is located in NON_CORE_PKGS.gmk 697 JAAS_OVERVIEW := $(JDK_SHARE_CLASSES)/com/sun/security/auth/jaas-overview.html 698 699 # The index.html, options, and packages files 700 JAAS_INDEX_FILE = $(JAAS_DOCDIR)/index.html 701 JAAS_OPTIONS_FILE = $(DOCSTMPDIR)/jaas.options 702 JAAS_PACKAGES_FILE = $(DOCSTMPDIR)/jaas.packages 703 704 jaasdocs: $(JAAS_INDEX_FILE) 705 706 # Set relative location to core api document root 707 $(JAAS_INDEX_FILE): GET2DOCSDIR=$(JAAS2COREAPI)/.. 708 709 # Run javadoc if the index file is out of date or missing 710 $(JAAS_INDEX_FILE): $(JAAS_OPTIONS_FILE) $(JAAS_PACKAGES_FILE) coredocs 711 $(prep-javadoc) 712 $(call JavadocSummary,$(JAAS_OPTIONS_FILE),$(JAAS_PACKAGES_FILE)) 713 $(JAVADOC_CMD) -d $(@D) \ 714 @$(JAAS_OPTIONS_FILE) @$(JAAS_PACKAGES_FILE) 715 716 # Create file with javadoc options in it 717 $(JAAS_OPTIONS_FILE): $(JAAS_OVERVIEW) 718 $(prep-target) 719 @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \ 720 $(call OptionOnly,-Xdoclint:none) ; \ 721 $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \ 722 $(call OptionPair,-encoding,ascii) ; \ 723 $(call OptionPair,-overview,$(JAAS_OVERVIEW)) ; \ 724 $(call OptionPair,-doctitle,$(JAAS_DOCTITLE)) ; \ 725 $(call OptionPair,-windowtitle,$(JAAS_WINDOWTITLE) $(DRAFT_WINTITLE)); \ 726 $(call OptionPair,-header,$(JAAS_HEADER)$(DRAFT_HEADER)) ; \ 727 $(call OptionPair,-bottom,$(JAAS_BOTTOM)$(DRAFT_BOTTOM)) ; \ 728 $(call OptionTrip,-linkoffline,$(JAAS2COREAPI),$(COREAPI_DOCSDIR)/); \ 729 ) >> $@ 730 731 # Create a file with the package names in it 732 $(JAAS_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JAAS_PKGS)) 733 $(prep-target) 734 $(call PackageFilter,$(JAAS_PKGS)) 735 736 ############################################################# 737 # 738 # jgssdocs 739 # 740 741 ALL_OTHER_TARGETS += jgssdocs 742 743 JGSS_DOCDIR := $(JRE_API_DOCSDIR)/security/jgss/spec 744 JGSS2COREAPI := ../../../$(JDKJRE2COREAPI) 745 JGSS_DOCTITLE := Java$(TRADEMARK) GSS-API Utilities 746 JGSS_WINDOWTITLE := Java GSS-API Utilities 747 JGSS_HEADER := <strong>Java GSS-API Utilities</strong> 748 JGSS_BOTTOM := $(call CommonBottom,$(JGSS_FIRST_COPYRIGHT_YEAR)) 749 JGSS_OVERVIEW := $(JDK_SHARE_CLASSES)/com/sun/security/jgss/jgss-overview.html 750 # JGSS_PKGS is located in NON_CORE_PKGS.gmk 751 752 # The index.html, options, and packages files 753 JGSS_INDEX_FILE = $(JGSS_DOCDIR)/index.html 754 JGSS_OPTIONS_FILE = $(DOCSTMPDIR)/jgss.options 755 JGSS_PACKAGES_FILE = $(DOCSTMPDIR)/jgss.packages 756 757 jgssdocs: $(JGSS_INDEX_FILE) 758 759 # Set relative location to core api document root 760 $(JGSS_INDEX_FILE): GET2DOCSDIR=$(JGSS2COREAPI)/.. 761 762 # Run javadoc if the index file is out of date or missing 763 $(JGSS_INDEX_FILE): $(JGSS_OPTIONS_FILE) $(JGSS_PACKAGES_FILE) coredocs 764 $(prep-javadoc) 765 $(call JavadocSummary,$(JGSS_OPTIONS_FILE),$(JGSS_PACKAGES_FILE)) 766 $(JAVADOC_CMD) -d $(@D) \ 767 @$(JGSS_OPTIONS_FILE) @$(JGSS_PACKAGES_FILE) 768 769 # Create file with javadoc options in it 770 $(JGSS_OPTIONS_FILE): $(JGSS_OVERVIEW) 771 $(prep-target) 772 @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \ 773 $(call OptionOnly,-Xdoclint:none) ; \ 774 $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \ 775 $(call OptionPair,-encoding,ascii) ; \ 776 $(call OptionOnly,-nodeprecatedlist) ; \ 777 $(call OptionPair,-overview,$(JGSS_OVERVIEW)) ; \ 778 $(call OptionPair,-doctitle,$(JGSS_DOCTITLE)) ; \ 779 $(call OptionPair,-windowtitle,$(JGSS_WINDOWTITLE) $(DRAFT_WINTITLE)); \ 780 $(call OptionPair,-header,$(JGSS_HEADER)$(DRAFT_HEADER)) ; \ 781 $(call OptionPair,-bottom,$(JGSS_BOTTOM)$(DRAFT_BOTTOM)) ; \ 782 $(call OptionTrip,-linkoffline,$(JGSS2COREAPI),$(COREAPI_DOCSDIR)/); \ 783 ) >> $@ 784 785 # Create a file with the package names in it 786 $(JGSS_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JGSS_PKGS)) 787 $(prep-target) 788 $(call PackageFilter,$(JGSS_PKGS)) 789 790 ############################################################# 791 # 792 # smartcardiodocs 793 # 794 795 ALL_OTHER_TARGETS += smartcardiodocs 796 797 SMARTCARDIO_DOCDIR := $(JRE_API_DOCSDIR)/security/smartcardio/spec 798 SMARTCARDIO2COREAPI := ../../../$(JDKJRE2COREAPI) 799 SMARTCARDIO_DOCTITLE := Java$(TRADEMARK) Smart Card I/O 800 SMARTCARDIO_WINDOWTITLE := Java Smart Card I/O 801 SMARTCARDIO_HEADER := <strong>Java Smart Card I/O</strong> 802 SMARTCARDIO_BOTTOM := $(call CommonBottom,$(SMARTCARDIO_FIRST_COPYRIGHT_YEAR)) 803 # SMARTCARDIO_PKGS is located in NON_CORE_PKGS.gmk 804 805 # The index.html, options, and packages files 806 SMARTCARDIO_INDEX_FILE = $(SMARTCARDIO_DOCDIR)/index.html 807 SMARTCARDIO_OPTIONS_FILE = $(DOCSTMPDIR)/smartcardio.options 808 SMARTCARDIO_PACKAGES_FILE = $(DOCSTMPDIR)/smartcardio.packages 809 810 smartcardiodocs: $(SMARTCARDIO_INDEX_FILE) 811 812 # Set relative location to core api document root 813 $(SMARTCARDIO_INDEX_FILE): GET2DOCSDIR=$(SMARTCARDIO2COREAPI)/.. 814 815 # Run javadoc if the index file is out of date or missing 816 $(SMARTCARDIO_INDEX_FILE): $(SMARTCARDIO_OPTIONS_FILE) $(SMARTCARDIO_PACKAGES_FILE) coredocs 817 $(prep-javadoc) 818 $(call JavadocSummary,$(SMARTCARDIO_OPTIONS_FILE),$(SMARTCARDIO_PACKAGES_FILE)) 819 $(JAVADOC_CMD) -d $(@D) \ 820 @$(SMARTCARDIO_OPTIONS_FILE) @$(SMARTCARDIO_PACKAGES_FILE) 821 822 # Create file with javadoc options in it 823 $(SMARTCARDIO_OPTIONS_FILE): 824 $(prep-target) 825 @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \ 826 $(call OptionOnly,-Xdoclint:none) ; \ 827 $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \ 828 $(call OptionPair,-encoding,ascii) ; \ 829 $(call OptionOnly,-nodeprecatedlist) ; \ 830 $(call OptionPair,-doctitle,$(SMARTCARDIO_DOCTITLE)) ; \ 831 $(call OptionPair,-windowtitle,$(SMARTCARDIO_WINDOWTITLE) $(DRAFT_WINTITLE)); \ 832 $(call OptionPair,-header,$(SMARTCARDIO_HEADER)$(DRAFT_HEADER)); \ 833 $(call OptionPair,-bottom,$(SMARTCARDIO_BOTTOM)$(DRAFT_BOTTOM)); \ 834 $(call OptionTrip,-linkoffline,$(SMARTCARDIO2COREAPI),$(COREAPI_DOCSDIR)/); \ 835 ) >> $@ 836 837 # Create a file with the package names in it 838 $(SMARTCARDIO_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(SMARTCARDIO_PKGS)) 839 $(prep-target) 840 $(call PackageFilter,$(SMARTCARDIO_PKGS)) 841 842 ############################################################# 843 # 844 # httpserverdocs 845 # 846 847 ALL_OTHER_TARGETS += httpserverdocs 848 849 HTTPSERVER_DOCDIR := $(JRE_API_DOCSDIR)/net/httpserver/spec 850 HTTPSERVER2COREAPI := ../../../$(JDKJRE2COREAPI) 851 HTTPSERVER_DOCTITLE := Java$(TRADEMARK) HTTP Server 852 HTTPSERVER_WINDOWTITLE := Java HTTP Server 853 HTTPSERVER_HEADER := <strong>Java HTTP Server</strong> 854 HTTPSERVER_BOTTOM := $(call CommonBottom,$(HTTPSERVER_FIRST_COPYRIGHT_YEAR)) 855 # HTTPSERVER_PKGS is located in NON_CORE_PKGS.gmk 856 857 HTTPSERVER_INDEX_HTML = $(HTTPSERVER_DOCDIR)/index.html 858 HTTPSERVER_OPTIONS_FILE = $(DOCSTMPDIR)/httpserver.options 859 HTTPSERVER_PACKAGES_FILE = $(DOCSTMPDIR)/httpserver.packages 860 861 httpserverdocs: $(HTTPSERVER_INDEX_HTML) 862 863 # Set relative location to core api document root 864 $(HTTPSERVER_INDEX_HTML): GET2DOCSDIR=$(HTTPSERVER2COREAPI)/.. 865 866 # Run javadoc if the index file is out of date or missing 867 $(HTTPSERVER_INDEX_HTML): $(HTTPSERVER_OPTIONS_FILE) $(HTTPSERVER_PACKAGES_FILE) coredocs 868 $(prep-javadoc) 869 $(call JavadocSummary,$(HTTPSERVER_OPTIONS_FILE),$(HTTPSERVER_PACKAGES_FILE)) 870 $(JAVADOC_CMD) -d $(@D) \ 871 @$(HTTPSERVER_OPTIONS_FILE) @$(HTTPSERVER_PACKAGES_FILE) 872 873 # Create file with javadoc options in it 874 $(HTTPSERVER_OPTIONS_FILE): 875 $(prep-target) 876 @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \ 877 $(call OptionOnly,-Xdoclint:none) ; \ 878 $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \ 879 $(call OptionPair,-encoding,ascii) ; \ 880 $(call OptionOnly,-nodeprecatedlist) ; \ 881 $(call OptionPair,-doctitle,$(HTTPSERVER_DOCTITLE)) ; \ 882 $(call OptionPair,-windowtitle,$(HTTPSERVER_WINDOWTITLE) $(DRAFT_WINTITLE)); \ 883 $(call OptionPair,-header,$(HTTPSERVER_HEADER)$(DRAFT_HEADER)); \ 884 $(call OptionPair,-bottom,$(HTTPSERVER_BOTTOM)$(DRAFT_BOTTOM)); \ 885 $(call OptionTrip,-linkoffline,$(HTTPSERVER2COREAPI),$(COREAPI_DOCSDIR)/); \ 886 ) >> $@ 887 888 # Create a file with the package names in it 889 $(HTTPSERVER_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(HTTPSERVER_PKGS)) 890 $(prep-target) 891 $(call PackageFilter,$(HTTPSERVER_PKGS)) 892 893 ############################################################# 894 # 895 # mgmtdocs 896 # 897 898 ALL_OTHER_TARGETS += mgmtdocs 899 900 MGMT_DOCDIR := $(JRE_API_DOCSDIR)/management/extension 901 MGMT2COREAPI := ../../$(JDKJRE2COREAPI) 902 JVM_MIB_NAME := JVM-MANAGEMENT-MIB.mib 903 JVM_MIB_SRC := $(JDK_TOPDIR)/src/closed/share/classes/sun/management/snmp/$(JVM_MIB_NAME) 904 MGMT_DOCTITLE := Monitoring and Management Interface for the Java$(TRADEMARK) Platform 905 MGMT_WINDOWTITLE := Monitoring and Management Interface for the Java Platform 906 MGMT_HEADER := <strong>Monitoring and Management Interface for the Java Platform</strong> 907 MGMT_BOTTOM := $(call CommonBottom,$(MGMT_FIRST_COPYRIGHT_YEAR)) 908 MGMT_OVERVIEW := $(JDK_SHARE_CLASSES)/com/sun/management/mgmt-overview.html 909 # MGMT_PKGS is located in NON_CORE_PKGS.gmk 910 911 # The index.html, options, and packages files 912 MGMT_INDEX_FILE = $(MGMT_DOCDIR)/index.html 913 MGMT_OPTIONS_FILE = $(DOCSTMPDIR)/mgmt.options 914 MGMT_PACKAGES_FILE = $(DOCSTMPDIR)/mgmt.packages 915 916 mgmtdocs: $(MGMT_INDEX_FILE) 917 918 # Set relative location to core api document root 919 $(MGMT_INDEX_FILE): GET2DOCSDIR=$(MGMT2COREAPI)/.. 920 921 # Run javadoc if the index file is out of date or missing 922 $(MGMT_INDEX_FILE): $(MGMT_OPTIONS_FILE) $(MGMT_PACKAGES_FILE) coredocs 923 $(prep-javadoc) 924 @if [ -f $(JVM_MIB_SRC) ] ; then \ 925 $(ECHO) "$(CP) $(JVM_MIB_SRC) $(@D)/.."; \ 926 $(CP) $(JVM_MIB_SRC) $(@D)/.. ; \ 927 else \ 928 $(ECHO) "WARNING: File $(JVM_MIB_NAME) not available."; \ 929 fi 930 $(call JavadocSummary,$(MGMT_OPTIONS_FILE),$(MGMT_PACKAGES_FILE)) 931 $(JAVADOC_CMD) -d $(@D) \ 932 @$(MGMT_OPTIONS_FILE) @$(MGMT_PACKAGES_FILE) 933 934 # Create file with javadoc options in it 935 $(MGMT_OPTIONS_FILE): $(MGMT_OVERVIEW) 936 $(prep-target) 937 @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \ 938 $(call OptionOnly,-Xdoclint:none) ; \ 939 $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \ 940 $(call OptionPair,-encoding,ascii) ; \ 941 $(call OptionOnly,-nodeprecatedlist) ; \ 942 $(call OptionPair,-overview,$(MGMT_OVERVIEW)) ; \ 943 $(call OptionPair,-doctitle,$(MGMT_DOCTITLE)) ; \ 944 $(call OptionPair,-windowtitle,$(MGMT_WINDOWTITLE) $(DRAFT_WINTITLE)); \ 945 $(call OptionPair,-header,$(MGMT_HEADER)$(DRAFT_HEADER)) ; \ 946 $(call OptionPair,-bottom,$(MGMT_BOTTOM)$(DRAFT_BOTTOM)) ; \ 947 $(call OptionTrip,-linkoffline,$(MGMT2COREAPI),$(COREAPI_DOCSDIR)/); \ 948 ) >> $@ 949 950 # Create a file with the package names in it 951 $(MGMT_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(MGMT_PKGS)) 952 $(prep-target) 953 $(call PackageFilter,$(MGMT_PKGS)) 954 955 ############################################################# 956 # 957 # attachdocs 958 # 959 960 ALL_OTHER_TARGETS += attachdocs 961 962 ATTACH_DOCDIR := $(JDK_API_DOCSDIR)/attach/spec 963 ATTACH2COREAPI := ../../$(JDKJRE2COREAPI) 964 ATTACH_DOCTITLE := Attach API 965 ATTACH_WINDOWTITLE := Attach API 966 ATTACH_HEADER := <strong>Attach API</strong> 967 ATTACH_BOTTOM := $(call CommonBottom,$(ATTACH_FIRST_COPYRIGHT_YEAR)) 968 # ATTACH_PKGS is located in NON_CORE_PKGS.gmk 969 970 ATTACH_INDEX_HTML = $(ATTACH_DOCDIR)/index.html 971 ATTACH_OPTIONS_FILE = $(DOCSTMPDIR)/attach.options 972 ATTACH_PACKAGES_FILE = $(DOCSTMPDIR)/attach.packages 973 974 attachdocs: $(ATTACH_INDEX_HTML) 975 976 # Set relative location to core api document root 977 $(ATTACH_INDEX_HTML): GET2DOCSDIR=$(ATTACH2COREAPI)/.. 978 979 # Run javadoc if the index file is out of date or missing 980 $(ATTACH_INDEX_HTML): $(ATTACH_OPTIONS_FILE) $(ATTACH_PACKAGES_FILE) coredocs 981 $(prep-javadoc) 982 $(call JavadocSummary,$(ATTACH_OPTIONS_FILE),$(ATTACH_PACKAGES_FILE)) 983 $(JAVADOC_CMD) -d $(@D) \ 984 @$(ATTACH_OPTIONS_FILE) @$(ATTACH_PACKAGES_FILE) 985 986 # Create file with javadoc options in it 987 $(ATTACH_OPTIONS_FILE): 988 $(prep-target) 989 @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \ 990 $(call OptionOnly,-Xdoclint:none) ; \ 991 $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \ 992 $(call OptionPair,-encoding,ascii) ; \ 993 $(call OptionOnly,-nodeprecatedlist) ; \ 994 $(call OptionPair,-doctitle,$(ATTACH_DOCTITLE)) ; \ 995 $(call OptionPair,-windowtitle,$(ATTACH_WINDOWTITLE) $(DRAFT_WINTITLE)); \ 996 $(call OptionPair,-header,$(ATTACH_HEADER)$(DRAFT_HEADER)) ; \ 997 $(call OptionPair,-bottom,$(ATTACH_BOTTOM)$(DRAFT_BOTTOM)) ; \ 998 $(call OptionTrip,-linkoffline,$(ATTACH2COREAPI),$(COREAPI_DOCSDIR)/); \ 999 ) >> $@ 1000 1001 # Create a file with the package names in it 1002 $(ATTACH_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(ATTACH_PKGS)) 1003 $(prep-target) 1004 $(call PackageFilter,$(ATTACH_PKGS)) 1005 1006 ############################################################# 1007 # 1008 # jconsoledocs 1009 # 1010 1011 ALL_OTHER_TARGETS += jconsoledocs 1012 1013 JCONSOLE_DOCDIR := $(JDK_API_DOCSDIR)/jconsole/spec 1014 JCONSOLE2COREAPI := ../../$(JDKJRE2COREAPI) 1015 JCONSOLE_DOCTITLE := JConsole API 1016 JCONSOLE_WINDOWTITLE := JConsole API 1017 JCONSOLE_HEADER := <strong>JConsole API</strong> 1018 JCONSOLE_BOTTOM := $(call CommonBottom,$(JCONSOLE_FIRST_COPYRIGHT_YEAR)) 1019 # JCONSOLE_PKGS is located in NON_CORE_PKGS.gmk 1020 1021 JCONSOLE_INDEX_HTML = $(JCONSOLE_DOCDIR)/index.html 1022 JCONSOLE_OPTIONS_FILE = $(DOCSTMPDIR)/jconsole.options 1023 JCONSOLE_PACKAGES_FILE = $(DOCSTMPDIR)/jconsole.packages 1024 1025 jconsoledocs: $(JCONSOLE_INDEX_HTML) 1026 1027 # Set relative location to core api document root 1028 $(JCONSOLE_INDEX_HTML): GET2DOCSDIR=$(JCONSOLE2COREAPI)/.. 1029 1030 # Run javadoc if the index file is out of date or missing 1031 $(JCONSOLE_INDEX_HTML): $(JCONSOLE_OPTIONS_FILE) $(JCONSOLE_PACKAGES_FILE) coredocs 1032 $(prep-javadoc) 1033 $(call JavadocSummary,$(JCONSOLE_OPTIONS_FILE),$(JCONSOLE_PACKAGES_FILE)) 1034 $(JAVADOC_CMD) -d $(@D) \ 1035 @$(JCONSOLE_OPTIONS_FILE) @$(JCONSOLE_PACKAGES_FILE) 1036 1037 # Create file with javadoc options in it 1038 $(JCONSOLE_OPTIONS_FILE): 1039 $(prep-target) 1040 @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \ 1041 $(call OptionOnly,-Xdoclint:none) ; \ 1042 $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \ 1043 $(call OptionPair,-encoding,ascii) ; \ 1044 $(call OptionOnly,-nodeprecatedlist) ; \ 1045 $(call OptionPair,-doctitle,$(JCONSOLE_DOCTITLE)) ; \ 1046 $(call OptionPair,-windowtitle,$(JCONSOLE_WINDOWTITLE) $(DRAFT_WINTITLE)); \ 1047 $(call OptionPair,-header,$(JCONSOLE_HEADER)$(DRAFT_HEADER)) ; \ 1048 $(call OptionPair,-bottom,$(JCONSOLE_BOTTOM)$(DRAFT_BOTTOM)) ; \ 1049 $(call OptionTrip,-linkoffline,$(JCONSOLE2COREAPI),$(COREAPI_DOCSDIR)/); \ 1050 ) >> $@ 1051 1052 # Create a file with the package names in it 1053 $(JCONSOLE_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JCONSOLE_PKGS)) 1054 $(prep-target) 1055 $(call PackageFilter,$(JCONSOLE_PKGS)) 1056 1057 ############################################################# 1058 # 1059 # treeapidocs 1060 # 1061 1062 ALL_OTHER_TARGETS += treeapidocs 1063 1064 TREEAPI_DOCDIR := $(JDK_API_DOCSDIR)/javac/tree 1065 TREEAPI2COREAPI := ../../$(JDKJRE2COREAPI) 1066 TREEAPI_DOCTITLE := Compiler Tree API 1067 TREEAPI_WINDOWTITLE := Compiler Tree API 1068 TREEAPI_HEADER := <strong>Compiler Tree API</strong> 1069 TREEAPI_BOTTOM := $(call CommonBottom,$(TREEAPI_FIRST_COPYRIGHT_YEAR)) 1070 TREEAPI_GROUPNAME := Packages 1071 TREEAPI_REGEXP := com.sun.source.* 1072 # TREEAPI_PKGS is located in NON_CORE_PKGS.gmk 1073 1074 TREEAPI_INDEX_HTML = $(TREEAPI_DOCDIR)/index.html 1075 TREEAPI_OPTIONS_FILE = $(DOCSTMPDIR)/treeapi.options 1076 TREEAPI_PACKAGES_FILE = $(DOCSTMPDIR)/treeapi.packages 1077 1078 treeapidocs: $(TREEAPI_INDEX_HTML) 1079 1080 # Set relative location to core api document root 1081 $(TREEAPI_INDEX_HTML): GET2DOCSDIR=$(TREEAPI2COREAPI)/.. 1082 1083 # Run javadoc if the index file is out of date or missing 1084 $(TREEAPI_INDEX_HTML): $(TREEAPI_OPTIONS_FILE) $(TREEAPI_PACKAGES_FILE) coredocs 1085 $(prep-javadoc) 1086 $(call JavadocSummary,$(TREEAPI_OPTIONS_FILE),$(TREEAPI_PACKAGES_FILE)) 1087 $(JAVADOC_CMD) -d $(@D) \ 1088 @$(TREEAPI_OPTIONS_FILE) @$(TREEAPI_PACKAGES_FILE) 1089 1090 # Create file with javadoc options in it 1091 $(TREEAPI_OPTIONS_FILE): 1092 $(prep-target) 1093 @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \ 1094 $(call OptionOnly,-Xdoclint:none) ; \ 1095 $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \ 1096 $(call OptionPair,-encoding,ascii) ; \ 1097 $(call OptionPair,-doctitle,$(TREEAPI_DOCTITLE)) ; \ 1098 $(call OptionPair,-windowtitle,$(TREEAPI_WINDOWTITLE) $(DRAFT_WINTITLE)); \ 1099 $(call OptionPair,-header,$(TREEAPI_HEADER)$(DRAFT_HEADER)) ; \ 1100 $(call OptionPair,-tag,$(TAG_JLS)) ; \ 1101 $(call OptionPair,-bottom,$(TREEAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \ 1102 $(call OptionTrip,-group,$(TREEAPI_GROUPNAME),$(TREEAPI_REGEXP)); \ 1103 $(call OptionTrip,-linkoffline,$(TREEAPI2COREAPI),$(COREAPI_DOCSDIR)/); \ 1104 ) >> $@ 1105 1106 # Create a file with the package names in it 1107 $(TREEAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(TREEAPI_PKGS)) 1108 $(prep-target) 1109 $(call PackageFilter,$(TREEAPI_PKGS)) 1110 1111 ############################################################# 1112 # 1113 # sctpdocs 1114 # 1115 1116 ALL_OTHER_TARGETS += sctpdocs 1117 1118 SCTPAPI_DOCDIR := $(JRE_API_DOCSDIR)/nio/sctp/spec 1119 SCTPAPI2COREAPI := ../../../$(JDKJRE2COREAPI) 1120 SCTPAPI_DOCTITLE := SCTP API 1121 SCTPAPI_WINDOWTITLE := SCTP API 1122 SCTPAPI_HEADER := <strong>SCTP API</strong> 1123 SCTPAPI_BOTTOM := $(call CommonBottom,$(SCTPAPI_FIRST_COPYRIGHT_YEAR)) 1124 # SCTPAPI_PKGS is located in NON_CORE_PKGS.gmk 1125 1126 SCTPAPI_INDEX_HTML = $(SCTPAPI_DOCDIR)/index.html 1127 SCTPAPI_OPTIONS_FILE = $(DOCSTMPDIR)/sctp.options 1128 SCTPAPI_PACKAGES_FILE = $(DOCSTMPDIR)/sctp.packages 1129 1130 sctpdocs: $(SCTPAPI_INDEX_HTML) 1131 1132 # Set relative location to core api document root 1133 $(SCTPAPI_INDEX_HTML): GET2DOCSDIR=$(SCTPAPI2COREAPI)/.. 1134 1135 # Run javadoc if the index file is out of date or missing 1136 $(SCTPAPI_INDEX_HTML): $(SCTPAPI_OPTIONS_FILE) $(SCTPAPI_PACKAGES_FILE) coredocs 1137 $(prep-javadoc) 1138 $(call JavadocSummary,$(SCTPAPI_OPTIONS_FILE),$(SCTPAPI_PACKAGES_FILE)) 1139 $(JAVADOC_CMD) -d $(@D) \ 1140 @$(SCTPAPI_OPTIONS_FILE) @$(SCTPAPI_PACKAGES_FILE) 1141 1142 # Create file with javadoc options in it 1143 $(SCTPAPI_OPTIONS_FILE): 1144 $(prep-target) 1145 @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \ 1146 $(call OptionOnly,-Xdoclint:none) ; \ 1147 $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \ 1148 $(call OptionPair,-encoding,ascii) ; \ 1149 $(call OptionOnly,-nodeprecatedlist) ; \ 1150 $(call OptionPair,-doctitle,$(SCTPAPI_DOCTITLE)) ; \ 1151 $(call OptionPair,-windowtitle,$(SCTPAPI_WINDOWTITLE) $(DRAFT_WINTITLE)); \ 1152 $(call OptionPair,-header,$(SCTPAPI_HEADER)$(DRAFT_HEADER)) ; \ 1153 $(call OptionPair,-bottom,$(SCTPAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \ 1154 $(call OptionTrip,-linkoffline,$(SCTPAPI2COREAPI),$(COREAPI_DOCSDIR)/); \ 1155 ) >> $@ 1156 1157 # Create a file with the package names in it 1158 $(SCTPAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(SCTPAPI_PKGS)) 1159 $(prep-target) 1160 $(call PackageFilter,$(SCTPAPI_PKGS)) 1161 1162 ############################################################# 1163 # 1164 # jdk.net docs 1165 # 1166 1167 ALL_OTHER_TARGETS += jdknetdocs 1168 1169 JDKNET_DOCDIR := $(JRE_API_DOCSDIR)/net/socketoptions/spec 1170 JDKNET2COREAPI := ../../../$(JDKJRE2COREAPI) 1171 JDKNET_DOCTITLE := jdk.net API 1172 JDKNET_WINDOWTITLE := jdk.net API 1173 JDKNET_HEADER := <strong>jdk.net API</strong> 1174 JDKNET_BOTTOM := $(call CommonBottom,$(JDKNET_FIRST_COPYRIGHT_YEAR)) 1175 JDKNET_PKGS := jdk.net 1176 1177 JDKNET_INDEX_HTML = $(JDKNET_DOCDIR)/index.html 1178 JDKNET_OPTIONS_FILE = $(DOCSTMPDIR)/jdknet.options 1179 JDKNET_PACKAGES_FILE = $(DOCSTMPDIR)/jdknet.packages 1180 1181 jdknetdocs: $(JDKNET_INDEX_HTML) 1182 1183 # Set relative location to core api document root 1184 $(JDKNET_INDEX_HTML): GET2DOCSDIR=$(JDKNET2COREAPI)/.. 1185 1186 # Run javadoc if the index file is out of date or missing 1187 $(JDKNET_INDEX_HTML): $(JDKNET_OPTIONS_FILE) $(JDKNET_PACKAGES_FILE) coredocs 1188 $(prep-javadoc) 1189 $(call JavadocSummary,$(JDKNET_OPTIONS_FILE),$(JDKNET_PACKAGES_FILE)) 1190 $(JAVADOC_CMD) -d $(@D) \ 1191 @$(JDKNET_OPTIONS_FILE) @$(JDKNET_PACKAGES_FILE) 1192 1193 # Create file with javadoc options in it 1194 $(JDKNET_OPTIONS_FILE): 1195 $(prep-target) 1196 @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \ 1197 $(call OptionOnly,-Xdoclint:none) ; \ 1198 $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \ 1199 $(call OptionPair,-encoding,ascii) ; \ 1200 $(call OptionOnly,-nodeprecatedlist) ; \ 1201 $(call OptionPair,-doctitle,$(JDKNET_DOCTITLE)) ; \ 1202 $(call OptionPair,-windowtitle,$(JDKNET_WINDOWTITLE) $(DRAFT_WINTITLE)); \ 1203 $(call OptionPair,-header,$(JDKNET_HEADER)$(DRAFT_HEADER)); \ 1204 $(call OptionPair,-bottom,$(JDKNET_BOTTOM)$(DRAFT_BOTTOM)); \ 1205 $(call OptionTrip,-linkoffline,$(JDKNET2COREAPI),$(COREAPI_DOCSDIR)/); \ 1206 ) >> $@ 1207 1208 # Create a file with the package names in it 1209 $(JDKNET_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JDKNET_PKGS)) 1210 $(prep-target) 1211 $(call PackageFilter,$(JDKNET_PKGS)) 1212 1213 ############################################################# 1214 # 1215 # Get a cache of all the directories 1216 1217 $(DIRECTORY_CACHE): $(ALL_EXISTING_SOURCE_DIRS) 1218 $(prep-target) 1219 @for cp in $(ALL_EXISTING_SOURCE_DIRS) ; do \ 1220 $(ECHO) "$(FIND) $${cp} -type f >> $@"; \ 1221 $(FIND) $${cp} -type f >> $@; \ 1222 done 1223 1224 ############################################################# 1225 #release version of core packages ######## 1226 1227 # The rel-coredocs and rel-docs targets were added by Eric Armstrong. rel-coredocs 1228 # assumes the kind of large, 32-bit machine used in the javapubs group's docs-release 1229 # process. It specifies memory settings accordingly to maximize performance. 1230 # 1231 # The performance settings, like the sanity check, are most important for the core 1232 # docs--the platform APIs. Running javadoc on those APIs takes a significant amount 1233 # of time and memory. Setting the initial heap size as large as possible is important 1234 # to prevent thrashing as the heap grows. Setting the maximum as large as necessary 1235 # is also important to keep the job from failing. 1236 # 1237 # -J-Xmx512 sets a maximum of 512, which became necessary in 6.0 1238 # -J-Xms256 sets starting size to 256 (default is 8) 1239 # 1240 # rel-coredocs also includes a sanity check to help ensure that BUILD_NUMBER and 1241 # MILESTONE are specified properly when docs are built outside of the normal release 1242 # engineering process, with the intention of releasing them on the web or in a downloaded 1243 # docs bundle. (When invoked in release engineering's control build, the values are always 1244 # set properly. But when the targets are run by themselves, they default to b00 and 1245 # "internal"--which silently sabotage the result of a build that can take many hours 1246 # to complete. 1247 1248 # Maximize performance and ensure that build number & milestone are set. 1249 1250 rel-coredocs: sanitycheckcoredocs 1251 $(MAKE) coredocs 1252 1253 rel-docs: rel-coredocs $(ALL_OTHER_TARGETS) 1254 # 1255 # end of production targets 1256 1257 otherdocs: $(ALL_OTHER_TARGETS) 1258 1259 clean: 1260 $(RM) -r $(DOCSDIR) $(DOCSTMPDIR) 1261 1262 ############################################################# 1263 # DEBUG TARGET 1264 # List the values defined in the makefile hierarchy, to make sure everything 1265 # is set properly, and to help identify values we can use instead of making new ones. 1266 # (Most of them come from common/shared/Defs.gmk) 1267 # 1268 # Notes: 1269 # * BUILD_NUMBER defaults to b00 if not set on command line with BUILD_NUMBER=<value> 1270 # * MILESTONE defaults to internal unless set to beta, rc, or fcs on command line 1271 # 1272 1273 ############################################################# 1274 .PHONY: all docs coredocs rel-docs otherdocs rel-coredocs \ 1275 sanitycheckcoredocs $(ALL_OTHER_TARGETS)