hotspot/make/defs.make
author dcubed
Thu, 13 Oct 2011 09:35:42 -0700
changeset 10739 91935236600e
parent 10565 dc90c239f4ec
child 11480 1bf714e8adb4
permissions -rw-r--r--
7098194: integrate macosx-port changes Summary: Integrate bsd-port/hotspot and macosx-port/hotspot changes as of 2011.09.29. Reviewed-by: kvn, dholmes, never, phh Contributed-by: Christos Zoulas <christos@zoulas.com>, Greg Lewis <glewis@eyesbeyond.com>, Kurt Miller <kurt@intricatesoftware.com>, Alexander Strange <astrange@apple.com>, Mike Swingler <swingler@apple.com>, Roger Hoover <rhoover@apple.com>, Victor Hernandez <vhernandez@apple.com>, Pratik Solanki <psolanki@apple.com>
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
     1
#
8307
edbc4c94fd00 7018429: JPRT: Update Makefile to use ALT_JDK_TARGET_IMPORT_PATH for copying JDK
dholmes
parents: 7402
diff changeset
     2
# Copyright (c) 2006, 2011, 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
7402
554c8ae9c3e0 6987107: Add variable to add to but not modify non-fcs version string
ohair
parents: 6176
diff changeset
   104
# specified in command line
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   105
else
7402
554c8ae9c3e0 6987107: Add variable to add to but not modify non-fcs version string
ohair
parents: 6176
diff changeset
   106
  ifdef COOKED_BUILD_NUMBER
554c8ae9c3e0 6987107: Add variable to add to but not modify non-fcs version string
ohair
parents: 6176
diff changeset
   107
# JRE build
554c8ae9c3e0 6987107: Add variable to add to but not modify non-fcs version string
ohair
parents: 6176
diff changeset
   108
    HOTSPOT_BUILD_VERSION=
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   109
  else
7402
554c8ae9c3e0 6987107: Add variable to add to but not modify non-fcs version string
ohair
parents: 6176
diff changeset
   110
    ifdef USER_RELEASE_SUFFIX
554c8ae9c3e0 6987107: Add variable to add to but not modify non-fcs version string
ohair
parents: 6176
diff changeset
   111
      HOTSPOT_BUILD_VERSION=internal-$(USER_RELEASE_SUFFIX)
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   112
    else
489c9b5090e2 Initial load
duke
parents:
diff changeset
   113
      HOTSPOT_BUILD_VERSION=internal
489c9b5090e2 Initial load
duke
parents:
diff changeset
   114
    endif
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
489c9b5090e2 Initial load
duke
parents:
diff changeset
   118
# Windows should have OS predefined
489c9b5090e2 Initial load
duke
parents:
diff changeset
   119
ifeq ($(OS),)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   120
  OS   := $(shell uname -s)
10565
dc90c239f4ec 7089790: integrate bsd-port changes
never
parents: 8307
diff changeset
   121
  ifneq ($(findstring BSD,$(OS)),)
dc90c239f4ec 7089790: integrate bsd-port changes
never
parents: 8307
diff changeset
   122
    OS=bsd
dc90c239f4ec 7089790: integrate bsd-port changes
never
parents: 8307
diff changeset
   123
  endif
dc90c239f4ec 7089790: integrate bsd-port changes
never
parents: 8307
diff changeset
   124
  ifeq ($(OS), Darwin)
dc90c239f4ec 7089790: integrate bsd-port changes
never
parents: 8307
diff changeset
   125
    OS=bsd
dc90c239f4ec 7089790: integrate bsd-port changes
never
parents: 8307
diff changeset
   126
  endif
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   127
  HOST := $(shell uname -n)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   128
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   129
10565
dc90c239f4ec 7089790: integrate bsd-port changes
never
parents: 8307
diff changeset
   130
# If not SunOS, not Linux and not BSD, assume Windows
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   131
ifneq ($(OS), Linux)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   132
  ifneq ($(OS), SunOS)
10565
dc90c239f4ec 7089790: integrate bsd-port changes
never
parents: 8307
diff changeset
   133
    ifneq ($(OS), bsd)
