4170N/A# Copyright (c) 1998, 2013, 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# This makefile creates a build tree and lights off a build. 0N/A# You can go back into the build tree and perform rebuilds or 0N/A# incremental builds as desired. Be sure to reestablish 0N/A# environment variable settings for LD_LIBRARY_PATH and JAVA_HOME. 0N/A# The make process now relies on java and javac. These can be 0N/A# specified either implicitly on the PATH, by setting the 0N/A# (JDK-inherited) ALT_BOOTDIR environment variable to full path to a 0N/A# default BOOTDIR path value. Note that one of ALT_BOOTDIR 0N/A# or BOOTDIR has to be set. We do *not* search javac, javah, rmic etc. 1703N/A# Along with VM, Serviceability Agent (SA) is built for SA/JDI binding. 1703N/A# JDI binding on SA produces two binaries: 0N/A# 2. libsaproc[_g].so - Native library for SA - This is built after 0N/A# libjsig[_g].so (signal interposition library) 0N/A# If $(GAMMADIR)/agent dir is not present, SA components are not built. 0N/A $(OSNAME) $(ARCH) "*** ERROR: this platform does not support 64-bit compilers!") 0N/A# The following renders pathnames in generated Makefiles valid on 0N/A# machines other than the machine containing the build tree. 0N/A# For example, let's say my build tree lives on /files12 on 0N/A# We only do this on SunOS variants, for a couple of reasons: 0N/A# * It is extremely rare that source trees exist on other systems 0N/A# * It has been claimed that the Linux automounter is flakey, so 0N/A# changing GAMMADIR in a way that exercises the automounter could 0N/A# prove to be a source of unreliability in the build process. 0N/A# Obviously, this Makefile is only relevant on SunOS boxes to begin 0N/A# with, but the SunOS conditionalization will make it easier to 0N/A# combine Makefiles in the future (assuming we ever do that). 0N/A # prepend current directory to relative pathnames. 0N/A # If NEW_GAMMADIR doesn't already start with "/net/": 0N/A # prepend /net/$(HOST) 0N/A # remove /net/$(HOST) if name already began with /home/ 0N/A # remove /net/$(HOST) if name already began with /java/ 0N/A # remove /net/$(HOST) if name already began with /lab/ 0N/A -e "s=^/net/$(HOST)/home/=/home/=" \ 0N/A -e "s=^/net/$(HOST)/java/=/java/=" \ 0N/A # Don't use the new value for GAMMADIR unless a file with the new 0N/A # name actually exists. 0N/A# There is a (semi-) regular correspondence between make targets and actions: 0N/A# Target Tree Type Build Dir 0N/A# What you get with each target: 0N/A# debug* - "thin" libjvm_g - debug info linked into the gamma_g launcher 0N/A# fastdebug* - optimized compile, but with asserts enabled 0N/A# optimized* - optimized compile, no asserts 0N/A# product* - the shippable thing: optimized compile, no asserts, -DPRODUCT 0N/A# This target list needs to be coordinated with the usage message 0N/A#------------------------------------------------------------------------------- 0N/A# Could make everything by default, but that would take a while. 0N/A @
echo "Try '$(MAKE) <target> ...' where <target> is one or more of" 0N/A# We do not want people accidentally building on old systems (e.g. Linux 2.2.x, 0N/A# Solaris 2.5.1, 2.6). 0N/A# Disable this check by setting DISABLE_HOTSPOT_OS_VERSION_CHECK=ok. 0N/A# If not found then fail fast. 0N/A echo "*** An XSLT processor (J2SE 1.4.x or newer) is required" \
0N/A "to bootstrap this build" 1>&
2; \
0N/A# Define INSTALL=y at command line to automatically copy JVM into JAVA_HOME 0N/A# Just build the tree, and nothing else: 0N/A# Doc target. This is the same for all build options. 0N/A# Hence create a docs directory beside ...$(ARCH)_[...] 3365N/A# We specify 'BUILD_FLAVOR=product' so that the proper 3365N/A# ENABLE_FULL_DEBUG_SYMBOLS value is used. 0N/A# Synonyms for win32-like targets. 0N/A#-------------------------------------------------------------------------------