hotspot/make/defs.make
author bobv
Tue, 03 Aug 2010 08:13:38 -0400
changeset 6176 4d9030fe341f
parent 5547 f4b087cbb361
child 7402 554c8ae9c3e0
permissions -rw-r--r--
6953477: Increase portability and flexibility of building Hotspot Summary: A collection of portability improvements including shared code support for PPC, ARM platforms, software floating point, cross compilation support and improvements in error crash detail. Reviewed-by: phh, never, coleenp, dholmes
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
     1
#
5547
f4b087cbb361 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 4733
diff changeset
     2
# Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
     3
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
489c9b5090e2 Initial load
duke
parents:
diff changeset
     4
#
489c9b5090e2 Initial load
duke
parents:
diff changeset
     5
# This code is free software; you can redistribute it and/or modify it
489c9b5090e2 Initial load
duke
parents:
diff changeset
     6
# under the terms of the GNU General Public License version 2 only, as
489c9b5090e2 Initial load
duke
parents:
diff changeset
     7
# published by the Free Software Foundation.
489c9b5090e2 Initial load
duke
parents:
diff changeset
     8
#
489c9b5090e2 Initial load
duke
parents:
diff changeset
     9
# This code is distributed in the hope that it will be useful, but WITHOUT
489c9b5090e2 Initial load
duke
parents:
diff changeset
    10
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
489c9b5090e2 Initial load
duke
parents:
diff changeset
    11
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
489c9b5090e2 Initial load
duke
parents:
diff changeset
    12
# version 2 for more details (a copy is included in the LICENSE file that
489c9b5090e2 Initial load
duke
parents:
diff changeset
    13
# accompanied this code).
489c9b5090e2 Initial load
duke
parents:
diff changeset
    14
#
489c9b5090e2 Initial load
duke
parents:
diff changeset
    15
# You should have received a copy of the GNU General Public License version
489c9b5090e2 Initial load
duke
parents:
diff changeset
    16
# 2 along with this work; if not, write to the Free Software Foundation,
489c9b5090e2 Initial load
duke
parents:
diff changeset
    17
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    18
#
5547
f4b087cbb361 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 4733
diff changeset
    19
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
f4b087cbb361 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 4733
diff changeset
    20
# or visit www.oracle.com if you need additional information or have any
f4b087cbb361 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 4733
diff changeset
    21
# questions.
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    22
#  
489c9b5090e2 Initial load
duke
parents:
diff changeset
    23
#
489c9b5090e2 Initial load
duke
parents:
diff changeset
    24
489c9b5090e2 Initial load
duke
parents:
diff changeset
    25
# The common definitions for hotspot builds.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    26
489c9b5090e2 Initial load
duke
parents:
diff changeset
    27
# Default to verbose build logs (show all compile lines):
489c9b5090e2 Initial load
duke
parents:
diff changeset
    28
MAKE_VERBOSE=y
489c9b5090e2 Initial load
duke
parents:
diff changeset
    29
489c9b5090e2 Initial load
duke
parents:
diff changeset
    30
# Make macros for install files or preparing targets
489c9b5090e2 Initial load
duke
parents:
diff changeset
    31
CD=cd
489c9b5090e2 Initial load
duke
parents:
diff changeset
    32
CP=cp
489c9b5090e2 Initial load
duke
parents:
diff changeset
    33
ECHO=echo
489c9b5090e2 Initial load
duke
parents:
diff changeset
    34
GREP=grep
489c9b5090e2 Initial load
duke
parents:
diff changeset
    35
MKDIR=mkdir
489c9b5090e2 Initial load
duke
parents:
diff changeset
    36
MV=mv
489c9b5090e2 Initial load
duke
parents:
diff changeset
    37
PWD=pwd
489c9b5090e2 Initial load
duke
parents:
diff changeset
    38
RM=rm -f
489c9b5090e2 Initial load
duke
parents:
diff changeset
    39
SED=sed
489c9b5090e2 Initial load
duke
parents:
diff changeset
    40
TAR=tar
489c9b5090e2 Initial load
duke
parents:
diff changeset
    41
