Makefile revision 142
2362N/A# Copyright 1995-2009 Sun Microsystems, Inc. All Rights Reserved. 1008N/A# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 1008N/A# This code is free software; you can redistribute it and/or modify it 1008N/A# under the terms of the GNU General Public License version 2 only, as 2362N/A# published by the Free Software Foundation. Sun designates this 1008N/A# particular file as subject to the "Classpath" exception as provided 2362N/A# by Sun in the LICENSE file that accompanied this code. 1008N/A# This code is distributed in the hope that it will be useful, but WITHOUT 1008N/A# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 1008N/A# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 1008N/A# version 2 for more details (a copy is included in the LICENSE file that 1008N/A# You should have received a copy of the GNU General Public License version 1008N/A# 2 along with this work; if not, write to the Free Software Foundation, 1008N/A# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 2362N/A# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 1821N/A# Openjdk sources (only used if SKIP_OPENJDK_BUILD!=true) 1821N/A# For start and finish echo lines 2402N/A# Everything for a full product build 2402N/A# Generis build of basic repo series 1821N/A# The debug build, fastdebug or debug. Needs special handling. 1821N/A# Note that debug builds do NOT do INSTALL steps, but must be done 1821N/A# after the product build and before the INSTALL step of the product build. 1821N/A# DEBUG_NAME is fastdebug or debug 1821N/A# ALT_OUTPUTDIR is changed to have -debug or -fastdebug suffix 2228N/A# The resulting j2sdk-image is used by the install makefiles to create a 1821N/A# debug install bundle jdk-*-debug-** bundle (tar or zip) 1821N/A# which will install in the debug or fastdebug subdirectory of the 1821N/A# normal product install area. 1821N/A# The install process needs to know what the DEBUG_NAME is, so 1821N/A# look for INSTALL_DEBUG_NAME in the install rules. 1821N/A# Location of fresh bootdir output 1008N/A # Create the bootdir to use in the build 0N/A # Define variables to be used now for the boot jdk 1821N/A # Use the supplied ALT_BOOTDIR as the boot 1947N/A# Check on whether we really can build the openjdk, need source etc. 1947N/A @
$(ECHO) "=================================================" 2017N/A $(ECHO) "OpenJDK will be built after JDK is built"; \
1821N/A @
$(ECHO) "=================================================" 1947N/A# If we have bundle rules, we have a chance here to do a complete cycle 1821N/A# build, of production and open build. 2017N/A# FIXUP: We should create the openjdk source bundle and build that? 1821N/A# But how do we reliable create or get at a formal openjdk source tree? 1821N/A# The one we have needs to be trimmed of built bits and closed dirs. 1821N/A# The repositories might not be available. 1821N/A# The openjdk source bundle is probably not available. 3866N/A @
$(ECHO) "=================================================" 1947N/A @
$(ECHO) "=================================================" 1008N/A @
$(ECHO) "=================================================" 1008N/A @
$(ECHO) "=================================================" 1934N/A# Quick jdk verification build 1821N/A# Quick jdk verification fastdebug build 1934N/A# Quick deploy verification fastdebug build 1934N/A# Product build (skip debug builds) 1821N/AMakefile for the JDK builds (all the JDK). \n\ 1821N/Aall -- build the core JDK (default target) \n\ 1821N/Ahelp -- Print out help information \n\ 1821N/Acheck -- Check make variable values for correctness \n\ 1821N/Asanity -- Perform detailed sanity checks on system and settings \n\ 3740N/Afastdebug_build -- build the core JDK in 'fastdebug' mode (-g -O) \n\ 3740N/Adebug_build -- build the core JDK in 'debug' mode (-g) \n\ 1821N/Aclean -- remove all built and imported files \n\ 3740N/Aclobber -- same as clean \n\ 1821N/A# Variable help (only common ones used by this Makefile) 2017N/A# One line descriptions for the variables 1821N/A# Make variables to print out (description and value) 1821N/A# Make variables that should refer to directories that exist 2017N/A# Make variables that should refer to files that exist 3740N/A# For pattern rules below, so all are treated the same 1821N/A# Pattern rule for printing out a variable 2017N/A# Pattern rule for checking to see if a variable with a directory exists 1821N/A @
if [ ! -d
$($*) ] ;
then \
2017N/A# Pattern rule for checking to see if a variable with a file exists 1934N/A @
if [ ! -f
$($*) ] ;
then \
1821N/A- All builds use same output directory unless overridden with \n\ 1821N/A \t ALT_OUTPUTDIR=<dir>, changing from product to fastdebug you may want \n\ 3740N/A \t to use the clean target first. \n\ 1821N/A- JDK_IMPORT_PATH must refer to a compatible build, not all past promoted \n\ 1821N/A \t builds or previous release JDK builds will work. \n\ 1821N/A- The fastest builds have been when the sources and the BOOTDIR are on \n\ 1934N/A################################################################ 1934N/A# Source and binary plug bundling 1934N/A################################################################ 1821N/A################################################################ 1821N/A################################################################ 1821N/A################################################################ 1821N/A################################################################