hotspot/make/defs.make
author erikj
Mon, 19 Mar 2012 10:09:24 +0100
changeset 12156 fb31de03f649
parent 11955 aeca8151886e
child 13529 dc25e69fd16d
permissions -rw-r--r--
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built Reviewed-by: dholmes, ohair
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
     1
#
11629
72a73185bdc7 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents: 11480
diff changeset
     2
# Copyright (c) 2006, 2012, 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
11955
aeca8151886e 7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents: 11784
diff changeset
    27
# Optionally include SPEC file generated by configure.
aeca8151886e 7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents: 11784
diff changeset
    28
ifneq ($(SPEC),)
aeca8151886e 7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents: 11784
diff changeset
    29
  include $(SPEC)
aeca8151886e 7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents: 11784
diff changeset
    30
endif
aeca8151886e 7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents: 11784
diff changeset
    31
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    32
# Default to verbose build logs (show all compile lines):
489c9b5090e2 Initial load
duke
parents:
diff changeset
    33
MAKE_VERBOSE=y
489c9b5090e2 Initial load
duke
parents:
diff changeset
    34
489c9b5090e2 Initial load
duke
parents:
diff changeset
    35
# Make macros for install files or preparing targets
489c9b5090e2 Initial load
duke
parents:
diff changeset
    36
CD=cd
489c9b5090e2 Initial load
duke
parents:
diff changeset
    37
CP=cp
489c9b5090e2 Initial load
duke
parents:
diff changeset
    38
ECHO=echo
489c9b5090e2 Initial load
duke
parents:
diff changeset
    39
GREP=grep
489c9b5090e2 Initial load
duke
parents:
diff changeset
    40
MKDIR=mkdir
489c9b5090e2 Initial load
duke
parents:
diff changeset
    41
MV=mv
489c9b5090e2 Initial load
duke
parents:
diff changeset
    42
PWD=pwd
489c9b5090e2 Initial load
duke
parents:
diff changeset
    43
RM=rm -f
489c9b5090e2 Initial load
duke
parents:
diff changeset
    44
SED=sed
489c9b5090e2 Initial load
duke
parents:
diff changeset
    45
TAR=tar
489c9b5090e2 Initial load
duke
parents:
diff changeset
    46
ZIPEXE=zip
489c9b5090e2 Initial load
duke
parents:
diff changeset
    47
489c9b5090e2 Initial load
duke
parents:
diff changeset
    48
define install-file
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
$(CP) $< $@
489c9b5090e2 Initial load
duke
parents:
diff changeset
    52
endef
489c9b5090e2 Initial load
duke
parents:
diff changeset
    53
define prep-target
489c9b5090e2 Initial load
duke
parents:
diff changeset
    54
@$(MKDIR) -p $(@D)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    55
@$(RM) $@
489c9b5090e2 Initial load
duke
parents:
diff changeset
    56
endef
489c9b5090e2 Initial load
duke
parents:
diff changeset
    57
12156
fb31de03f649 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 11955
diff changeset
    58
# Default values for JVM_VARIANT* variables if configure hasn't set
fb31de03f649 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 11955
diff changeset
    59
# it already.
fb31de03f649 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 11955
diff changeset
    60
ifeq ($(JVM_VARIANTS),)
fb31de03f649 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 11955
diff changeset
    61
  ifeq ($(ZERO_BUILD), true)
fb31de03f649 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 11955
diff changeset
    62
    ifeq ($(SHARK_BUILD), true)
fb31de03f649 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 11955
diff changeset
    63
      JVM_VARIANTS:=zeroshark
fb31de03f649 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 11955
diff changeset
    64
      JVM_VARIANT_ZEROSHARK:=true
fb31de03f649 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 11955
diff changeset
    65
    else
fb31de03f649 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 11955
diff changeset
    66
      JVM_VARIANTS:=zero
fb31de03f649 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 11955
diff changeset
    67
      JVM_VARIANT_ZERO:=true
fb31de03f649 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 11955
diff changeset
    68
    endif
