Makefile revision 4149
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# This code is free software; you can redistribute it and/or modify it
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# under the terms of the GNU General Public License version 2 only, as
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# published by the Free Software Foundation. Oracle designates this
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# particular file as subject to the "Classpath" exception as provided
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# by Oracle in the LICENSE file that accompanied this code.
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# This code is distributed in the hope that it will be useful, but WITHOUT
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# version 2 for more details (a copy is included in the LICENSE file that
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# accompanied this code).
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# You should have received a copy of the GNU General Public License version
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# 2 along with this work; if not, write to the Free Software Foundation,
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# or visit www.oracle.com if you need additional information or have any
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# Definitions for $(DOCSDIR), $(MKDIR), $(BINDIR), etc.
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# Get CopyrightLine macro and other shared variables
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersollinclude $(BUILDDIR)/common/shared/Defs-javadoc.gmk
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# Url to root of documents
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# Url to copyright html file
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys IngersollCOPYRIGHT_URL-7 = $(DOCSDIR_URL)/legal/cpyr.html
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys IngersollCOPYRIGHT_URL = $(COPYRIGHT_URL-$(JDK_MINOR_VERSION))
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# Url to bug filing site
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys IngersollBUG_SUBMIT_URL = http://bugreport.sun.com/bugreport/
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# Common line for how to submit a bug or rfe
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys IngersollBUG_SUBMIT_LINE = <a href="$(BUG_SUBMIT_URL)">Submit a bug or feature</a>
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# Url to devdocs page
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# Was: http://java.sun.com/javase/6/webnotes/devdocs-vs-specs.html
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys IngersollDEV_DOCS_URL-5 = http://java.sun.com/j2se/1.5.0/docs/index.html
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys IngersollDEV_DOCS_URL-6 = http://download.oracle.com/javase/6/docs/index.html
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys IngersollDEV_DOCS_URL-7 = http://download.oracle.com/javase/7/docs/index.html
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys IngersollDEV_DOCS_URL = $(DEV_DOCS_URL-$(JDK_MINOR_VERSION))
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys IngersollDOCS_BASE_URL = http://download.oracle.com/javase/7/docs
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# Url to Java Language Spec
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll#JLS3_URL = http://java.sun.com/docs/books/jls/
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# Common Java trademark line
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys IngersollJAVA_TRADEMARK_LINE = Java is a trademark or registered trademark of \
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll$(FULL_COMPANY_NAME) in the US and other countries.
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# Definitions for imported components
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersollinclude $(BUILDDIR)/common/internal/ImportComponents.gmk
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# We override whatever the max VM memory setting is here.
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# NOTE: javadoc will not complete without these larger settings.
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# WARNING: This could cause thrashing on low memory machines.
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# List of all possible directories for javadoc to look for sources
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# NOTE: Quotes are required around sourcepath argument only on Windows.
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# Otherwise, you get "No packages or classes specified." due
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# to $(CLASSPATH_SEPARATOR) being interpreted as an end of
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# command (newline or shell ; character)
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# List of directories that actually exist
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys IngersollALL_EXISTING_SOURCE_DIRS := $(wildcard $(ALL_SOURCE_DIRS))
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# List with classpath separator between them
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll $(subst $(SPACE),$(CLASSPATH_SEPARATOR),$(strip $(ALL_SOURCE_DIRS)))
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# Prep for javadoc creation, assumes $@ is an index.html file
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll $(ECHO) "# Dependencies have changed: $?"; \
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# A cache of the directories in ALL_SOURCE_DIRS
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys IngersollDIRECTORY_CACHE = $(DOCSTMPDIR)/directory.cache
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# Given a list of packages, return a list of files or dirs to be dependent on
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# (Currently only returning a list of directories)
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll if [ "$1" != "" -a -f $(DIRECTORY_CACHE) ] ; then \
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll for p in $1 ; do \
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll pd=`$(ECHO) $${p} | $(SED) -e 's@[.]@/@g'`; \
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll $(CAT) $(DIRECTORY_CACHE) | $(GREP) "/$${pd}/" ; \
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# Given a list of packages, add packages that exist to $@, print summary
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll pd=`$(ECHO) $${p} | $(SED) -e 's@[.]@/@g'`; \
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll $(ECHO) "WARNING: Package not found: $${p}"; \
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# Print out a summary of the javadoc command about to be run
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersolldefine JavadocSummary # optionsfile packagesfile
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll $(ECHO) "# Options (`$(BASENAME) $1`):"; $(SED) -e 's@^@# @' $1; \
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll $(ECHO) "# Packages (`$(BASENAME) $2`):";$(SED) -e 's@^@# @' $2
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# Temporary directory for javadoc creation
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# Different api directories created from root directory
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# The non-core api javadocs need to be able to access the root of the core
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# api directory, so for jdk/api or jre/api to get to the core api/
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# directory we would use this:
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# Common bottom argument
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll<font size="-1"><br> $(call CopyrightLine,,$1,)</font>
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# Common trademark bottom argument (Not sure why this is used sometimes)
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll$(BUG_SUBMIT_LINE)<br>$(JAVA_TRADEMARK_LINE)<br>\
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll$(call CopyrightLine,,$1,$(COMPANY_ADDRESS))\
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# Common echo of option
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# Core api bottom argument (with special sauce)
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys IngersollCOREAPI_BOTTOM = <font size="-1"> $(BUG_SUBMIT_LINE)\
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll<br>For further API reference and developer documentation, \
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersollsee <a href="$(DEV_DOCS_URL)" target="_blank">Java SE Documentation</a>. \
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys IngersollThat documentation contains more detailed, developer-targeted descriptions, \
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersollwith conceptual overviews, definitions of terms, workarounds, \
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll$(call CopyrightLine,$(COPYRIGHT_URL),$(FIRST_COPYRIGHT_YEAR),)\
f717cf302ad33ac8dcb06cab149e63a1f07618c5Wyllys Ingersoll# Common javadoc options used by all
JDK_IS_FCS = false
JDK_IS_FCS = true
JDK_IS_FCS = true
evaluation. \
# See: Notes.html#releaseTargets
COREAPI_HEADER = \
# The index.html, options, and packages files
# MIRROR_PKGS is located in NON_CORE_PKGS.gmk
# The index.html, options, and packages files
# DOCLETAPI_PKGS is located in NON_CORE_PKGS.gmk
# The index.html, options, and packages files
# TAGLETAPI_FILE is located in NON_CORE_PKGS.gmk
# The index.html, options, and packages files
# DOMAPI_PKGS is located in NON_CORE_PKGS.gmk
# The index.html, options, and packages files
# JDI_PKGS is located in NON_CORE_PKGS.gmk
# The index.html, options, and packages files
@if [ -f $(JVMTI_HTML) ] ; then \
# JAAS_PKGS is located in NON_CORE_PKGS.gmk
# The index.html, options, and packages files
# JGSS_PKGS is located in NON_CORE_PKGS.gmk
# The index.html, options, and packages files
# SMARTCARDIO_PKGS is located in NON_CORE_PKGS.gmk
# The index.html, options, and packages files
# HTTPSERVER_PKGS is located in NON_CORE_PKGS.gmk
# MGMT_PKGS is located in NON_CORE_PKGS.gmk
# The index.html, options, and packages files
@if [ -f $(JVM_MIB_SRC) ] ; then \
# ATTACH_PKGS is located in NON_CORE_PKGS.gmk
# JCONSOLE_PKGS is located in NON_CORE_PKGS.gmk
# TREEAPI_PKGS is located in NON_CORE_PKGS.gmk
# SCTPAPI_PKGS is located in NON_CORE_PKGS.gmk