Makefile revision 3763
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# This code is free software; you can redistribute it and/or modify it
a99c5d4cc3cab6a62b04d52000dbc22ce1fa2d94coar# under the terms of the GNU General Public License version 2 only, as
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# published by the Free Software Foundation. Oracle designates this
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# particular file as subject to the "Classpath" exception as provided
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# by Oracle in the LICENSE file that accompanied this code.
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# This code is distributed in the hope that it will be useful, but WITHOUT
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# version 2 for more details (a copy is included in the LICENSE file that
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# accompanied this code).
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# You should have received a copy of the GNU General Public License version
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# 2 along with this work; if not, write to the Free Software Foundation,
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# or visit www.oracle.com if you need additional information or have any
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# questions.
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# Imports files exported by a hotspot build or provided from an external
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# location into the OUTPUTDIR, and also primes the OUTPUTDIR with files
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# that are provided inside this workspace.
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# IMPORT_LIST contains the list of destination files that are copied
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# from external places (outside this workspace).
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# INTERNAL_IMPORT_LIST is the list of destination files from BUILDDIR.
75ae7f8e2645d58697604161bd58c35e5de0adacgryzorJVMDB_NAME = $(LIB_PREFIX)jvm$(DB_SUFFIX).$(LIBRARY_SUFFIX)
75ae7f8e2645d58697604161bd58c35e5de0adacgryzorJVMDTRACE_NAME = $(LIB_PREFIX)jvm$(DTRACE_SUFFIX).$(LIBRARY_SUFFIX)
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# Needed to do file copy
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# List of files created here or coming from BUILDDIR area (this workspace)
a9db829bebc5339233a3242f6742816425751d15lgentis# List of files coming from outside this workspace
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor IMPORT_LIST = $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVM_NAME) \
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# Hotspot client is only available on 32-bit non-Zero builds
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVM_NAME) \
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# Windows vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv Windows
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor$(BINDIR)/$(MSVCRNN_DLL): $(MSVCRNN_DLL_PATH)/$(MSVCRNN_DLL)
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# Get the hotspot .map and .pdb files for client and server
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# Add .map and .pdb files to the import path for client and kernel VMs.
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# These are only available on 32-bit windows builds.
a9db829bebc5339233a3242f6742816425751d15lgentis IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMMAP_NAME) \
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor IMPORT_LIST += $(LIB_LOCATION)/$(KERNEL_LOCATION)/$(JVMMAP_NAME) \
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor$(LIBDIR)/$(JVMLIB_NAME): $(HOTSPOT_LIB_PATH)/$(JVMLIB_NAME)
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# it is OK for the .map and .pdb files to not exist, so do not force a
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# dependency on them from the bootstrap location, and allow the copy to fail.
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# Windows ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Windows
75ae7f8e2645d58697604161bd58c35e5de0adacgryzorelse # PLATFORM
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# NOT Windows vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv NOT Windows
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/$(LIBJSIG_NAME)
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMDB_NAME)
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor # The conditional can be removed when import JDKs contain these files.
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor ifneq ($(wildcard $(HOTSPOT_SERVER_PATH)/$(JVMDTRACE_NAME)),)
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMDTRACE_NAME)
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor $(warning WARNING: $(HOTSPOT_SERVER_PATH)/$(JVMDB_NAME) not found!)
75ae7f8e2645d58697604161bd58c35e5de0adacgryzorIMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(LIBJSIG_NAME)
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# solaris vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv solaris
75ae7f8e2645d58697604161bd58c35e5de0adacgryzorIMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMDB_NAME)
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# The conditional can be removed when import JDKs contain these files.
75ae7f8e2645d58697604161bd58c35e5de0adacgryzorifneq ($(wildcard $(HOTSPOT_CLIENT_PATH)/$(JVMDTRACE_NAME)),)
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMDTRACE_NAME)
ec5fd46fd2a4a263bb5cdf419e8d4106007a2ac8gryzor IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/64/$(JVMDB_NAME)
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/64/$(JVMDTRACE_NAME)
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor $(warning WARNING: $(HOTSPOT_CLIENT_PATH)/$(JVMDTRACE_NAME) not found!)
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor # The conditional can be removed when import JDKs contain these files.
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor ifneq ($(wildcard $(HOTSPOT_SERVER_PATH)/64/$(JVMDB_NAME)),)
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/64/$(JVMDB_NAME)
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor $(warning WARNING: $(HOTSPOT_SERVER_PATH)/64/$(JVMDB_NAME) not found!)
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor # The conditional can be removed when import JDKs contain these files.
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor ifneq ($(wildcard $(HOTSPOT_SERVER_PATH)/64/$(JVMDTRACE_NAME)),)
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/64/$(JVMDTRACE_NAME)
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor $(warning WARNING: $(HOTSPOT_SERVER_PATH)/64/$(JVMDTRACE_NAME) not found!)
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# For backwards compatability, make a link of the 32-bit client JVM to $(LIBDIR)
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor$(LIB_LOCATION)/$(JVM_NAME): $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVM_NAME)
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# solaris ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ solaris
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# NOT Windows ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ NOT Windows
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVM_NAME): $(HOTSPOT_CLIENT_PATH)/$(JVM_NAME)
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor$(LIB_LOCATION)/$(KERNEL_LOCATION)/$(JVM_NAME): $(HOTSPOT_KERNEL_PATH)/$(JVM_NAME)
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor$(LIB_LOCATION)/$(LIBJSIG_NAME): $(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/$(LIBJSIG_NAME)
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMDB_NAME): $(HOTSPOT_CLIENT_PATH)/$(JVMDB_NAME)
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor$(LIB_LOCATION)/$(CLIENT_LOCATION)/64/$(JVMDB_NAME): $(HOTSPOT_CLIENT_PATH)/64/$(JVMDB_NAME)
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor$(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMDB_NAME): $(HOTSPOT_SERVER_PATH)/$(JVMDB_NAME)
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor$(LIB_LOCATION)/$(SERVER_LOCATION)/64/$(JVMDB_NAME): $(HOTSPOT_SERVER_PATH)/64/$(JVMDB_NAME)
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMDTRACE_NAME): $(HOTSPOT_CLIENT_PATH)/$(JVMDTRACE_NAME)
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor$(LIB_LOCATION)/$(CLIENT_LOCATION)/64/$(JVMDTRACE_NAME): $(HOTSPOT_CLIENT_PATH)/64/$(JVMDTRACE_NAME)
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor$(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMDTRACE_NAME): $(HOTSPOT_SERVER_PATH)/$(JVMDTRACE_NAME)
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor$(LIB_LOCATION)/$(SERVER_LOCATION)/64/$(JVMDTRACE_NAME): $(HOTSPOT_SERVER_PATH)/64/$(JVMDTRACE_NAME)
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor$(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVM_NAME): $(HOTSPOT_SERVER_PATH)/$(JVM_NAME)
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor$(LIB_LOCATION)/$(SERVER_LOCATION)/Xusage.txt : $(HOTSPOT_SERVER_PATH)/Xusage.txt
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor$(LIB_LOCATION)/$(CLIENT_LOCATION)/Xusage.txt : $(HOTSPOT_CLIENT_PATH)/Xusage.txt
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor$(LIB_LOCATION)/$(KERNEL_LOCATION)/Xusage.txt : $(HOTSPOT_KERNEL_PATH)/Xusage.txt
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# Specific to non-OpenJDK building
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor $(BUILDDIR)/closed/tools/crypto/jce/US_export_policy.jar
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# Construct classlist file
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor $(CLASSSHARINGDATA_DIR)/classlist.$(PLATFORM) $@.temp
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# Import internal files (ones that are stashed in this source tree)
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# Import files from the JDK that we are not building
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# Get component information variables and rules
75ae7f8e2645d58697604161bd58c35e5de0adacgryzorinclude $(BUILDDIR)/common/internal/ImportComponents.gmk
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# Security files we need to import
75ae7f8e2645d58697604161bd58c35e5de0adacgryzorSEC_FILES_ZIP=$(ABS_BUILDDIR)/tools/crypto/sec-bin.zip
75ae7f8e2645d58697604161bd58c35e5de0adacgryzorSEC_FILES_WIN_ZIP=$(ABS_BUILDDIR)/tools/crypto/sec-windows-bin.zip
75ae7f8e2645d58697604161bd58c35e5de0adacgryzorJGSS_WIN32_FILES_ZIP=$(ABS_BUILDDIR)/tools/crypto/jgss-windows-i586-bin.zip
75ae7f8e2645d58697604161bd58c35e5de0adacgryzorJGSS_WIN64_FILES_ZIP=$(ABS_BUILDDIR)/tools/crypto/jgss-windows-x64-bin.zip
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# Unzip zip file $2 into directory $1 (if $2 exists)
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# Warning: $2 must be absolute path not relative
75ae7f8e2645d58697604161bd58c35e5de0adacgryzorif [ -f $2 ] ; then \
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# If sec-bin exists, unpack it into the build directory
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# Also, the library recompile build indirectly depends on two SSL classes,
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# so copy those as well FIXUP
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# if sec-windows-bin exists, unpack it into the build directory
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# if JGSS files exists, unpack it into the build directory
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor @$(call SecUnzipper,$(OUTPUTDIR),$(SEC_FILES_WIN_ZIP))
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor @$(call SecUnzipper,$(OUTPUTDIR),$(JGSS_WIN32_FILES_ZIP))
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor @$(call SecUnzipper,$(OUTPUTDIR),$(JGSS_WIN64_FILES_ZIP))
87572e8c0099fbc192aedb944be2f969a4fc181flgentis# Import all files from other components
87572e8c0099fbc192aedb944be2f969a4fc181flgentis# Do pretty much everything
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor# Clean up what we imported (except for component files)
75ae7f8e2645d58697604161bd58c35e5de0adacgryzor $(call import-component-sources-clean,$(IMPORTSRCDIR))