fb31de03f649 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 11955
diff changeset
    69
  else
fb31de03f649 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 11955
diff changeset
    70
    # A default is needed
fb31de03f649 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 11955
diff changeset
    71
    ifeq ($(BUILD_CLIENT_ONLY), true)
fb31de03f649 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 11955
diff changeset
    72
      JVM_VARIANTS:=client
fb31de03f649 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 11955
diff changeset
    73
      JVM_VARIANT_CLIENT:=true
fb31de03f649 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 11955
diff changeset
    74
    endif
fb31de03f649 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 11955
diff changeset
    75
    # Further defaults are platform and arch specific
fb31de03f649 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 11955
diff changeset
    76
  endif
fb31de03f649 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 11955
diff changeset
    77
endif
fb31de03f649 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 11955
diff changeset
    78
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    79
# Directory paths and user name
489c9b5090e2 Initial load
duke
parents:
diff changeset
    80
# Unless GAMMADIR is set on the command line, search upward from
489c9b5090e2 Initial load
duke
parents:
diff changeset
    81
# the current directory for a parent directory containing "src/share/vm".
489c9b5090e2 Initial load
duke
parents:
diff changeset
    82
# If that fails, look for $GAMMADIR in the environment.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    83
# When the tree of subdirs is built, this setting is stored in each flags.make.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    84
GAMMADIR := $(shell until ([ -d dev ]&&echo $${GAMMADIR:-/GAMMADIR/}) || ([ -d src/share/vm ]&&pwd); do cd ..; done)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    85
HS_SRC_DIR=$(GAMMADIR)/src
338
5cf9f61d76f4 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 1
diff changeset
    86
HS_MAKE_DIR=$(GAMMADIR)/make
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    87
HS_BUILD_DIR=$(GAMMADIR)/build
489c9b5090e2 Initial load
duke
parents:
diff changeset
    88
489c9b5090e2 Initial load
duke
parents:
diff changeset
    89
ifeq ($(USER),)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    90
  USER=$(USERNAME)
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
# hotspot version definitions
489c9b5090e2 Initial load
duke
parents:
diff changeset
    94
include $(GAMMADIR)/make/hotspot_version
489c9b5090e2 Initial load
duke
parents:
diff changeset
    95
489c9b5090e2 Initial load
duke
parents:
diff changeset
    96
# Java versions needed
489c9b5090e2 Initial load
duke
parents:
diff changeset
    97
ifeq ($(PREVIOUS_JDK_VERSION),)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    98
  PREVIOUS_JDK_VERSION=$(JDK_PREVIOUS_VERSION)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    99
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   100
ifeq ($(JDK_MAJOR_VERSION),)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   101
  JDK_MAJOR_VERSION=$(JDK_MAJOR_VER)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   102
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   103
ifeq ($(JDK_MINOR_VERSION),)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   104
  JDK_MINOR_VERSION=$(JDK_MINOR_VER)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   105
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   106
ifeq ($(JDK_MICRO_VERSION),)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   107
  JDK_MICRO_VERSION=$(JDK_MICRO_VER)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   108
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   109
ifeq ($(JDK_MKTG_VERSION),)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   110
  JDK_MKTG_VERSION=$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   111
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   112
ifeq ($(JDK_VERSION),)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   113
  JDK_VERSION=$(JDK_MAJOR_VERSION).$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   114
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   115
ifeq ($(FULL_VERSION),)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   116
  FULL_VERSION="$(JDK_VERSION)"
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
# FULL_VERSION is only used to define JRE_RELEASE_VERSION which is used
489c9b5090e2 Initial load
duke
parents:
diff changeset
   120
# as JRE version in VM -Xinternalversion output.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   121
ifndef JRE_RELEASE_VERSION
489c9b5090e2 Initial load
duke
parents:
diff changeset
   122
  JRE_RELEASE_VERSION=$(FULL_VERSION)
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
ifndef HOTSPOT_RELEASE_VERSION
489c9b5090e2 Initial load
duke
parents:
diff changeset
   126
  HOTSPOT_RELEASE_VERSION=$(HS_MAJOR_VER).$(HS_MINOR_VER)-b$(HS_BUILD_NUMBER)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   127
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   128
489c9b5090e2 Initial load
duke
parents:
diff changeset
   129
