Defs-internal.gmk revision 400
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
#
# Common variables used by all the Java makefiles. This file should
# not contain rules.
#
# The build times report is turned off by setting REPORT_BUILD_TIMES to nothing.
# directories where the buildtimes are stored.
# Store the build times in this directory.
# Record starting time for build of a sub repository.
$(MKDIR) -p $(BUILDTIMESDIR)
$(DATE) '+%Y %m %d %H %M %S' | $(NAWK) '{ print $$1,$$2,$$3,$$4,$$5,$$6,($$4*3600+$$5*60+$$6) }' > $(BUILDTIMESDIR)/build_time_start_$1
# Indicate that we started to build a sub repository and record starting time.
$(call RecordStartTime,$1)
$(PRINTF) "\n\n%s\n%s\n##### %-60.60s #####\n%s\n\n" \
"########################################################################" \
"########################################################################" \
"Entering $1 for target(s) $2" \
"########################################################################"
# Record ending time and calculate the difference and store it in a
# easy to read format. Handles builds that cross midnight. Expects
# that a build will never take 24 hours or more.
$(DATE) '+%Y %m %d %H %M %S' | $(NAWK) '{ print $$1,$$2,$$3,$$4,$$5,$$6,($$4*3600+$$5*60+$$6) }' > $(BUILDTIMESDIR)/build_time_end_$1
$(ECHO) `$(CAT) $(BUILDTIMESDIR)/build_time_start_$1` `$(CAT) $(BUILDTIMESDIR)/build_time_end_$1` $1 | \
$(NAWK) '{ F=$$7; T=$$14; if (F > T) { T+=3600*24 }; D=T-F; H=int(D/3600); \
M=int((D-H*3600)/60); S=D-H*3600-M*60; printf("%02d:%02d:%02d %s\n",H,M,S,$$15); }' \
# Indicate that we are done.
# Record ending time and print out the total time it took to build.
$(PRINTF) "%s\n##### %-60.60s #####\n%s\n##### %-60.60s #####\n%s\n\n" \
"########################################################################" \
"Leaving $1 for target(s) $2" \
"########################################################################" \
$(if $(REPORT_BUILD_TIMES),"Build time `$(CAT) $(BUILDTIMESDIR)/build_time_diff_$1` for target(s) $2","") \
"########################################################################"
# Find all build_time_* files and print their contents in a list sorted
# on the name of the sub repository.
$(PRINTF) "#-- Build times ----------\nTarget %s\nStart %s\nEnd %s\n%s\n%s\n-------------------------\n" \
$1 \
# Define absolute paths to TOPDIRs
# Macro to return true or false if a file exists and is readable
BUILD_HOTSPOT := false
else
BUILD_LANGTOOLS := false
else
BUILD_CORBA := false
else
BUILD_JAXP := false
else
BUILD_JAXP := $(JAXP_SRC_AVAILABLE)
BUILD_JAXWS := false
else
BUILD_JDK := $(JDK_SRC_AVAILABLE)
OPENJDK = true
BUILD_INSTALL := false
else
BUILD_SPONSORS := false
else
# Do we build the source bundles?
BUNDLE_RULES_AVAILABLE := false
else
# Current things we do NOT build for OPENJDK
BUILD_DEPLOY = false
BUILD_INSTALL = false
BUILD_SPONSORS = false
BUNDLE_RULES_AVAILABLE := false
# These could be over-ridden on the command line or in environment
SKIP_FASTDEBUG_BUILD = true
SKIP_DEBUG_BUILD = true
SKIP_COMPARE_IMAGES = true
else
# Various non-OPENJDK reasons to NOT build the deploy repository
BUILD_DEPLOY=false
BUILD_DEPLOY=false
BUILD_DEPLOY=false
SKIP_PRODUCT_BUILD = false
# Many reasons why we would want to skip the comparison to previous jdk
SKIP_COMPARE_IMAGES = true
SKIP_COMPARE_IMAGES = true
SKIP_COMPARE_IMAGES = true
SKIP_COMPARE_IMAGES = true
# Select defaults if these are not set to true or false
SKIP_DEBUG_BUILD=true
SKIP_FASTDEBUG_BUILD=true
# Select javadoc setting GENERATE_DOCS
# Default value (we want javadoc run)
GENERATE_DOCS=true
# If langtools, corba, jaxp, and jaxws are not being built,
# a full jdk javadoc is not possible
GENERATE_DOCS=false
GENERATE_DOCS=false
GENERATE_DOCS=false
GENERATE_DOCS=false
NO_DOCS=true
else
GENERATE_DOCS=false
# Output directory for hotspot build
# If we are building components
# Common make arguments (supplied to all component builds)
JDK_TOPDIR=$(ABS_JDK_TOPDIR) \
EXTERNALSANITYCONTROL=true \
BUILD_NUMBER=$(BUILD_NUMBER) \
FULL_VERSION=$(FULL_VERSION) \
JDK_VERSION=$(JDK_VERSION) \