Makefile revision 0
0N/A# Copyright 1995-2007 Sun Microsystems, Inc. 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. Sun designates this 0N/A# particular file as subject to the "Classpath" exception as provided 0N/A# by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 0N/A# CA 95054 USA or visit www.sun.com if you need additional information or 0N/A# have any questions. 0N/A# Rules for sanity checks 0N/A# Rules for various components 0N/A# Generic debug build, fastdebug or debug. Needs special handling. 0N/A# Note that debug builds do NOT do INSTALL steps, but must be done 0N/A# after the product build and before the INSTALL step of the product build. 0N/A# DEBUG_NAME is fastdebug or debug 0N/A# ALT_OUTPUTDIR is changed to have -debug or -fastdebug suffix 0N/A# The resulting j2sdk-image is used by the install makefiles to create a 0N/A# debug install bundle jdk-*-debug-** bundle (tar or zip) 0N/A# which will install in the debug or fastdebug subdirectory of the 0N/A# normal product install area. 0N/A# The install process needs to know what the DEBUG_NAME is, so 0N/A# look for INSTALL_DEBUG_NAME in the install rules. 0N/A # If we have bundle rules, we have a chance here to do a complete cycle 0N/A # build, of closed and open build. 0N/A # FIXUP: We should create the openjdk source bundle and build that? 0N/A @
$(ECHO) "=================================================" 0N/A @
$(ECHO) "=================================================" 0N/A# Quick jdk verification build 0N/A# Quick jdk verification fastdebug build 0N/A# Quick deploy verification fastdebug build 0N/A# Product build (skip debug builds) 0N/AMakefile for the JDK builds (all the JDK). \n\ 0N/A--- Common Targets --- \n\ 0N/Aall -- build the core JDK (default target) \n\ 0N/Ahelp -- Print out help information \n\ 0N/Acheck -- Check make variable values for correctness \n\ 0N/Asanity -- Perform detailed sanity checks on system and settings \n\ 0N/Afastdebug_build -- build the core JDK in 'fastdebug' mode (-g -O) \n\ 0N/Adebug_build -- build the core JDK in 'debug' mode (-g) \n\ 0N/Aclean -- remove all built and imported files \n\ 0N/Aclobber -- same as clean \n\ 0N/A# Variable help (only common ones used by this Makefile) 0N/A @
$(ECHO) "--- Common Variables ---" 0N/A# One line descriptions for the variables 0N/A# Make variables to print out (description and value) 0N/A# Make variables that should refer to directories that exist 0N/A# Make variables that should refer to files that exist 0N/A# Some are windows specific 0N/A# For pattern rules below, so all are treated the same 0N/A# Complete variable check 0N/A# Pattern rule for printing out a variable 0N/A# Pattern rule for checking to see if a variable with a directory exists 0N/A @
if [ ! -d
$($*) ] ;
then \
0N/A $(ECHO) "WARNING: $* does not exist, try $(MAKE) sanity"; \
0N/A# Pattern rule for checking to see if a variable with a file exists 0N/A @
if [ ! -f
$($*) ] ;
then \
0N/A $(ECHO) "WARNING: $* does not exist, try $(MAKE) sanity"; \
0N/A- All builds use same output directory unless overridden with \n\ 0N/A \t ALT_OUTPUTDIR=<dir>, changing from product to fastdebug you may want \n\ 0N/A \t to use the clean target first. \n\ 0N/A- JDK_IMPORT_PATH must refer to a compatible build, not all past promoted \n\ 0N/A \t builds or previous release JDK builds will work. \n\ 0N/A- The fastest builds have been when the sources and the BOOTDIR are on \n\ 0N/A################################################################ 0N/A# Source and binary plug bundling 0N/A################################################################ 0N/A################################################################ 0N/A# Cycle build. Build the jdk, use it to build the jdk again. 0N/A################################################################ 0N/A################################################################ 0N/A################################################################ 0N/A################################################################ 0N/A################################################################ 0N/A# FIXUP: Old j2se targets