ifdef HOTSPOT_BUILD_VERSION
7402
554c8ae9c3e0 6987107: Add variable to add to but not modify non-fcs version string
ohair
parents: 6176
diff changeset
   130
# specified in command line
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   131
else
7402
554c8ae9c3e0 6987107: Add variable to add to but not modify non-fcs version string
ohair
parents: 6176
diff changeset
   132
  ifdef COOKED_BUILD_NUMBER
554c8ae9c3e0 6987107: Add variable to add to but not modify non-fcs version string
ohair
parents: 6176
diff changeset
   133
# JRE build
554c8ae9c3e0 6987107: Add variable to add to but not modify non-fcs version string
ohair
parents: 6176
diff changeset
   134
    HOTSPOT_BUILD_VERSION=
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   135
  else
7402
554c8ae9c3e0 6987107: Add variable to add to but not modify non-fcs version string
ohair
parents: 6176
diff changeset
   136
    ifdef USER_RELEASE_SUFFIX
554c8ae9c3e0 6987107: Add variable to add to but not modify non-fcs version string
ohair
parents: 6176
diff changeset
   137
      HOTSPOT_BUILD_VERSION=internal-$(USER_RELEASE_SUFFIX)
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   138
    else
489c9b5090e2 Initial load
duke
parents:
diff changeset
   139
      HOTSPOT_BUILD_VERSION=internal
489c9b5090e2 Initial load
duke
parents:
diff changeset
   140
    endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   141
  endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   142
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   143
489c9b5090e2 Initial load
duke
parents:
diff changeset
   144
# Windows should have OS predefined
489c9b5090e2 Initial load
duke
parents:
diff changeset
   145
ifeq ($(OS),)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   146
  OS   := $(shell uname -s)
10565
dc90c239f4ec 7089790: integrate bsd-port changes
never
parents: 8307
diff changeset
   147
  ifneq ($(findstring BSD,$(OS)),)
dc90c239f4ec 7089790: integrate bsd-port changes
never
parents: 8307
diff changeset
   148
    OS=bsd
dc90c239f4ec 7089790: integrate bsd-port changes
never
parents: 8307
diff changeset
   149
  endif
dc90c239f4ec 7089790: integrate bsd-port changes
never
parents: 8307
diff changeset
   150
  ifeq ($(OS), Darwin)
dc90c239f4ec 7089790: integrate bsd-port changes
never
parents: 8307
diff changeset
   151
    OS=bsd
dc90c239f4ec 7089790: integrate bsd-port changes
never
parents: 8307
diff changeset
   152
  endif
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   153
  HOST := $(shell uname -n)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   154
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   155
10565
dc90c239f4ec 7089790: integrate bsd-port changes
never
parents: 8307
diff changeset
   156
# If not SunOS, not Linux and not BSD, assume Windows
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   157
ifneq ($(OS), Linux)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   158
  ifneq ($(OS), SunOS)
10565
dc90c239f4ec 7089790: integrate bsd-port changes
never
parents: 8307
diff changeset
   159
    ifneq ($(OS), bsd)
dc90c239f4ec 7089790: integrate bsd-port changes
never
parents: 8307
diff changeset
   160
      OSNAME=windows
dc90c239f4ec 7089790: integrate bsd-port changes
never
parents: 8307
diff changeset
   161
    else
dc90c239f4ec 7089790: integrate bsd-port changes
never
parents: 8307
diff changeset
   162
      OSNAME=bsd
dc90c239f4ec 7089790: integrate bsd-port changes
never
parents: 8307
diff changeset
   163
    endif
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   164
  else
489c9b5090e2 Initial load
duke
parents:
diff changeset
   165
    OSNAME=solaris
