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