Makefile revision 289
2N/A# Copyright (c) 1995, 2010, Oracle and/or its affiliates. All rights reserved. 2N/A# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 2N/A# This code is free software; you can redistribute it and/or modify it 2N/A# under the terms of the GNU General Public License version 2 only, as 2N/A# published by the Free Software Foundation. Oracle designates this 2N/A# particular file as subject to the "Classpath" exception as provided 2N/A# by Oracle in the LICENSE file that accompanied this code. 2N/A# This code is distributed in the hope that it will be useful, but WITHOUT 2N/A# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 2N/A# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 2N/A# version 2 for more details (a copy is included in the LICENSE file that 2N/A# accompanied this code). 2N/A# You should have received a copy of the GNU General Public License version 2N/A# 2 along with this work; if not, write to the Free Software Foundation, 2N/A# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 2N/A# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA # For start and finish echo lines # Everything for a full product build # Generic build of basic repo series # The debug build, fastdebug or debug. Needs special handling. # Note that debug builds do NOT do INSTALL steps, but must be done # after the product build and before the INSTALL step of the product build. # DEBUG_NAME is fastdebug or debug # ALT_OUTPUTDIR is changed to have -debug or -fastdebug suffix # The resulting j2sdk-image is used by the install makefiles to create a # debug install bundle jdk-*-debug-** bundle (tar or zip) # which will install in the debug or fastdebug subdirectory of the # normal product install area. # The install process needs to know what the DEBUG_NAME is, so # look for INSTALL_DEBUG_NAME in the install rules. # NOTE: On windows, do not use $(ABS_BOOTDIR_OUTPUTDIR)-$(DEBUG_NAME). # Due to the use of short paths in $(ABS_OUTPUTDIR), this may # not be the same location. # 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. # 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 ################################################################ ################################################################ ################################################################ ################################################################