Makefile revision 3081
2109N/A# Copyright (c) 2005, 2011, 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 0N/A# published by the Free Software Foundation. 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. 1472N/A# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 0N/A# Top level gnumake file for hotspot builds 0N/A# Default is to build the both product images and construct an export dir. 0N/A# The default export directory name is `pwd`/export-$(PLATFORM). 0N/A# Use: 'gnumake help' for more information. 0N/A# This makefile uses the default settings for where to find compilers and 0N/A# tools, and obeys the ALT_* variable settings used by the other JDK 0N/A# LP64=1 or ARCH_DATA_MODEL=64 for 64bit build 0N/A# ALT_SLASH_JAVA Location of /java or J: 0N/A# ALT_BOOTDIR Previous JDK home directory for javac compiler 0N/A# ALT_OUTPUTDIR Output directory to use for hotspot build 0N/A# ALT_EXPORT_PATH Directory to export hotspot build to 0N/A# ALT_JDK_IMPORT_PATH Current JDK build (only for create_jdk rules) 2109N/A# ALT_JDK_TARGET_IMPORT_PATH Current JDK build when cross-compiling 0N/A# ALT_BUILD_WIN_SA Building SA on Windows is disabled by default. 0N/A# Set ALT_BUILD_WIN_SA=1 to enable building SA on 0N/A# Version strings and numbers: 0N/A# JDK_VERSION Current JDK version (e.g. 1.6.0) 0N/A# PREVIOUS_JDK_VERSION Previous (bootdir) JDK version (e.g. 1.5.0) 0N/A# FULL_VERSION Full version string to use (e.g. "1.6.0-ea-b42") 0N/A# Version strings and numbers especially needed on Windows: 0N/A# COOKED_JDK_UPDATE_VERSION Just the update release number (e.g. 02) 0N/A# COOKED_BUILD_NUMBER Just the build number (e.g. 42) 0N/A# JDK_MKTG_VERSION Marketing JDK version (e.g. 6.0) 0N/A# JDK_MAJOR_VERSION Major number for version (e.g. 1) always 1? 0N/A# JDK_MINOR_VERSION Minor number for version (e.g. 6) 0N/A# JDK_MICRO_VERSION Micro number for version (e.g. 0) 0N/A# Default is build both product fastdebug and create export area 0N/A# Allow to build HotSpot in local directory from sources specified by GAMMADIR. 0N/A# Typical C1/C2 targets made available with this Makefile 0N/A# Build or export docs 0N/A# Build variation of hotspot 0N/A# Build compiler1 (client) rule, different for platforms 0N/A# Build compiler2 (server) rule, different for platforms 0N/A# Export file copy rules 0N/A# Misc files and generated files need to come from C1 or C2 area 0N/A# Bin files (windows) 0N/A# Other libraries (like SA) 0N/A# Client files always come from C1 area 0N/A# Server files always come from C2 area 0N/A# Kernel files always come from kernel area 2790N/A# Debug info for shared library 0N/A $(SED) 's/\(separated by \)[;:]/\1$(PATH_SEP)/g' $< > $@.
temp 0N/A# Create JDK and place this build into it 0N/A"Makefile for the Hotspot workspace." 0N/A"Default behavior is to build and create an export area for the j2se builds." 0N/A @
$(ECHO) "all: Same as: all_product all_fastdebug" 0N/A @
$(ECHO) "world: Same as: all create_jdk" 0N/A @
$(ECHO) "all_product: Same as: product product1 export_product" 0N/A @
$(ECHO) "all_fastdebug: Same as: fastdebug fastdebug1 export_fastdebug" 0N/A @
$(ECHO) "all_debug: Same as: jvmg jvmg1 export_debug" 0N/A @
$(ECHO) "all_optimized: Same as: optimized optimized1 export_optimized" 0N/A @
$(ECHO) "export_product: Export product files to EXPORT_PATH" 0N/A @
$(ECHO) "export_fastdebug: Export fastdebug files to EXPORT_PATH" 0N/A @
$(ECHO) "export_debug: Export debug files to EXPORT_PATH" 0N/A @
$(ECHO) "export_optimized: Export optimized files to EXPORT_PATH" 0N/A @
$(ECHO) "create_jdk: Create JDK image, export all files into it" 0N/A @
$(ECHO) "update_jdk: Update JDK image with fresh exported files" 0N/A# Variable help (only common ones used by this workspace) 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# 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"- JDK_IMPORT_PATH must refer to a compatible build, not all past promoted" 0N/A" builds or previous release JDK builds will work." 0N/A"- The fastest builds have been when the workspace and the BOOTDIR are on" 0N/A# JPRT rule to build this workspace