ZIPEXE=zip
489c9b5090e2 Initial load
duke
parents:
diff changeset
    42
489c9b5090e2 Initial load
duke
parents:
diff changeset
    43
define install-file
489c9b5090e2 Initial load
duke
parents:
diff changeset
    44
@$(MKDIR) -p $(@D)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    45
@$(RM) $@
489c9b5090e2 Initial load
duke
parents:
diff changeset
    46
$(CP) $< $@
489c9b5090e2 Initial load
duke
parents:
diff changeset
    47
endef
489c9b5090e2 Initial load
duke
parents:
diff changeset
    48
define prep-target
489c9b5090e2 Initial load
duke
parents:
diff changeset
    49
@$(MKDIR) -p $(@D)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    50
@$(RM) $@
489c9b5090e2 Initial load
duke
parents:
diff changeset
    51
endef
489c9b5090e2 Initial load
duke
parents:
diff changeset
    52
489c9b5090e2 Initial load
duke
parents:
diff changeset
    53
# Directory paths and user name
489c9b5090e2 Initial load
duke
parents:
diff changeset
    54
# Unless GAMMADIR is set on the command line, search upward from
489c9b5090e2 Initial load
duke
parents:
diff changeset
    55
# the current directory for a parent directory containing "src/share/vm".
489c9b5090e2 Initial load
duke
parents:
diff changeset
    56
# If that fails, look for $GAMMADIR in the environment.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    57
# When the tree of subdirs is built, this setting is stored in each flags.make.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    58
GAMMADIR := $(shell until ([ -d dev ]&&echo $${GAMMADIR:-/GAMMADIR/}) || ([ -d src/share/vm ]&&pwd); do cd ..; done)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    59
HS_SRC_DIR=$(GAMMADIR)/src
338
5cf9f61d76f4 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 1
diff changeset
    60
HS_MAKE_DIR=$(GAMMADIR)/make
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    61
HS_BUILD_DIR=$(GAMMADIR)/build
489c9b5090e2 Initial load
duke
parents:
diff changeset
    62
489c9b5090e2 Initial load
duke
parents:
diff changeset
    63
ifeq ($(USER),)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    64
  USER=$(USERNAME)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    65
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
    66
489c9b5090e2 Initial load
duke
parents:
diff changeset
    67
# hotspot version definitions
489c9b5090e2 Initial load
duke
parents:
diff changeset
    68
include $(GAMMADIR)/make/hotspot_version
489c9b5090e2 Initial load
duke
parents:
diff changeset
    69
489c9b5090e2 Initial load
duke
parents:
diff changeset
    70
# Java versions needed
489c9b5090e2 Initial load
duke
parents:
diff changeset
    71
ifeq ($(PREVIOUS_JDK_VERSION),)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    72
  PREVIOUS_JDK_VERSION=$(JDK_PREVIOUS_VERSION)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    73
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
    74
ifeq ($(JDK_MAJOR_VERSION),)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    75
  JDK_MAJOR_VERSION=$(JDK_MAJOR_VER)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    76
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
    77
ifeq ($(JDK_MINOR_VERSION),)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    78
  JDK_MINOR_VERSION=$(JDK_MINOR_VER)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    79
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
    80
ifeq ($(JDK_MICRO_VERSION),)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    81
  JDK_MICRO_VERSION=$(JDK_MICRO_VER)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    82
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
    83
ifeq ($(JDK_MKTG_VERSION),)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    84
  JDK_MKTG_VERSION=$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    85
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
    86
ifeq ($(JDK_VERSION),)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    87
  JDK_VERSION=$(JDK_MAJOR_VERSION).$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    88
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
    89
ifeq ($(FULL_VERSION),)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    90
  FULL_VERSION="$(JDK_VERSION)"
489c9b5090e2 Initial load
duke
parents:
diff changeset
    91
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
    92
489c9b5090e2 Initial load
duke
parents:
diff changeset
    93
# FULL_VERSION is only used to define JRE_RELEASE_VERSION which is used
489c9b5090e2 Initial load
duke
parents:
diff changeset
    94
