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