Makefile revision 196
9210d8796eaf4125ac58c034f9b5ca167857a55aAutomatic Updater# Copyright 2005-2008 Sun Microsystems, Inc. All Rights Reserved.
9210d8796eaf4125ac58c034f9b5ca167857a55aAutomatic Updater# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# This code is free software; you can redistribute it and/or modify it
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# under the terms of the GNU General Public License version 2 only, as
9210d8796eaf4125ac58c034f9b5ca167857a55aAutomatic Updater# published by the Free Software Foundation.
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# This code is distributed in the hope that it will be useful, but WITHOUT
9210d8796eaf4125ac58c034f9b5ca167857a55aAutomatic Updater# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# version 2 for more details (a copy is included in the LICENSE file that
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# accompanied this code).
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# You should have received a copy of the GNU General Public License version
2cbb4ab75757fbb656997a82c14ca07db37d481aAutomatic Updater# 2 along with this work; if not, write to the Free Software Foundation,
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# CA 95054 USA or visit www.sun.com if you need additional information or
852ccdd42a71550c974111b49415204ffeca6573Automatic Updater# have any questions.
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# Top level gnumake file for hotspot builds
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# Default is to build the both product images and construct an export dir.
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# The default export directory name is `pwd`/export-$(PLATFORM).
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# Use: 'gnumake help' for more information.
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# This makefile uses the default settings for where to find compilers and
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# tools, and obeys the ALT_* variable settings used by the other JDK
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# Expected/optional make variables defined on make command line:
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# LP64=1 or ARCH_DATA_MODEL=64 for 64bit build
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# Expected/optional make variables or environment variables:
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# ALT_SLASH_JAVA Location of /java or J:
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# ALT_BOOTDIR Previous JDK home directory for javac compiler
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# ALT_OUTPUTDIR Output directory to use for hotspot build
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# ALT_EXPORT_PATH Directory to export hotspot build to
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# ALT_JDK_IMPORT_PATH Current JDK build (only for create_jdk rules)
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# ALT_BUILD_WIN_SA Building SA on Windows is disabled by default.
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# Set ALT_BUILD_WIN_SA=1 to enable building SA on
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# Version strings and numbers:
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# JDK_VERSION Current JDK version (e.g. 1.6.0)
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# PREVIOUS_JDK_VERSION Previous (bootdir) JDK version (e.g. 1.5.0)
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# FULL_VERSION Full version string to use (e.g. "1.6.0-ea-b42")
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# Version strings and numbers especially needed on Windows:
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# COOKED_JDK_UPDATE_VERSION Just the update release number (e.g. 02)
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# COOKED_BUILD_NUMBER Just the build number (e.g. 42)
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# JDK_MKTG_VERSION Marketing JDK version (e.g. 6.0)
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# JDK_MAJOR_VERSION Major number for version (e.g. 1) always 1?
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# JDK_MINOR_VERSION Minor number for version (e.g. 6)
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# JDK_MICRO_VERSION Micro number for version (e.g. 0)
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# Default is build both product fastdebug and create export area
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# Allow to build HotSpot in local directory from sources specified by GAMMADIR.
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# After make/defs.make GAMMADIR is defined.
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# Typical C1/C2 targets made available with this Makefile
351b62535d4c4f89883bfdba025999dd32490266Evan HuntKERNEL_VM_TARGETS=productkernel fastdebugkernel optimizedkernel jvmgkernel
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# JDK directory list
351b62535d4c4f89883bfdba025999dd32490266Evan Huntall_product: product product1 productkernel docs export_product
351b62535d4c4f89883bfdba025999dd32490266Evan Huntall_fastdebug: fastdebug fastdebug1 fastdebugkernel docs export_fastdebug
351b62535d4c4f89883bfdba025999dd32490266Evan Huntall_optimized: optimized optimized1 optimizedkernel docs export_optimized
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# Do everything
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt# Build or export docs
7ae7246a6339bb3a79ffc9f2f9c486de9a2bf65eAutomatic Updater @$(ECHO) "No docs ($(VM_TARGET)) for windows"
2cbb4ab75757fbb656997a82c14ca07db37d481aAutomatic Updater# Build variation of hotspot
2cbb4ab75757fbb656997a82c14ca07db37d481aAutomatic Updater $(MAKE) VM_TARGET=$@ generic_build1 $(ALT_OUT)
7ae7246a6339bb3a79ffc9f2f9c486de9a2bf65eAutomatic Updater $(MAKE) VM_TARGET=$@ generic_build2 $(ALT_OUT)
7ae7246a6339bb3a79ffc9f2f9c486de9a2bf65eAutomatic Updater $(MAKE) VM_TARGET=$@ generic_buildkernel $(ALT_OUT)
2cbb4ab75757fbb656997a82c14ca07db37d481aAutomatic Updater# Build compiler1 (client) rule, different for platforms
2cbb4ab75757fbb656997a82c14ca07db37d481aAutomatic Updater @$(ECHO) "No compiler1 ($(VM_TARGET)) for ARCH_DATA_MODEL=$(ARCH_DATA_MODEL)"
# Get jvm.lib
# Jar file (sa-jdi.jar)
$(EXPORT_INCLUDE_DIR)/$(JDK_INCLUDE_SUBDIR)/jni_md.h: $(HS_SRC_DIR)/cpu/$(HS_ARCH)/vm/jni_$(HS_ARCH).h
# Doc files (jvmti.html)
$(EXPORT_SERVER_DIR)/Xusage.txt $(EXPORT_CLIENT_DIR)/Xusage.txt $(EXPORT_KERNEL_DIR)/Xusage.txt: $(XUSAGE)
@$(ECHO) \
@$(ECHO) \
BOOTDIR \
BOOTDIR \
%.printval:
%.checkdir:
%.checkfil:
@$(ECHO) \
@$(ECHO) \
@$(ECHO) \
@$(ECHO) \
@$(ECHO) \
@$(ECHO) \
@$(ECHO) \
@$(ECHO) \
@$(ECHO) \
@$(ECHO) \
$(KERNEL_VM_TARGETS) \