dc90c239f4ec 7089790: integrate bsd-port changes
never
parents: 8307
diff changeset
   134
      OSNAME=windows
dc90c239f4ec 7089790: integrate bsd-port changes
never
parents: 8307
diff changeset
   135
    else
dc90c239f4ec 7089790: integrate bsd-port changes
never
parents: 8307
diff changeset
   136
      OSNAME=bsd
dc90c239f4ec 7089790: integrate bsd-port changes
never
parents: 8307
diff changeset
   137
    endif
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   138
  else
489c9b5090e2 Initial load
duke
parents:
diff changeset
   139
    OSNAME=solaris
489c9b5090e2 Initial load
duke
parents:
diff changeset
   140
  endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   141
else
489c9b5090e2 Initial load
duke
parents:
diff changeset
   142
  OSNAME=linux
489c9b5090e2 Initial load
duke
parents:
diff changeset
   143
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   144
489c9b5090e2 Initial load
duke
parents:
diff changeset
   145
# Determinations of default make arguments and platform specific settings
489c9b5090e2 Initial load
duke
parents:
diff changeset
   146
MAKE_ARGS=
489c9b5090e2 Initial load
duke
parents:
diff changeset
   147
489c9b5090e2 Initial load
duke
parents:
diff changeset
   148
# ARCH_DATA_MODEL==64 is equivalent to LP64=1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   149
ifeq ($(ARCH_DATA_MODEL), 64)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   150
  ifndef LP64
489c9b5090e2 Initial load
duke
parents:
diff changeset
   151
    LP64 := 1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   152
  endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   153
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   154
489c9b5090e2 Initial load
duke
parents:
diff changeset
   155
# Defaults set for product build
489c9b5090e2 Initial load
duke
parents:
diff changeset
   156
EXPORT_SUBDIR=
489c9b5090e2 Initial load
duke
parents:
diff changeset
   157
489c9b5090e2 Initial load
duke
parents:
diff changeset
   158
# Change default /java path if requested
489c9b5090e2 Initial load
duke
parents:
diff changeset
   159
ifneq ($(ALT_SLASH_JAVA),)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   160
  SLASH_JAVA=$(ALT_SLASH_JAVA)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   161
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   162
489c9b5090e2 Initial load
duke
parents:
diff changeset
   163
# Default OUTPUTDIR
489c9b5090e2 Initial load
duke
parents:
diff changeset
   164
OUTPUTDIR=$(HS_BUILD_DIR)/$(OSNAME)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   165
ifneq ($(ALT_OUTPUTDIR),)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   166
  OUTPUTDIR=$(ALT_OUTPUTDIR)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   167
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   168
489c9b5090e2 Initial load
duke
parents:
diff changeset
   169
# Find latest promoted JDK area
489c9b5090e2 Initial load
duke
parents:
diff changeset
   170
JDK_IMPORT_PATH=$(SLASH_JAVA)/re/j2se/$(JDK_VERSION)/promoted/latest/binaries/$(PLATFORM)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   171
ifneq ($(ALT_JDK_IMPORT_PATH),)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   172
  JDK_IMPORT_PATH=$(ALT_JDK_IMPORT_PATH)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   173
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   174
8307
edbc4c94fd00 7018429: JPRT: Update Makefile to use ALT_JDK_TARGET_IMPORT_PATH for copying JDK
dholmes
parents: 7402
diff changeset
   175
# Other parts of JDK build may require an import JDK that can be executed
edbc4c94fd00 7018429: JPRT: Update Makefile to use ALT_JDK_TARGET_IMPORT_PATH for copying JDK
dholmes
parents: 7402
diff changeset
   176
# on the build host. For cross-compile builds we also need an import JDK
edbc4c94fd00 7018429: JPRT: Update Makefile to use ALT_JDK_TARGET_IMPORT_PATH for copying JDK
dholmes
parents: 7402
diff changeset
   177
# that matches the target arch, so for that we set ALT_JDK_TARGET_IMPORT_PATH
edbc4c94fd00 7018429: JPRT: Update Makefile to use ALT_JDK_TARGET_IMPORT_PATH for copying JDK
dholmes
parents: 7402
diff changeset
   178