489c9b5090e2 Initial load
duke
parents:
diff changeset
   166
  endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   167
else
489c9b5090e2 Initial load
duke
parents:
diff changeset
   168
  OSNAME=linux
489c9b5090e2 Initial load
duke
parents:
diff changeset
   169
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   170
489c9b5090e2 Initial load
duke
parents:
diff changeset
   171
# Determinations of default make arguments and platform specific settings
489c9b5090e2 Initial load
duke
parents:
diff changeset
   172
MAKE_ARGS=
489c9b5090e2 Initial load
duke
parents:
diff changeset
   173
489c9b5090e2 Initial load
duke
parents:
diff changeset
   174
# ARCH_DATA_MODEL==64 is equivalent to LP64=1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   175
ifeq ($(ARCH_DATA_MODEL), 64)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   176
  ifndef LP64
489c9b5090e2 Initial load
duke
parents:
diff changeset
   177
    LP64 := 1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   178
  endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   179
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   180
489c9b5090e2 Initial load
duke
parents:
diff changeset
   181
# Defaults set for product build
489c9b5090e2 Initial load
duke
parents:
diff changeset
   182
EXPORT_SUBDIR=
489c9b5090e2 Initial load
duke
parents:
diff changeset
   183
489c9b5090e2 Initial load
duke
parents:
diff changeset
   184
# Change default /java path if requested
489c9b5090e2 Initial load
duke
parents:
diff changeset
   185
ifneq ($(ALT_SLASH_JAVA),)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   186
  SLASH_JAVA=$(ALT_SLASH_JAVA)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   187
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   188
489c9b5090e2 Initial load
duke
parents:
diff changeset
   189
# Default OUTPUTDIR
489c9b5090e2 Initial load
duke
parents:
diff changeset
   190
OUTPUTDIR=$(HS_BUILD_DIR)/$(OSNAME)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   191
ifneq ($(ALT_OUTPUTDIR),)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   192
  OUTPUTDIR=$(ALT_OUTPUTDIR)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   193
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   194
489c9b5090e2 Initial load
duke
parents:
diff changeset
   195
# Find latest promoted JDK area
489c9b5090e2 Initial load
duke
parents:
diff changeset
   196
JDK_IMPORT_PATH=$(SLASH_JAVA)/re/j2se/$(JDK_VERSION)/promoted/latest/binaries/$(PLATFORM)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   197
ifneq ($(ALT_JDK_IMPORT_PATH),)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   198
  JDK_IMPORT_PATH=$(ALT_JDK_IMPORT_PATH)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   199
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   200
8307
edbc4c94fd00 7018429: JPRT: Update Makefile to use ALT_JDK_TARGET_IMPORT_PATH for copying JDK
dholmes
parents: 7402
diff changeset
   201
# 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
   202
# 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
   203
# 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
   204
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
   205
  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
   206
endif
edbc4c94fd00 7018429: JPRT: Update Makefile to use ALT_JDK_TARGET_IMPORT_PATH for copying JDK
dholmes
parents: 7402
diff changeset
   207
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   208
# Find JDK used for javac compiles
489c9b5090e2 Initial load
duke
parents:
diff changeset
   209
BOOTDIR=$(SLASH_JAVA)/re/j2se/$(PREVIOUS_JDK_VERSION)/latest/binaries/$(PLATFORM)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   210
ifneq ($(ALT_BOOTDIR),)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   211
  BOOTDIR=$(ALT_BOOTDIR)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   212
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   213
11629
72a73185bdc7 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents: 11480
diff changeset
   214
# Select name of the export directory and honor ALT overrides
72a73185bdc7 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents: 11480
diff changeset
   215
EXPORT_PATH=$(OUTPUTDIR)/export-$(PLATFORM)$(EXPORT_SUBDIR)
72a73185bdc7 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents: 11480
diff changeset
   216
ifneq ($(ALT_EXPORT_PATH),)
72a73185bdc7 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents: 11480
diff changeset
   217
  EXPORT_PATH=$(ALT_EXPORT_PATH)
