Makefile revision 180
180N/A# Copyright (c) 1995, 2009, Oracle and/or its affiliates. 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 180N/A# published by the Free Software Foundation. Oracle designates this 0N/A# particular file as subject to the "Classpath" exception as provided 180N/A# by Oracle 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. 180N/A# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 4N/A# Openjdk sources (only used if SKIP_OPENJDK_BUILD!=true) 27N/A# For start and finish echo lines 27N/A# Everything for a full product build 27N/A# Generis build of basic repo series 27N/A# The debug build, fastdebug or debug. Needs special handling. 27N/A# Note that debug builds do NOT do INSTALL steps, but must be done 27N/A# after the product build and before the INSTALL step of the product build. 27N/A# DEBUG_NAME is fastdebug or debug 27N/A# ALT_OUTPUTDIR is changed to have -debug or -fastdebug suffix 27N/A# The resulting j2sdk-image is used by the install makefiles to create a 27N/A# debug install bundle jdk-*-debug-** bundle (tar or zip) 27N/A# which will install in the debug or fastdebug subdirectory of the 27N/A# normal product install area. 27N/A# The install process needs to know what the DEBUG_NAME is, so 27N/A# look for INSTALL_DEBUG_NAME in the install rules. 27N/A# Location of fresh bootdir output 27N/A# Create boot image? 27N/A # Create the bootdir to use in the build 27N/A # Define variables to be used now for the boot jdk 27N/A # Use the supplied ALT_BOOTDIR as the boot 4N/A# Check on whether we really can build the openjdk, need source etc. 4N/A @
$(ECHO) "=================================================" 4N/A $(ECHO) "OpenJDK will be built after JDK is built"; \
4N/A @
$(ECHO) "=================================================" 4N/A# If we have bundle rules, we have a chance here to do a complete cycle 4N/A# build, of production and open build. 4N/A# FIXUP: We should create the openjdk source bundle and build that? 4N/A# But how do we reliable create or get at a formal openjdk source tree? 4N/A# The one we have needs to be trimmed of built bits and closed dirs. 4N/A# The repositories might not be available. 4N/A# The openjdk source bundle is probably not available. 0N/A @
$(ECHO) "=================================================" 0N/A @
$(ECHO) "=================================================" 4N/A @
$(ECHO) "=================================================" 4N/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################################################################ 0N/A################################################################ 0N/A################################################################