ifneq ($(ALT_JDK_TARGET_IMPORT_PATH),)
edbc4c94fd00 7018429: JPRT: Update Makefile to use ALT_JDK_TARGET_IMPORT_PATH for copying JDK
dholmes
parents: 7402
diff changeset
   179
  JDK_IMPORT_PATH=$(ALT_JDK_TARGET_IMPORT_PATH)
edbc4c94fd00 7018429: JPRT: Update Makefile to use ALT_JDK_TARGET_IMPORT_PATH for copying JDK
dholmes
parents: 7402
diff changeset
   180
endif
edbc4c94fd00 7018429: JPRT: Update Makefile to use ALT_JDK_TARGET_IMPORT_PATH for copying JDK
dholmes
parents: 7402
diff changeset
   181
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   182
# Find JDK used for javac compiles
489c9b5090e2 Initial load
duke
parents:
diff changeset
   183
BOOTDIR=$(SLASH_JAVA)/re/j2se/$(PREVIOUS_JDK_VERSION)/latest/binaries/$(PLATFORM)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   184
ifneq ($(ALT_BOOTDIR),)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   185
  BOOTDIR=$(ALT_BOOTDIR)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   186
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   187
489c9b5090e2 Initial load
duke
parents:
diff changeset
   188
# The platform dependent defs.make defines platform specific variable such 
489c9b5090e2 Initial load
duke
parents:
diff changeset
   189
# 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
   190
include $(GAMMADIR)/make/$(OSNAME)/makefiles/defs.make
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   191
489c9b5090e2 Initial load
duke
parents:
diff changeset
   192
# 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
   193
# files to make/$(OSNAME)/makefiles dictory. However
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   194
# some definitions are common for both linux and solaris,
489c9b5090e2 Initial load
duke
parents:
diff changeset
   195
# so we put them here.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   196
ifneq ($(OSNAME),windows)
338
5cf9f61d76f4 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 1
diff changeset
   197
  ABS_OUTPUTDIR     := $(shell mkdir -p $(OUTPUTDIR); $(CD) $(OUTPUTDIR); $(PWD))
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   198
  ABS_BOOTDIR       := $(shell $(CD) $(BOOTDIR); $(PWD))
489c9b5090e2 Initial load
duke
parents:
diff changeset
   199
  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
   200
  ABS_OS_MAKEFILE   := $(shell $(CD) $(HS_MAKE_DIR)/$(OSNAME); $(PWD))/Makefile
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   201
489c9b5090e2 Initial load
duke
parents:
diff changeset
   202
  # uname, HotSpot source directory, build directory and JDK use different names
489c9b5090e2 Initial load
duke
parents:
diff changeset
   203
  # for CPU architectures.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   204
  #   ARCH      - uname output
489c9b5090e2 Initial load
duke
parents:
diff changeset
   205
  #   SRCARCH   - where to find HotSpot cpu and os_cpu source files
489c9b5090e2 Initial load
duke
parents:
diff changeset
   206
  #   BUILDARCH - build directory
489c9b5090e2 Initial load
duke
parents:
diff changeset
   207
  #   LIBARCH   - directory name in JDK/JRE
489c9b5090e2 Initial load
duke
parents:
diff changeset
   208
489c9b5090e2 Initial load
duke
parents:
diff changeset
   209
  # Use uname output for SRCARCH, but deal with platform differences. If ARCH
489c9b5090e2 Initial load
duke
parents:
diff changeset
   210
  # 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
   211
  SRCARCH     = $(ARCH/$(filter sparc sparc64 ia64 amd64 x86_64 arm ppc zero,$(ARCH)))
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   212
  ARCH/       = x86
489c9b5090e2 Initial load
duke
parents:
diff changeset
   213
  ARCH/sparc  = sparc
489c9b5090e2 Initial load
duke
parents:
diff changeset
   214
  ARCH/sparc64= sparc
489c9b5090e2 Initial load
duke
parents:
diff changeset
   215
  ARCH/ia64   = ia64