# as JRE version in VM -Xinternalversion output.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    95
ifndef JRE_RELEASE_VERSION
489c9b5090e2 Initial load
duke
parents:
diff changeset
    96
  JRE_RELEASE_VERSION=$(FULL_VERSION)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    97
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
    98
489c9b5090e2 Initial load
duke
parents:
diff changeset
    99
ifndef HOTSPOT_RELEASE_VERSION
489c9b5090e2 Initial load
duke
parents:
diff changeset
   100
  HOTSPOT_RELEASE_VERSION=$(HS_MAJOR_VER).$(HS_MINOR_VER)-b$(HS_BUILD_NUMBER)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   101
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   102
489c9b5090e2 Initial load
duke
parents:
diff changeset
   103
ifdef HOTSPOT_BUILD_VERSION
489c9b5090e2 Initial load
duke
parents:
diff changeset
   104
# specified in command line (PRT build)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   105
else
489c9b5090e2 Initial load
duke
parents:
diff changeset
   106
  ifdef JPRT_BUILD_VERSION
489c9b5090e2 Initial load
duke
parents:
diff changeset
   107
# JPR build
489c9b5090e2 Initial load
duke
parents:
diff changeset
   108
    HOTSPOT_BUILD_VERSION=$(JPRT_BUILD_VERSION)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   109
  else
489c9b5090e2 Initial load
duke
parents:
diff changeset
   110
    ifdef COOKED_BUILD_NUMBER
489c9b5090e2 Initial load
duke
parents:
diff changeset
   111
# JRE build
489c9b5090e2 Initial load
duke
parents:
diff changeset
   112
      HOTSPOT_BUILD_VERSION=
489c9b5090e2 Initial load
duke
parents:
diff changeset
   113
    else
489c9b5090e2 Initial load
duke
parents:
diff changeset
   114
      HOTSPOT_BUILD_VERSION=internal
489c9b5090e2 Initial load
duke
parents:
diff changeset
   115
    endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   116
  endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   117
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   118
489c9b5090e2 Initial load
duke
parents:
diff changeset
   119
# Windows should have OS predefined
489c9b5090e2 Initial load
duke
parents:
diff changeset
   120
ifeq ($(OS),)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   121
  OS   := $(shell uname -s)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   122
  HOST := $(shell uname -n)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   123
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   124
489c9b5090e2 Initial load
duke
parents:
diff changeset
   125
# If not SunOS and not Linux, assume Windows
489c9b5090e2 Initial load
duke
parents:
diff changeset
   126
ifneq ($(OS), Linux)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   127
  ifneq ($(OS), SunOS)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   128
    OSNAME=windows
489c9b5090e2 Initial load
duke
parents:
diff changeset
   129
  else
489c9b5090e2 Initial load
duke
parents:
diff changeset
   130
    OSNAME=solaris
489c9b5090e2 Initial load
duke
parents:
diff changeset
   131
  endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   132
else
489c9b5090e2 Initial load
duke
parents:
diff changeset
   133
  OSNAME=linux
489c9b5090e2 Initial load
duke
parents:
diff changeset
   134
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   135
489c9b5090e2 Initial load
duke
parents:
diff changeset
   136
# Determinations of default make arguments and platform specific settings
489c9b5090e2 Initial load
duke
parents:
diff changeset
   137
MAKE_ARGS=
489c9b5090e2 Initial load
duke
parents:
diff changeset
   138
489c9b5090e2 Initial load
duke
parents:
diff changeset
   139
# ARCH_DATA_MODEL==64 is equivalent to LP64=1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   140
ifeq ($(ARCH_DATA_MODEL), 64)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   141
  ifndef LP64
489c9b5090e2 Initial load
duke
parents:
diff changeset
   142
    LP64 := 1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   143
  endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   144
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   145
489c9b5090e2 Initial load
duke
parents:
diff changeset
   146
# Defaults set for product build
489c9b5090e2 Initial load
duke
parents:
diff changeset
   147
EXPORT_SUBDIR=
489c9b5090e2 Initial load
duke
parents:
diff changeset
   148
489c9b5090e2 Initial load
duke
parents:
diff changeset
   149
# Change default /java path if requested
489c9b5090e2 Initial load
duke
parents:
diff changeset
   150
