Makefile revision 705
70N/A# Copyright (c) 1995, 2011, Oracle and/or its affiliates. All rights reserved. 0N/A# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 0N/A# This code is free software; you can redistribute it and/or modify it 0N/A# under the terms of the GNU General Public License version 2 only, as 0N/A# published by the Free Software Foundation. Oracle designates this 0N/A# particular file as subject to the "Classpath" exception as provided 0N/A# by Oracle in the LICENSE file that accompanied this code. 0N/A# This code is distributed in the hope that it will be useful, but WITHOUT 0N/A# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 0N/A# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 0N/A# version 2 for more details (a copy is included in the LICENSE file that 0N/A# accompanied this code). 0N/A# You should have received a copy of the GNU General Public License version 0N/A# 2 along with this work; if not, write to the Free Software Foundation, 0N/A# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 0N/A# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 0N/A# Basename of any originally supplied ALT_OUTPUTDIR directory 0N/A# The three possible directories created for output (3 build flavors) 0N/A# Relative path to a debug output area 0N/A# The created jdk image directory 0N/A# Relative path from an output directory to the image directory 91N/A# Everything for a full product build 0N/A# Generic build of basic repo series 84N/A# The debug build, fastdebug or debug. Needs special handling. 84N/A# Note that debug builds do NOT do INSTALL steps aside from the 84N/A# install-binaries-jdk-debug or install-binaries-jdk-debug-clobber targets. 84N/A# DEBUG_NAME is fastdebug or debug 84N/A# ALT_OUTPUTDIR is changed to have -debug or -fastdebug suffix 84N/A# The resulting image directory (j2sdk-image) is used by the install makefiles 84N/A# (only if debug files are present when install checks for them) 84N/A# to create a debug install bundle jdk-*-debug-** bundle (tar or zip) 84N/A# which will install in the debug or fastdebug subdirectory of the 84N/A# normal product install area. 84N/A# The install process needs to know what the DEBUG_NAME is, so 84N/A# look for INSTALL_DEBUG_NAME in the install rules. 84N/A# NOTE: On windows, do not use $(ABS_BOOTDIR_OUTPUTDIR)-$(DEBUG_NAME). 84N/A# Due to the use of short paths in $(ABS_OUTPUTDIR), this may 0N/A# not be the same location. 0N/A# Location of fresh bootdir output # Create the bootdir to use in the build # Define variables to be used now for the boot jdk # Use the supplied ALT_BOOTDIR as the boot # NOTE: On windows, do not use $(ABS_OUTPUTDIR)-$(DEBUG_NAME). # Due to the use of short paths in $(ABS_OUTPUTDIR), this may # not be the same location. # The source tips are stored with the relative path to the repo. # This file will be used when constructing the jdk image. # Quick jdk verification build # Quick jdk verification fastdebug build # Quick deploy verification fastdebug build # Product build (skip debug builds) Makefile for the JDK builds (all the JDK). \n\ --- Common Targets --- \n\ all -- build the core JDK (default target) \n\ help -- Print out help information \n\ check -- Check make variable values for correctness \n\ sanity -- Perform detailed sanity checks on system and settings \n\ fastdebug_build -- build the core JDK in 'fastdebug' mode (-g -O) \n\ debug_build -- build the core JDK in 'debug' mode (-g) \n\ clean -- remove all built and imported files \n\ clobber -- same as clean \n\ # Variable help (only common ones used by this Makefile) @
$(ECHO) "--- Common Variables ---"# One line descriptions for the variables # Make variables to print out (description and value) # Make variables that should refer to directories that exist # Make variables that should refer to files that exist # Some are windows specific # For pattern rules below, so all are treated the same # Complete variable check # Pattern rule for printing out a variable # Pattern rule for checking to see if a variable with a directory exists @
if [ ! -d
$($*) ] ;
then \
$(ECHO) "WARNING: $* does not exist, try $(MAKE) sanity"; \
# Pattern rule for checking to see if a variable with a file exists @
if [ ! -f
$($*) ] ;
then \
$(ECHO) "WARNING: $* does not exist, try $(MAKE) sanity"; \
- All builds use same output directory unless overridden with \n\ \t ALT_OUTPUTDIR=<dir>, changing from product to fastdebug you may want \n\ \t to use the clean target first. \n\ - JDK_IMPORT_PATH must refer to a compatible build, not all past promoted \n\ \t builds or previous release JDK builds will work. \n\ - The fastest builds have been when the sources and the BOOTDIR are on \n\ $(MAKE) fastdebug_build \n\ ################################################################ ################################################################ ################################################################ ################################################################ @
$(ECHO) "#################################################" || $(ECHO) "No TEST STATS seen in log" ) @
$(ECHO) "#################################################" $(ECHO) "ERROR: Test failure count: `$(CAT) $< | $(WC) -l`"; \
$(ECHO) "Success! No failures detected"; \
# Get failure list from log @
( $(EGREP) '^FAILED:' $< || $(ECHO) "" ) |
$(NAWK) 'length>0' > $@
# Get log file of all tests run ################################################################ ################################################################ ################################################################ ################################################################