489c9b5090e2 Initial load
duke
parents:
diff changeset
   216
  ARCH/amd64  = x86
489c9b5090e2 Initial load
duke
parents:
diff changeset
   217
  ARCH/x86_64 = x86
6176
4d9030fe341f 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 5547
diff changeset
   218
  ARCH/ppc64  = ppc
4d9030fe341f 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 5547
diff changeset
   219
  ARCH/ppc    = ppc
4d9030fe341f 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 5547
diff changeset
   220
  ARCH/arm    = arm
4013
b154310845de 6890308: integrate zero assembler hotspot changes
never
parents: 781
diff changeset
   221
  ARCH/zero   = zero
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   222
489c9b5090e2 Initial load
duke
parents:
diff changeset
   223
  # BUILDARCH is usually the same as SRCARCH, except for sparcv9
489c9b5090e2 Initial load
duke
parents:
diff changeset
   224
  BUILDARCH = $(SRCARCH)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   225
  ifeq ($(BUILDARCH), x86)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   226
    ifdef LP64
489c9b5090e2 Initial load
duke
parents:
diff changeset
   227
      BUILDARCH = amd64
489c9b5090e2 Initial load
duke
parents:
diff changeset
   228
    else
489c9b5090e2 Initial load
duke
parents:
diff changeset
   229
      BUILDARCH = i486
489c9b5090e2 Initial load
duke
parents:
diff changeset
   230
    endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   231
  endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   232
  ifeq ($(BUILDARCH), sparc)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   233
    ifdef LP64
489c9b5090e2 Initial load
duke
parents:
diff changeset
   234
      BUILDARCH = sparcv9
489c9b5090e2 Initial load
duke
parents:
diff changeset
   235
    endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   236
  endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   237
489c9b5090e2 Initial load
duke
parents:
diff changeset
   238
  # LIBARCH is 1:1 mapping from BUILDARCH
489c9b5090e2 Initial load
duke
parents:
diff changeset
   239
  LIBARCH         = $(LIBARCH/$(BUILDARCH))
489c9b5090e2 Initial load
duke
parents:
diff changeset
   240
  LIBARCH/i486    = i386
489c9b5090e2 Initial load
duke
parents:
diff changeset
   241
  LIBARCH/amd64   = amd64
489c9b5090e2 Initial load
duke
parents:
diff changeset
   242
  LIBARCH/sparc   = sparc
489c9b5090e2 Initial load
duke
parents:
diff changeset
   243
  LIBARCH/sparcv9 = sparcv9
489c9b5090e2 Initial load
duke
parents:
diff changeset
   244
  LIBARCH/ia64    = ia64
6176
4d9030fe341f 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 5547
diff changeset
   245
  LIBARCH/ppc64   = ppc
4d9030fe341f 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 5547
diff changeset
   246
  LIBARCH/ppc     = ppc
4d9030fe341f 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 5547
diff changeset
   247
  LIBARCH/arm     = arm
4013
b154310845de 6890308: integrate zero assembler hotspot changes
never
parents: 781
diff changeset
   248
  LIBARCH/zero    = $(ZERO_LIBARCH)
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   249
4013
b154310845de 6890308: integrate zero assembler hotspot changes
never
parents: 781
diff changeset
   250
  LP64_ARCH = sparcv9 amd64 ia64 zero
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   251
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   252
489c9b5090e2 Initial load
duke
parents:
diff changeset
   253
# Required make macro settings for all platforms
489c9b5090e2 Initial load
duke
parents:
diff changeset
   254
MAKE_ARGS += JAVA_HOME=$(ABS_BOOTDIR)
774
e71318ea23e8 6717128: Using relative path for ALT_OUTPUTDIR does not work properly
xlu
parents: 744
diff changeset
   255
MAKE_ARGS += OUTPUTDIR=$(ABS_OUTPUTDIR)
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   256
MAKE_ARGS += GAMMADIR=$(ABS_GAMMADIR)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   257
MAKE_ARGS += MAKE_VERBOSE=$(MAKE_VERBOSE)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   258
MAKE_ARGS += HOTSPOT_RELEASE_VERSION=$(HOTSPOT_RELEASE_VERSION)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   259
MAKE_ARGS += JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   260
489c9b5090e2 Initial load
duke
parents:
diff changeset
   261