ifneq ($(ALT_SLASH_JAVA),)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   151
  SLASH_JAVA=$(ALT_SLASH_JAVA)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   152
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   153
489c9b5090e2 Initial load
duke
parents:
diff changeset
   154
# Default OUTPUTDIR
489c9b5090e2 Initial load
duke
parents:
diff changeset
   155
OUTPUTDIR=$(HS_BUILD_DIR)/$(OSNAME)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   156
ifneq ($(ALT_OUTPUTDIR),)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   157
  OUTPUTDIR=$(ALT_OUTPUTDIR)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   158
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   159
489c9b5090e2 Initial load
duke
parents:
diff changeset
   160
# Find latest promoted JDK area
489c9b5090e2 Initial load
duke
parents:
diff changeset
   161
JDK_IMPORT_PATH=$(SLASH_JAVA)/re/j2se/$(JDK_VERSION)/promoted/latest/binaries/$(PLATFORM)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   162
ifneq ($(ALT_JDK_IMPORT_PATH),)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   163
  JDK_IMPORT_PATH=$(ALT_JDK_IMPORT_PATH)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   164
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   165
489c9b5090e2 Initial load
duke
parents:
diff changeset
   166
# Find JDK used for javac compiles
489c9b5090e2 Initial load
duke
parents:
diff changeset
   167
BOOTDIR=$(SLASH_JAVA)/re/j2se/$(PREVIOUS_JDK_VERSION)/latest/binaries/$(PLATFORM)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   168
ifneq ($(ALT_BOOTDIR),)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   169
  BOOTDIR=$(ALT_BOOTDIR)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   170
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   171
489c9b5090e2 Initial load
duke
parents:
diff changeset
   172
# The platform dependent defs.make defines platform specific variable such 
489c9b5090e2 Initial load
duke
parents:
diff changeset
   173
# as ARCH, EXPORT_LIST etc. We must place the include here after BOOTDIR is defined.
338
5cf9f61d76f4 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 1
diff changeset
   174
include $(GAMMADIR)/make/$(OSNAME)/makefiles/defs.make
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   175
489c9b5090e2 Initial load
duke
parents:
diff changeset
   176
# We are trying to put platform specific defintions
338
5cf9f61d76f4 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 1
diff changeset
   177
# files to make/$(OSNAME)/makefiles dictory. However
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   178
# some definitions are common for both linux and solaris,
489c9b5090e2 Initial load
duke
parents:
diff changeset
   179
# so we put them here.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   180
ifneq ($(OSNAME),windows)
338
5cf9f61d76f4 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 1
diff changeset
   181
  ABS_OUTPUTDIR     := $(shell mkdir -p $(OUTPUTDIR); $(CD) $(OUTPUTDIR); $(PWD))
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   182
  ABS_BOOTDIR       := $(shell $(CD) $(BOOTDIR); $(PWD))
489c9b5090e2 Initial load
duke
parents:
diff changeset
   183
  ABS_GAMMADIR      := $(shell $(CD) $(GAMMADIR); $(PWD))
338
5cf9f61d76f4 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 1
diff changeset
   184
  ABS_OS_MAKEFILE   := $(shell $(CD) $(HS_MAKE_DIR)/$(OSNAME); $(PWD))/Makefile
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   185
489c9b5090e2 Initial load
duke
parents:
diff changeset
   186
  # uname, HotSpot source directory, build directory and JDK use different names
489c9b5090e2 Initial load
duke
parents:
diff changeset
   187
  # for CPU architectures.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   188
  #   ARCH      - uname output
489c9b5090e2 Initial load
duke
parents:
diff changeset
   189
  #   SRCARCH   - where to find HotSpot cpu and os_cpu source files
489c9b5090e2 Initial load
duke
parents:
diff changeset
   190
  #   BUILDARCH - build directory
489c9b5090e2 Initial load
duke
parents:
diff changeset
   191
  #   LIBARCH   - directory name in JDK/JRE
489c9b5090e2 Initial load
duke
parents:
diff changeset
   192
489c9b5090e2 Initial load
duke
parents:
diff changeset
   193
  # Use uname output for SRCARCH, but deal with platform differences. If ARCH
