duke@2: # duke@2: # Copyright 2001-2007 Sun Microsystems, Inc. All Rights Reserved. duke@2: # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. duke@2: # duke@2: # This code is free software; you can redistribute it and/or modify it duke@2: # under the terms of the GNU General Public License version 2 only, as duke@2: # published by the Free Software Foundation. Sun designates this duke@2: # particular file as subject to the "Classpath" exception as provided duke@2: # by Sun in the LICENSE file that accompanied this code. duke@2: # duke@2: # This code is distributed in the hope that it will be useful, but WITHOUT duke@2: # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or duke@2: # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License duke@2: # version 2 for more details (a copy is included in the LICENSE file that duke@2: # accompanied this code). duke@2: # duke@2: # You should have received a copy of the GNU General Public License version duke@2: # 2 along with this work; if not, write to the Free Software Foundation, duke@2: # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. duke@2: # duke@2: # Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, duke@2: # CA 95054 USA or visit www.sun.com if you need additional information or duke@2: # have any questions. duke@2: # duke@2: duke@2: ################################################################ duke@2: # HOTSPOT TARGETS duke@2: ################################################################ duke@2: duke@2: # All the output from a hotspot build should be re-located to the duke@2: # build output area. duke@2: # duke@2: HOTSPOT_OUTPUTDIR = $(HOTSPOT_DIR)/outputdir duke@2: duke@2: # HOTSPOT_EXPORT_PATH points to a dir that contains files duke@2: # that are needed in an SDK build, in the same relative positions as duke@2: # these files are in an SDK image. duke@2: # The SDK java/redist/Makefile will copy files from HOTSPOT_EXPORT_PATH duke@2: # into the SDK being built. duke@2: # This is the export path supplied to the hotspot makefiles. duke@2: # duke@2: HOTSPOT_EXPORT_PATH = $(HOTSPOT_DIR)/import duke@2: duke@2: # Default targets duke@2: HOTSPOT = hotspot-sanity hotspot-build duke@2: duke@2: hotspot:: $(HOTSPOT) duke@2: duke@2: # Hotspot clobber removes the output directory and exported files duke@2: hotspot-clobber:: duke@2: $(RM) -r $(HOTSPOT_OUTPUTDIR) duke@2: $(RM) -r $(HOTSPOT_EXPORT_PATH) duke@2: duke@2: hotspot-sanity:: duke@2: @$(MKDIR) -p $(HOTSPOT_OUTPUTDIR) duke@2: @$(MKDIR) -p $(HOTSPOT_EXPORT_PATH) duke@2: @$(ECHO) "Hotspot Settings: \n" \ duke@2: " HOTSPOT_BUILD_JOBS = $(HOTSPOT_BUILD_JOBS) \n" \ duke@2: " HOTSPOT_OUTPUTDIR = $(HOTSPOT_OUTPUTDIR) \n" \ duke@2: " HOTSPOT_EXPORT_PATH = $(HOTSPOT_EXPORT_PATH) \n" \ duke@2: "\n" >> $(MESSAGE_FILE) duke@2: duke@2: # duke@2: # Basic hotspot build and export of it's files duke@2: # duke@2: duke@2: HOTSPOT_TARGET = all_product duke@2: ifeq ($(DEBUG_NAME), debug) duke@2: HOTSPOT_TARGET = all_debug duke@2: endif duke@2: ifeq ($(DEBUG_NAME), fastdebug) duke@2: HOTSPOT_TARGET = all_fastdebug duke@2: endif duke@2: duke@2: HOTSPOT_BUILD_ARGUMENTS += $(COMMON_BUILD_ARGUMENTS) duke@2: HOTSPOT_BUILD_ARGUMENTS += ALT_OUTPUTDIR=$(HOTSPOT_OUTPUTDIR) duke@2: HOTSPOT_BUILD_ARGUMENTS += ALT_EXPORT_PATH=$(HOTSPOT_EXPORT_PATH) duke@2: duke@2: # Why do these need to be passed in? Because of windows nmake? and MAKEFLAGS=? duke@2: # Or is there something wrong with hotspot/make/Makefile? duke@2: HOTSPOT_BUILD_ARGUMENTS += ALT_SLASH_JAVA=$(SLASH_JAVA) duke@2: HOTSPOT_BUILD_ARGUMENTS += ALT_BOOTDIR=$(BOOTDIR) duke@2: duke@2: ifeq ($(BUILD_LANGTOOLS), true) duke@2: HOTSPOT_BUILD_ARGUMENTS += ALT_LANGTOOLS_DIST=$(ABS_LANGTOOLS_DIST) duke@2: endif duke@2: duke@2: hotspot-build:: duke@2: $(MKDIR) -p $(HOTSPOT_OUTPUTDIR) duke@2: $(MKDIR) -p $(HOTSPOT_EXPORT_PATH) duke@2: $(CD) $(HOTSPOT_TOPDIR)/make && \ duke@2: $(MAKE) $(HOTSPOT_BUILD_ARGUMENTS) $(HOTSPOT_TARGET) duke@2: duke@2: ##################### duke@2: # .PHONY duke@2: ##################### duke@2: .PHONY: hotspot-build hotspot-clobber hotspot-sanity duke@2: