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