duke@435: #! /bin/sh duke@435: # kvn@4879: # Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. duke@435: # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. duke@435: # duke@435: # This code is free software; you can redistribute it and/or modify it duke@435: # under the terms of the GNU General Public License version 2 only, as duke@435: # published by the Free Software Foundation. duke@435: # duke@435: # This code is distributed in the hope that it will be useful, but WITHOUT duke@435: # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or duke@435: # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License duke@435: # version 2 for more details (a copy is included in the LICENSE file that duke@435: # accompanied this code). duke@435: # duke@435: # You should have received a copy of the GNU General Public License version duke@435: # 2 along with this work; if not, write to the Free Software Foundation, duke@435: # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. duke@435: # trims@1907: # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA trims@1907: # or visit www.oracle.com if you need additional information or have any trims@1907: # questions. duke@435: # duke@435: # duke@435: duke@435: # Make sure the variable JAVA_HOME is set before running this script. duke@435: duke@435: set -u duke@435: duke@435: kvn@4879: if [ $# -lt 1 ]; then kvn@4879: echo "Usage : $0 BuildTarget [LP64=1] [BuildOptions]" kvn@4879: echo " Server VM | Client VM" kvn@4879: echo "BuildTarget : debug | debug1" kvn@4879: echo " fastdebug | fastdebug1" kvn@4879: echo " jvmg | jvmg1" kvn@4879: echo " optimized | optimized1" kvn@4879: echo " profiled | profiled1" kvn@4879: echo " product | product1" duke@435: exit 1 duke@435: fi duke@435: kvn@4879: if [ "${JAVA_HOME-}" = "" -o ! -d "${JAVA_HOME-}" -o ! -d ${JAVA_HOME-}/jre/lib/ ]; then kvn@4879: echo "JAVA_HOME needs to be set to a valid JDK path" kvn@4879: echo "JAVA_HOME: ${JAVA_HOME-}" kvn@4879: exit 1 duke@435: fi duke@435: duke@435: # Just in case: kvn@4879: JAVA_HOME=`( cd $JAVA_HOME; pwd )` duke@435: kvn@4879: if [ "${ALT_BOOTDIR-}" = "" -o ! -d "${ALT_BOOTDIR-}" -o ! -d ${ALT_BOOTDIR-}/jre/lib/ ]; then kvn@4879: ALT_BOOTDIR=${JAVA_HOME} duke@435: fi duke@435: kvn@4879: # build in current directory by default kvn@4879: if [ "${ALT_OUTPUTDIR-}" = "" -o ! -d "${ALT_OUTPUTDIR-}" ]; then kvn@4879: ALT_OUTPUTDIR=`(pwd)` kvn@4879: fi duke@435: kvn@4879: HOTSPOT_SRC=`(dirname $0)`/.. kvn@4879: HOTSPOT_SRC=`(cd ${HOTSPOT_SRC}; pwd)` duke@435: duke@435: for gm in gmake gnumake duke@435: do duke@435: if [ "${GNUMAKE-}" != "" ]; then break; fi duke@435: ($gm --version >/dev/null) 2>/dev/null && GNUMAKE=$gm duke@435: done duke@435: : ${GNUMAKE:?'Cannot locate the gnumake program. Stop.'} duke@435: kvn@4879: # quiet build by default kvn@4879: Quiet="MAKE_VERBOSE=" kvn@4879: kvn@4879: # no debug info by default kvn@4879: NoDebugInfo="ENABLE_FULL_DEBUG_SYMBOLS=" kvn@4879: kvn@4879: LANG=C duke@435: duke@435: echo "### ENVIRONMENT SETTINGS:" kvn@4879: export HOTSPOT_SRC ; echo "HOTSPOT_SRC=$HOTSPOT_SRC" duke@435: export JAVA_HOME ; echo "JAVA_HOME=$JAVA_HOME" kvn@4879: export ALT_BOOTDIR ; echo "ALT_BOOTDIR=$ALT_BOOTDIR" kvn@4879: export ALT_OUTPUTDIR ; echo "ALT_OUTPUTDIR=$ALT_OUTPUTDIR" duke@435: export GNUMAKE ; echo "GNUMAKE=$GNUMAKE" kvn@4879: export LANG ; echo "LANG=$LANG" duke@435: echo "###" duke@435: kvn@4879: BuildOptions="$Quiet $NoDebugInfo $*" duke@435: duke@435: echo \ kvn@4879: ${GNUMAKE} -f ${HOTSPOT_SRC}/make/Makefile $BuildOptions GAMMADIR=${HOTSPOT_SRC} kvn@4879: ${GNUMAKE} -f ${HOTSPOT_SRC}/make/Makefile $BuildOptions GAMMADIR=${HOTSPOT_SRC}