duke@435: # xdono@631: # Copyright 2006-2008 Sun Microsystems, Inc. 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: # duke@435: # Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, duke@435: # CA 95054 USA or visit www.sun.com if you need additional information or duke@435: # have any questions. duke@435: # duke@435: # duke@435: duke@435: # The common definitions for hotspot windows builds. duke@435: # Include the top level defs.make under make directory instead of this one. duke@435: # This file is included into make/defs.make. duke@435: # On windows it is only used to construct parameters for kamg@526: # make/windows/build.make when make/Makefile is used to build VM. duke@435: duke@435: SLASH_JAVA ?= J: duke@435: PATH_SEP = ; duke@435: duke@435: # Need PLATFORM (os-arch combo names) for jdk and hotspot, plus libarch name duke@435: ifneq ($(shell $(ECHO) $(PROCESSOR_IDENTIFIER) | $(GREP) x86),) duke@435: ARCH_DATA_MODEL=32 duke@435: PLATFORM=windows-i586 duke@435: VM_PLATFORM=windows_i486 duke@435: HS_ARCH=x86 duke@435: MAKE_ARGS += ARCH=x86 duke@435: MAKE_ARGS += BUILDARCH=i486 duke@435: MAKE_ARGS += Platform_arch=x86 duke@435: MAKE_ARGS += Platform_arch_model=x86_32 duke@435: endif duke@435: duke@435: ifneq ($(shell $(ECHO) $(PROCESSOR_IDENTIFIER) | $(GREP) ia64),) duke@435: ARCH_DATA_MODEL=64 duke@435: PLATFORM=windows-ia64 duke@435: VM_PLATFORM=windows_ia64 duke@435: HS_ARCH=ia64 duke@435: MAKE_ARGS += LP64=1 duke@435: MAKE_ARGS += ARCH=ia64 duke@435: MAKE_ARGS += BUILDARCH=ia64 duke@435: MAKE_ARGS += Platform_arch=ia64 duke@435: MAKE_ARGS += Platform_arch_model=ia64 duke@435: endif duke@435: duke@435: ifneq ($(shell $(ECHO) $(PROCESSOR_IDENTIFIER) | $(GREP) AMD64),) duke@435: ARCH_DATA_MODEL=64 duke@435: PLATFORM=windows-amd64 duke@435: VM_PLATFORM=windows_amd64 duke@435: HS_ARCH=x86 duke@435: MAKE_ARGS += LP64=1 duke@435: MAKE_ARGS += ARCH=x86 duke@435: MAKE_ARGS += BUILDARCH=amd64 duke@435: MAKE_ARGS += Platform_arch=x86 duke@435: MAKE_ARGS += Platform_arch_model=x86_64 duke@435: endif duke@435: duke@435: JDK_INCLUDE_SUBDIR=win32 duke@435: duke@435: # HOTSPOT_RELEASE_VERSION and HOTSPOT_BUILD_VERSION are defined duke@435: # and added to MAKE_ARGS list in $(GAMMADIR)/make/defs.make. duke@435: duke@435: # next parameters are defined in $(GAMMADIR)/make/defs.make. duke@435: MAKE_ARGS += JDK_MKTG_VERSION=$(JDK_MKTG_VERSION) duke@435: MAKE_ARGS += JDK_MAJOR_VER=$(JDK_MAJOR_VERSION) duke@435: MAKE_ARGS += JDK_MINOR_VER=$(JDK_MINOR_VERSION) duke@435: MAKE_ARGS += JDK_MICRO_VER=$(JDK_MICRO_VERSION) duke@435: duke@435: ifdef COOKED_JDK_UPDATE_VERSION duke@435: MAKE_ARGS += JDK_UPDATE_VER=$(COOKED_JDK_UPDATE_VERSION) duke@435: endif duke@435: duke@435: # COOKED_BUILD_NUMBER should only be set if we have a numeric duke@435: # build number. It must not be zero padded. duke@435: ifdef COOKED_BUILD_NUMBER duke@435: MAKE_ARGS += JDK_BUILD_NUMBER=$(COOKED_BUILD_NUMBER) duke@435: endif duke@435: duke@435: NMAKE= MAKEFLAGS= MFLAGS= nmake /NOLOGO duke@435: duke@435: # Check for CYGWIN duke@435: ifneq (,$(findstring CYGWIN,$(shell uname))) duke@435: USING_CYGWIN=true duke@435: else duke@435: USING_CYGWIN=false duke@435: endif duke@435: # FIXUP: The subdirectory for a debug build is NOT the same on all platforms duke@435: VM_DEBUG=debug duke@435: duke@435: # Windows wants particular paths due to nmake (must be after macros defined) duke@435: # It is important that gnumake invokes nmake with C:\\...\\ formated duke@435: # strings so that nmake gets C:\...\ style strings. duke@435: # Check for CYGWIN duke@435: ifeq ($(USING_CYGWIN), true) duke@435: ABS_OUTPUTDIR := $(subst /,\\,$(shell /bin/cygpath -m -a "$(OUTPUTDIR)")) duke@435: ABS_BOOTDIR := $(subst /,\\,$(shell /bin/cygpath -m -a "$(BOOTDIR)")) duke@435: ABS_GAMMADIR := $(subst /,\\,$(shell /bin/cygpath -m -a "$(GAMMADIR)")) jmasa@706: ABS_OS_MAKEFILE := $(shell /bin/cygpath -m -a "$(HS_MAKE_DIR)/$(OSNAME)")/build.make duke@435: else duke@435: ABS_OUTPUTDIR := $(subst /,\\,$(shell $(CD) $(OUTPUTDIR);$(PWD))) duke@435: ABS_BOOTDIR := $(subst /,\\,$(shell $(CD) $(BOOTDIR);$(PWD))) duke@435: ABS_GAMMADIR := $(subst /,\\,$(shell $(CD) $(GAMMADIR);$(PWD))) kamg@526: ABS_OS_MAKEFILE := $(subst /,\\,$(shell $(CD) $(HS_MAKE_DIR)/$(OSNAME);$(PWD))/build.make) duke@435: endif duke@435: duke@435: # Disable building SA on windows until we are sure duke@435: # we want to release it. If we build it here, duke@435: # the SDK makefiles will copy it over and put it into duke@435: # the created image. duke@435: BUILD_WIN_SA = 0 duke@435: ifneq ($(ALT_BUILD_WIN_SA),) duke@435: BUILD_WIN_SA = $(ALT_BUILD_WIN_SA) duke@435: endif duke@435: duke@435: ifeq ($(BUILD_WIN_SA), 1) duke@435: ifeq ($(ARCH),ia64) duke@435: BUILD_WIN_SA = 0 duke@435: endif duke@435: endif duke@435: duke@435: EXPORT_SERVER_DIR = $(EXPORT_JRE_BIN_DIR)/server duke@435: EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt duke@435: EXPORT_LIST += $(EXPORT_SERVER_DIR)/jvm.dll duke@435: EXPORT_LIST += $(EXPORT_SERVER_DIR)/jvm.pdb duke@435: EXPORT_LIST += $(EXPORT_SERVER_DIR)/jvm.map duke@435: EXPORT_LIST += $(EXPORT_LIB_DIR)/jvm.lib duke@435: ifeq ($(ARCH_DATA_MODEL), 32) duke@435: EXPORT_CLIENT_DIR = $(EXPORT_JRE_BIN_DIR)/client duke@435: EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt duke@435: EXPORT_LIST += $(EXPORT_CLIENT_DIR)/jvm.dll duke@435: EXPORT_LIST += $(EXPORT_CLIENT_DIR)/jvm.pdb duke@435: EXPORT_LIST += $(EXPORT_CLIENT_DIR)/jvm.map duke@435: # kernel vm duke@435: EXPORT_KERNEL_DIR = $(EXPORT_JRE_BIN_DIR)/kernel duke@435: EXPORT_LIST += $(EXPORT_KERNEL_DIR)/Xusage.txt duke@435: EXPORT_LIST += $(EXPORT_KERNEL_DIR)/jvm.dll duke@435: EXPORT_LIST += $(EXPORT_KERNEL_DIR)/jvm.pdb duke@435: EXPORT_LIST += $(EXPORT_KERNEL_DIR)/jvm.map duke@435: endif duke@435: duke@435: ifeq ($(BUILD_WIN_SA), 1) duke@435: EXPORT_LIST += $(EXPORT_JRE_BIN_DIR)/sawindbg.dll duke@435: EXPORT_LIST += $(EXPORT_JRE_BIN_DIR)/sawindbg.pdb duke@435: EXPORT_LIST += $(EXPORT_JRE_BIN_DIR)/sawindbg.map duke@435: EXPORT_LIST += $(EXPORT_LIB_DIR)/sa-jdi.jar duke@435: # Must pass this down to nmake. duke@435: MAKE_ARGS += BUILD_WIN_SA=1 duke@435: endif