489c9b5090e2 Initial load
duke
parents:
diff changeset
   194
  # is not explicitly listed below, it is treated as x86. 
6176
4d9030fe341f 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 5547
diff changeset
   195
  SRCARCH     = $(ARCH/$(filter sparc sparc64 ia64 amd64 x86_64 arm ppc zero,$(ARCH)))
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   196
  ARCH/       = x86
489c9b5090e2 Initial load
duke
parents:
diff changeset
   197
  ARCH/sparc  = sparc
489c9b5090e2 Initial load
duke
parents:
diff changeset
   198
  ARCH/sparc64= sparc
489c9b5090e2 Initial load
duke
parents:
diff changeset
   199
  ARCH/ia64   = ia64
489c9b5090e2 Initial load
duke
parents:
diff changeset
   200
  ARCH/amd64  = x86
489c9b5090e2 Initial load
duke
parents:
diff changeset
   201
  ARCH/x86_64 = x86
6176
4d9030fe341f 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 5547
diff changeset
   202
  ARCH/ppc64  = ppc
4d9030fe341f 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 5547
diff changeset
   203
  ARCH/ppc    = ppc
4d9030fe341f 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 5547
diff changeset
   204
  ARCH/arm    = arm
4013
b154310845de 6890308: integrate zero assembler hotspot changes
never
parents: 781
diff changeset
   205
  ARCH/zero   = zero
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   206
489c9b5090e2 Initial load
duke
parents:
diff changeset
   207
  # BUILDARCH is usually the same as SRCARCH, except for sparcv9
489c9b5090e2 Initial load
duke
parents:
diff changeset
   208
  BUILDARCH = $(SRCARCH)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   209
  ifeq ($(BUILDARCH), x86)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   210
    ifdef LP64
489c9b5090e2 Initial load
duke
parents:
diff changeset
   211
      BUILDARCH = amd64
489c9b5090e2 Initial load
duke
parents:
diff changeset
   212
    else
489c9b5090e2 Initial load
duke
parents:
diff changeset
   213
      BUILDARCH = i486
489c9b5090e2 Initial load
duke
parents:
diff changeset
   214
    endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   215
  endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   216
  ifeq ($(BUILDARCH), sparc)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   217
    ifdef LP64
489c9b5090e2 Initial load
duke
parents:
diff changeset
   218
      BUILDARCH = sparcv9
489c9b5090e2 Initial load
duke
parents:
diff changeset
   219
    endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   220
  endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   221
489c9b5090e2 Initial load
duke
parents:
diff changeset
   222
  # LIBARCH is 1:1 mapping from BUILDARCH
489c9b5090e2 Initial load
duke
parents:
diff changeset
   223
  LIBARCH         = $(LIBARCH/$(BUILDARCH))
489c9b5090e2 Initial load
duke
parents:
diff changeset
   224
  LIBARCH/i486    = i386
489c9b5090e2 Initial load
duke
parents:
diff changeset
   225
  LIBARCH/amd64   = amd64
489c9b5090e2 Initial load
duke
parents:
diff changeset
   226
  LIBARCH/sparc   = sparc
489c9b5090e2 Initial load
duke
parents:
diff changeset
   227
  LIBARCH/sparcv9 = sparcv9
489c9b5090e2 Initial load
duke
parents:
diff changeset
   228
  LIBARCH/ia64    = ia64
6176
4d9030fe341f 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 5547
diff changeset
   229
  LIBARCH/ppc64   = ppc
4d9030fe341f 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 5547
diff changeset
   230
  LIBARCH/ppc     = ppc
4d9030fe341f 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 5547
diff changeset
   231
  LIBARCH/arm     = arm
4013
b154310845de 6890308: integrate zero assembler hotspot changes
never
parents: 781
diff changeset
   232
  LIBARCH/zero    = $(ZERO_LIBARCH)
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   233
4013
b154310845de 6890308: integrate zero assembler hotspot changes
never
parents: 781
diff changeset
   234
  LP64_ARCH = sparcv9 amd64 ia64 zero
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   235
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   236
489c9b5090e2 Initial load
duke
parents:
diff changeset
   237
