make/Javadoc.gmk

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

mercurial