Makefile revision 4
484N/A# Copyright 1995-2007 Sun Microsystems, Inc. All Rights Reserved. 1356N/A# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 1549N/A# This code is free software; you can redistribute it and/or modify it 484N/A# under the terms of the GNU General Public License version 2 only, as 484N/A# published by the Free Software Foundation. Sun designates this 919N/A# particular file as subject to the "Classpath" exception as provided 919N/A# by Sun in the LICENSE file that accompanied this code. 919N/A# This code is distributed in the hope that it will be useful, but WITHOUT 919N/A# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 919N/A# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 919N/A# version 2 for more details (a copy is included in the LICENSE file that 919N/A# accompanied this code). 919N/A# You should have received a copy of the GNU General Public License version 919N/A# 2 along with this work; if not, write to the Free Software Foundation, 919N/A# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 919N/A# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 1549N/A# Openjdk sources (only used if SKIP_OPENJDK_BUILD!=true) # Rules for sanity checks # Rules for various components # Check on whether we really can build the openjdk, need source etc. @
$(ECHO) "=================================================" $(ECHO) "OpenJDK will be built after JDK is built"; \
@
$(ECHO) "================================================="# Generic 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. # If we have bundle rules, we have a chance here to do a complete cycle # build, of production and open build. # FIXUP: We should create the openjdk source bundle and build that? # But how do we reliable create or get at a formal openjdk source tree? # The one we have needs to be trimmed of built bits and closed dirs. # The repositories might not be available. # The openjdk source bundle is probably not available. @
$(ECHO) "=================================================" @
$(ECHO) "Starting openjdk build" @
$(ECHO) "=================================================" @
$(ECHO) "=================================================" @
$(ECHO) "Finished openjdk build" @
$(ECHO) "================================================="# 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\ ################################################################ # Source and binary plug bundling ################################################################ ################################################################ # Cycle build. Build the jdk, use it to build the jdk again. ################################################################ ################################################################ ################################################################ ################################################################ ################################################################ # FIXUP: Old j2se targets