72a73185bdc7 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents: 11480
diff changeset
   218
endif
72a73185bdc7 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents: 11480
diff changeset
   219
72a73185bdc7 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents: 11480
diff changeset
   220
# Default jdk image if one is created for you with create_jdk
72a73185bdc7 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents: 11480
diff changeset
   221
JDK_IMAGE_DIR=$(OUTPUTDIR)/jdk-$(PLATFORM)
11784
715f58266a42 7143766: add ALT_JDK_IMAGE_DIR and improve test_jdk
twisti
parents: 11629
diff changeset
   222
ifneq ($(ALT_JDK_IMAGE_DIR),)
715f58266a42 7143766: add ALT_JDK_IMAGE_DIR and improve test_jdk
twisti
parents: 11629
diff changeset
   223
  JDK_IMAGE_DIR=$(ALT_JDK_IMAGE_DIR)
715f58266a42 7143766: add ALT_JDK_IMAGE_DIR and improve test_jdk
twisti
parents: 11629
diff changeset
   224
endif
11629
72a73185bdc7 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents: 11480
diff changeset
   225
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   226
# The platform dependent defs.make defines platform specific variable such 
489c9b5090e2 Initial load
duke
parents:
diff changeset
   227
# 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
   228
include $(GAMMADIR)/make/$(OSNAME)/makefiles/defs.make
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   229
489c9b5090e2 Initial load
duke
parents:
diff changeset
   230
# 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
   231
# files to make/$(OSNAME)/makefiles dictory. However
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   232
# some definitions are common for both linux and solaris,
489c9b5090e2 Initial load
duke
parents:
diff changeset
   233
# so we put them here.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   234
ifneq ($(OSNAME),windows)
338
5cf9f61d76f4 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 1
diff changeset
   235
  ABS_OUTPUTDIR     := $(shell mkdir -p $(OUTPUTDIR); $(CD) $(OUTPUTDIR); $(PWD))
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   236
  ABS_BOOTDIR       := $(shell $(CD) $(BOOTDIR); $(PWD))
489c9b5090e2 Initial load
duke
parents:
diff changeset
   237
  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
   238
  ABS_OS_MAKEFILE   := $(shell $(CD) $(HS_MAKE_DIR)/$(OSNAME); $(PWD))/Makefile
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   239
489c9b5090e2 Initial load
duke
parents:
diff changeset
   240
  # uname, HotSpot source directory, build directory and JDK use different names
489c9b5090e2 Initial load
duke
parents:
diff changeset
   241
  # for CPU architectures.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   242
  #   ARCH      - uname output
489c9b5090e2 Initial load
duke
parents:
diff changeset
   243
  #   SRCARCH   - where to find HotSpot cpu and os_cpu source files
489c9b5090e2 Initial load
duke
parents:
diff changeset
   244
  #   BUILDARCH - build directory
489c9b5090e2 Initial load
duke
parents:
diff changeset
   245
  #   LIBARCH   - directory name in JDK/JRE
489c9b5090e2 Initial load
duke
parents:
diff changeset
   246
489c9b5090e2 Initial load
duke
parents:
diff changeset
   247
  # Use uname output for SRCARCH, but deal with platform differences. If ARCH
489c9b5090e2 Initial load
duke
parents:
diff changeset
   248
  # 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
   249
  SRCARCH     = $(ARCH/$(filter sparc sparc64 ia64 amd64 x86_64 arm ppc zero,$(ARCH)))
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   250
  ARCH/       = x86
489c9b5090e2 Initial load
duke
parents:
diff changeset
   251
  ARCH/sparc  = sparc
489c9b5090e2 Initial load
duke
parents:
diff changeset
   252
  ARCH/sparc64= sparc
489c9b5090e2 Initial load
duke
parents:
diff changeset
   253
  ARCH/ia64   = ia64
489c9b5090e2 Initial load
duke
parents:
diff changeset
   254
  ARCH/amd64  = x86