# Pass HOTSPOT_BUILD_VERSION as argument to OS specific Makefile
489c9b5090e2 Initial load
duke
parents:
diff changeset
   262
# to overwrite the default definition since OS specific Makefile also
489c9b5090e2 Initial load
duke
parents:
diff changeset
   263
# includes this make/defs.make file.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   264
MAKE_ARGS += HOTSPOT_BUILD_VERSION=$(HOTSPOT_BUILD_VERSION)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   265
489c9b5090e2 Initial load
duke
parents:
diff changeset
   266
# Select name of export directory
489c9b5090e2 Initial load
duke
parents:
diff changeset
   267
EXPORT_PATH=$(OUTPUTDIR)/export-$(PLATFORM)$(EXPORT_SUBDIR)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   268
ifneq ($(ALT_EXPORT_PATH),)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   269
  EXPORT_PATH=$(ALT_EXPORT_PATH)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   270
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   271
489c9b5090e2 Initial load
duke
parents:
diff changeset
   272
# Default jdk image if one is created for you with create_jdk
489c9b5090e2 Initial load
duke
parents:
diff changeset
   273
JDK_IMAGE_DIR=$(OUTPUTDIR)/jdk-$(PLATFORM)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   274
489c9b5090e2 Initial load
duke
parents:
diff changeset
   275
# Various export sub directories
489c9b5090e2 Initial load
duke
parents:
diff changeset
   276
EXPORT_INCLUDE_DIR = $(EXPORT_PATH)/include
489c9b5090e2 Initial load
duke
parents:
diff changeset
   277
EXPORT_DOCS_DIR = $(EXPORT_PATH)/docs
489c9b5090e2 Initial load
duke
parents:
diff changeset
   278
EXPORT_LIB_DIR = $(EXPORT_PATH)/lib
489c9b5090e2 Initial load
duke
parents:
diff changeset
   279
EXPORT_JRE_DIR = $(EXPORT_PATH)/jre
489c9b5090e2 Initial load
duke
parents:
diff changeset
   280
EXPORT_JRE_BIN_DIR = $(EXPORT_JRE_DIR)/bin
489c9b5090e2 Initial load
duke
parents:
diff changeset
   281
EXPORT_JRE_LIB_DIR = $(EXPORT_JRE_DIR)/lib
489c9b5090e2 Initial load
duke
parents:
diff changeset
   282
EXPORT_JRE_LIB_ARCH_DIR = $(EXPORT_JRE_LIB_DIR)/$(LIBARCH)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   283
10739
91935236600e 7098194: integrate macosx-port changes
dcubed
parents: 10565
diff changeset
   284
# non-universal macosx builds need to appear universal
91935236600e 7098194: integrate macosx-port changes
dcubed
parents: 10565
diff changeset
   285
ifeq ($(OS_VENDOR), Darwin)
91935236600e 7098194: integrate macosx-port changes
dcubed
parents: 10565
diff changeset
   286
  ifneq ($(MACOSX_UNIVERSAL), true)
91935236600e 7098194: integrate macosx-port changes
dcubed
parents: 10565
diff changeset
   287
    EXPORT_JRE_LIB_ARCH_DIR = $(EXPORT_JRE_LIB_DIR)
91935236600e 7098194: integrate macosx-port changes
dcubed
parents: 10565
diff changeset
   288
  endif
91935236600e 7098194: integrate macosx-port changes
dcubed
parents: 10565
diff changeset
   289
endif
91935236600e 7098194: integrate macosx-port changes
dcubed
parents: 10565
diff changeset
   290
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   291
# Common export list of files
489c9b5090e2 Initial load
duke
parents:
diff changeset
   292
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
   293
EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jvmticmlr.h
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   294
EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jni.h
489c9b5090e2 Initial load
duke
parents:
diff changeset
   295
EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/$(JDK_INCLUDE_SUBDIR)/jni_md.h
489c9b5090e2 Initial load
duke
parents:
diff changeset
   296
EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jmm.h