# Required make macro settings for all platforms
489c9b5090e2 Initial load
duke
parents:
diff changeset
   238
MAKE_ARGS += JAVA_HOME=$(ABS_BOOTDIR)
774
e71318ea23e8 6717128: Using relative path for ALT_OUTPUTDIR does not work properly
xlu
parents: 744
diff changeset
   239
MAKE_ARGS += OUTPUTDIR=$(ABS_OUTPUTDIR)
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   240
MAKE_ARGS += GAMMADIR=$(ABS_GAMMADIR)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   241
MAKE_ARGS += MAKE_VERBOSE=$(MAKE_VERBOSE)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   242
MAKE_ARGS += HOTSPOT_RELEASE_VERSION=$(HOTSPOT_RELEASE_VERSION)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   243
MAKE_ARGS += JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   244
489c9b5090e2 Initial load
duke
parents:
diff changeset
   245
# Pass HOTSPOT_BUILD_VERSION as argument to OS specific Makefile
489c9b5090e2 Initial load
duke
parents:
diff changeset
   246
# to overwrite the default definition since OS specific Makefile also
489c9b5090e2 Initial load
duke
parents:
diff changeset
   247
# includes this make/defs.make file.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   248
MAKE_ARGS += HOTSPOT_BUILD_VERSION=$(HOTSPOT_BUILD_VERSION)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   249
489c9b5090e2 Initial load
duke
parents:
diff changeset
   250
# Select name of export directory
489c9b5090e2 Initial load
duke
parents:
diff changeset
   251
EXPORT_PATH=$(OUTPUTDIR)/export-$(PLATFORM)$(EXPORT_SUBDIR)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   252
ifneq ($(ALT_EXPORT_PATH),)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   253
  EXPORT_PATH=$(ALT_EXPORT_PATH)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   254
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   255
489c9b5090e2 Initial load
duke
parents:
diff changeset
   256
# Default jdk image if one is created for you with create_jdk
489c9b5090e2 Initial load
duke
parents:
diff changeset
   257
JDK_IMAGE_DIR=$(OUTPUTDIR)/jdk-$(PLATFORM)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   258
489c9b5090e2 Initial load
duke
parents:
diff changeset
   259
# Various export sub directories
489c9b5090e2 Initial load
duke
parents:
diff changeset
   260
EXPORT_INCLUDE_DIR = $(EXPORT_PATH)/include
489c9b5090e2 Initial load
duke
parents:
diff changeset
   261
EXPORT_DOCS_DIR = $(EXPORT_PATH)/docs
489c9b5090e2 Initial load
duke
parents:
diff changeset
   262
EXPORT_LIB_DIR = $(EXPORT_PATH)/lib
489c9b5090e2 Initial load
duke
parents:
diff changeset
   263
EXPORT_JRE_DIR = $(EXPORT_PATH)/jre
489c9b5090e2 Initial load
duke
parents:
diff changeset
   264
EXPORT_JRE_BIN_DIR = $(EXPORT_JRE_DIR)/bin
489c9b5090e2 Initial load
duke
parents:
diff changeset
   265
EXPORT_JRE_LIB_DIR = $(EXPORT_JRE_DIR)/lib
489c9b5090e2 Initial load
duke
parents:
diff changeset
   266
EXPORT_JRE_LIB_ARCH_DIR = $(EXPORT_JRE_LIB_DIR)/$(LIBARCH)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   267
489c9b5090e2 Initial load
duke
parents:
diff changeset
   268
# Common export list of files
489c9b5090e2 Initial load
duke
parents:
diff changeset
   269
EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jvmti.h
4732
a70548606f73 6580131: 3/4 CompiledMethodLoad events don't produce the expected extra notifications to describe inlining
dcubed
parents: 781
diff changeset
   270
EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jvmticmlr.h
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   271
EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jni.h
489c9b5090e2 Initial load
duke
parents:
diff changeset
   272
EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/$(JDK_INCLUDE_SUBDIR)/jni_md.h
489c9b5090e2 Initial load
duke
parents:
diff changeset
   273
EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jmm.h