489c9b5090e2 Initial load
duke
parents:
diff changeset
   255
  ARCH/x86_64 = x86
6176
4d9030fe341f 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 5547
diff changeset
   256
  ARCH/ppc64  = ppc
4d9030fe341f 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 5547
diff changeset
   257
  ARCH/ppc    = ppc
4d9030fe341f 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 5547
diff changeset
   258
  ARCH/arm    = arm
4013
b154310845de 6890308: integrate zero assembler hotspot changes
never
parents: 781
diff changeset
   259
  ARCH/zero   = zero
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   260
489c9b5090e2 Initial load
duke
parents:
diff changeset
   261
  # BUILDARCH is usually the same as SRCARCH, except for sparcv9
489c9b5090e2 Initial load
duke
parents:
diff changeset
   262
  BUILDARCH = $(SRCARCH)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   263
  ifeq ($(BUILDARCH), x86)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   264
    ifdef LP64
489c9b5090e2 Initial load
duke
parents:
diff changeset
   265
      BUILDARCH = amd64
489c9b5090e2 Initial load
duke
parents:
diff changeset
   266
    else
489c9b5090e2 Initial load
duke
parents:
diff changeset
   267
      BUILDARCH = i486
489c9b5090e2 Initial load
duke
parents:
diff changeset
   268
    endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   269
  endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   270
  ifeq ($(BUILDARCH), sparc)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   271
    ifdef LP64
489c9b5090e2 Initial load
duke
parents:
diff changeset
   272
      BUILDARCH = sparcv9
489c9b5090e2 Initial load
duke
parents:
diff changeset
   273
    endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   274
  endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   275
489c9b5090e2 Initial load
duke
parents:
diff changeset
   276
  # LIBARCH is 1:1 mapping from BUILDARCH
489c9b5090e2 Initial load
duke
parents:
diff changeset
   277
  LIBARCH         = $(LIBARCH/$(BUILDARCH))
489c9b5090e2 Initial load
duke
parents:
diff changeset
   278
  LIBARCH/i486    = i386
489c9b5090e2 Initial load
duke
parents:
diff changeset
   279
  LIBARCH/amd64   = amd64
489c9b5090e2 Initial load
duke
parents:
diff changeset
   280
  LIBARCH/sparc   = sparc
489c9b5090e2 Initial load
duke
parents:
diff changeset
   281
  LIBARCH/sparcv9 = sparcv9
489c9b5090e2 Initial load
duke
parents:
diff changeset
   282
  LIBARCH/ia64    = ia64
6176
4d9030fe341f 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 5547
diff changeset
   283
  LIBARCH/ppc64   = ppc
4d9030fe341f 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 5547
diff changeset
   284
  LIBARCH/ppc     = ppc
4d9030fe341f 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 5547
diff changeset
   285
  LIBARCH/arm     = arm
4013
b154310845de 6890308: integrate zero assembler hotspot changes
never
parents: 781
diff changeset
   286
  LIBARCH/zero    = $(ZERO_LIBARCH)
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   287
4013
b154310845de 6890308: integrate zero assembler hotspot changes
never
parents: 781
diff changeset
   288
  LP64_ARCH = sparcv9 amd64 ia64 zero
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   289
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   290
489c9b5090e2 Initial load
duke
parents:
diff changeset
   291
# Required make macro settings for all platforms
489c9b5090e2 Initial load
duke
parents:
diff changeset
   292
MAKE_ARGS += JAVA_HOME=$(ABS_BOOTDIR)
774
e71318ea23e8 6717128: Using relative path for ALT_OUTPUTDIR does not work properly
xlu
parents: 744
diff changeset
   293
MAKE_ARGS += OUTPUTDIR=$(ABS_OUTPUTDIR)
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   294
MAKE_ARGS += GAMMADIR=$(ABS_GAMMADIR)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   295
MAKE_ARGS += MAKE_VERBOSE=$(MAKE_VERBOSE)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   296
MAKE_ARGS += HOTSPOT_RELEASE_VERSION=$(HOTSPOT_RELEASE_VERSION)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   297
MAKE_ARGS += JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   298
489c9b5090e2 Initial load
duke
parents:
diff changeset
   299
