1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/make/hotspot-rules.gmk Sat Dec 01 00:00:00 2007 +0000 1.3 @@ -0,0 +1,98 @@ 1.4 +# 1.5 +# Copyright 2001-2007 Sun Microsystems, Inc. All Rights Reserved. 1.6 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 1.7 +# 1.8 +# This code is free software; you can redistribute it and/or modify it 1.9 +# under the terms of the GNU General Public License version 2 only, as 1.10 +# published by the Free Software Foundation. Sun designates this 1.11 +# particular file as subject to the "Classpath" exception as provided 1.12 +# by Sun in the LICENSE file that accompanied this code. 1.13 +# 1.14 +# This code is distributed in the hope that it will be useful, but WITHOUT 1.15 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 1.16 +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 1.17 +# version 2 for more details (a copy is included in the LICENSE file that 1.18 +# accompanied this code). 1.19 +# 1.20 +# You should have received a copy of the GNU General Public License version 1.21 +# 2 along with this work; if not, write to the Free Software Foundation, 1.22 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 1.23 +# 1.24 +# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 1.25 +# CA 95054 USA or visit www.sun.com if you need additional information or 1.26 +# have any questions. 1.27 +# 1.28 + 1.29 +################################################################ 1.30 +# HOTSPOT TARGETS 1.31 +################################################################ 1.32 + 1.33 +# All the output from a hotspot build should be re-located to the 1.34 +# build output area. 1.35 +# 1.36 +HOTSPOT_OUTPUTDIR = $(HOTSPOT_DIR)/outputdir 1.37 + 1.38 +# HOTSPOT_EXPORT_PATH points to a dir that contains files 1.39 +# that are needed in an SDK build, in the same relative positions as 1.40 +# these files are in an SDK image. 1.41 +# The SDK java/redist/Makefile will copy files from HOTSPOT_EXPORT_PATH 1.42 +# into the SDK being built. 1.43 +# This is the export path supplied to the hotspot makefiles. 1.44 +# 1.45 +HOTSPOT_EXPORT_PATH = $(HOTSPOT_DIR)/import 1.46 + 1.47 +# Default targets 1.48 +HOTSPOT = hotspot-sanity hotspot-build 1.49 + 1.50 +hotspot:: $(HOTSPOT) 1.51 + 1.52 +# Hotspot clobber removes the output directory and exported files 1.53 +hotspot-clobber:: 1.54 + $(RM) -r $(HOTSPOT_OUTPUTDIR) 1.55 + $(RM) -r $(HOTSPOT_EXPORT_PATH) 1.56 + 1.57 +hotspot-sanity:: 1.58 + @$(MKDIR) -p $(HOTSPOT_OUTPUTDIR) 1.59 + @$(MKDIR) -p $(HOTSPOT_EXPORT_PATH) 1.60 + @$(ECHO) "Hotspot Settings: \n" \ 1.61 + " HOTSPOT_BUILD_JOBS = $(HOTSPOT_BUILD_JOBS) \n" \ 1.62 + " HOTSPOT_OUTPUTDIR = $(HOTSPOT_OUTPUTDIR) \n" \ 1.63 + " HOTSPOT_EXPORT_PATH = $(HOTSPOT_EXPORT_PATH) \n" \ 1.64 + "\n" >> $(MESSAGE_FILE) 1.65 + 1.66 +# 1.67 +# Basic hotspot build and export of it's files 1.68 +# 1.69 + 1.70 +HOTSPOT_TARGET = all_product 1.71 +ifeq ($(DEBUG_NAME), debug) 1.72 + HOTSPOT_TARGET = all_debug 1.73 +endif 1.74 +ifeq ($(DEBUG_NAME), fastdebug) 1.75 + HOTSPOT_TARGET = all_fastdebug 1.76 +endif 1.77 + 1.78 +HOTSPOT_BUILD_ARGUMENTS += $(COMMON_BUILD_ARGUMENTS) 1.79 +HOTSPOT_BUILD_ARGUMENTS += ALT_OUTPUTDIR=$(HOTSPOT_OUTPUTDIR) 1.80 +HOTSPOT_BUILD_ARGUMENTS += ALT_EXPORT_PATH=$(HOTSPOT_EXPORT_PATH) 1.81 + 1.82 +# Why do these need to be passed in? Because of windows nmake? and MAKEFLAGS=? 1.83 +# Or is there something wrong with hotspot/make/Makefile? 1.84 +HOTSPOT_BUILD_ARGUMENTS += ALT_SLASH_JAVA=$(SLASH_JAVA) 1.85 +HOTSPOT_BUILD_ARGUMENTS += ALT_BOOTDIR=$(BOOTDIR) 1.86 + 1.87 +ifeq ($(BUILD_LANGTOOLS), true) 1.88 + HOTSPOT_BUILD_ARGUMENTS += ALT_LANGTOOLS_DIST=$(ABS_LANGTOOLS_DIST) 1.89 +endif 1.90 + 1.91 +hotspot-build:: 1.92 + $(MKDIR) -p $(HOTSPOT_OUTPUTDIR) 1.93 + $(MKDIR) -p $(HOTSPOT_EXPORT_PATH) 1.94 + $(CD) $(HOTSPOT_TOPDIR)/make && \ 1.95 + $(MAKE) $(HOTSPOT_BUILD_ARGUMENTS) $(HOTSPOT_TARGET) 1.96 + 1.97 +##################### 1.98 +# .PHONY 1.99 +##################### 1.100 +.PHONY: hotspot-build hotspot-clobber hotspot-sanity 1.101 +