common/makefiles/javadoc/Javadoc.gmk

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

mercurial