# Pass HOTSPOT_BUILD_VERSION as argument to OS specific Makefile
489c9b5090e2 Initial load
duke
parents:
diff changeset
   300
# to overwrite the default definition since OS specific Makefile also
489c9b5090e2 Initial load
duke
parents:
diff changeset
   301
# includes this make/defs.make file.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   302
MAKE_ARGS += HOTSPOT_BUILD_VERSION=$(HOTSPOT_BUILD_VERSION)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   303
489c9b5090e2 Initial load
duke
parents:
diff changeset
   304
# Various export sub directories
489c9b5090e2 Initial load
duke
parents:
diff changeset
   305
EXPORT_INCLUDE_DIR = $(EXPORT_PATH)/include
489c9b5090e2 Initial load
duke
parents:
diff changeset
   306
EXPORT_DOCS_DIR = $(EXPORT_PATH)/docs
489c9b5090e2 Initial load
duke
parents:
diff changeset
   307
EXPORT_LIB_DIR = $(EXPORT_PATH)/lib
489c9b5090e2 Initial load
duke
parents:
diff changeset
   308
EXPORT_JRE_DIR = $(EXPORT_PATH)/jre
489c9b5090e2 Initial load
duke
parents:
diff changeset
   309
EXPORT_JRE_BIN_DIR = $(EXPORT_JRE_DIR)/bin
489c9b5090e2 Initial load
duke
parents:
diff changeset
   310
EXPORT_JRE_LIB_DIR = $(EXPORT_JRE_DIR)/lib
489c9b5090e2 Initial load
duke
parents:
diff changeset
   311
EXPORT_JRE_LIB_ARCH_DIR = $(EXPORT_JRE_LIB_DIR)/$(LIBARCH)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   312
10739
91935236600e 7098194: integrate macosx-port changes
dcubed
parents: 10565
diff changeset
   313
# non-universal macosx builds need to appear universal
91935236600e 7098194: integrate macosx-port changes
dcubed
parents: 10565
diff changeset
   314
ifeq ($(OS_VENDOR), Darwin)
91935236600e 7098194: integrate macosx-port changes
dcubed
parents: 10565
diff changeset
   315
  ifneq ($(MACOSX_UNIVERSAL), true)
91935236600e 7098194: integrate macosx-port changes
dcubed
parents: 10565
diff changeset
   316
    EXPORT_JRE_LIB_ARCH_DIR = $(EXPORT_JRE_LIB_DIR)
91935236600e 7098194: integrate macosx-port changes
dcubed
parents: 10565
diff changeset
   317
  endif
91935236600e 7098194: integrate macosx-port changes
dcubed
parents: 10565
diff changeset
   318
endif
91935236600e 7098194: integrate macosx-port changes
dcubed
parents: 10565
diff changeset
   319
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   320
# Common export list of files
489c9b5090e2 Initial load
duke
parents:
diff changeset
   321
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
   322
EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jvmticmlr.h
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   323
EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jni.h
489c9b5090e2 Initial load
duke
parents:
diff changeset
   324
EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/$(JDK_INCLUDE_SUBDIR)/jni_md.h
489c9b5090e2 Initial load
duke
parents:
diff changeset
   325
EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jmm.h
11480
1bf714e8adb4 7115199: Add event tracing hooks and Java Flight Recorder infrastructure
phh
parents: 10739
diff changeset
   326
1bf714e8adb4 7115199: Add event tracing hooks and Java Flight Recorder infrastructure
phh
parents: 10739
diff changeset
   327
ifndef JAVASE_EMBEDDED
1bf714e8adb4 7115199: Add event tracing hooks and Java Flight Recorder infrastructure
phh
parents: 10739
diff changeset
   328
EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jfr.h
1bf714e8adb4 7115199: Add event tracing hooks and Java Flight Recorder infrastructure
phh
parents: 10739
diff changeset
   329
endif