annotate make/defs.make @ 6756:b2ef234911c9

7190666: G1: assert(_unused == 0) failed: Inconsistency in PLAB stats Summary: Reset the fields in ParGCAllocBuffer, that are used for accumulating values for the ResizePLAB sensors in PLABStats, to zero after flushing the values to the PLABStats fields. Flush PLABStats values only when retiring the final allocation buffers prior to disposing of a G1ParScanThreadState object, rather than when retiring every allocation buffer. Reviewed-by: jwilhelm, jmasa, ysr
author johnc
date Thu, 20 Sep 2012 09:52:56 -0700
parents a9fed06c01d2
children 989cf02ca531
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1 #
4865
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents: 4800
diff changeset
2 # Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
0
a61af66fc99e Initial load
duke
parents:
diff changeset
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
a61af66fc99e Initial load
duke
parents:
diff changeset
4 #
a61af66fc99e Initial load
duke
parents:
diff changeset
5 # This code is free software; you can redistribute it and/or modify it
a61af66fc99e Initial load
duke
parents:
diff changeset
6 # under the terms of the GNU General Public License version 2 only, as
a61af66fc99e Initial load
duke
parents:
diff changeset
7 # published by the Free Software Foundation.
a61af66fc99e Initial load
duke
parents:
diff changeset
8 #
a61af66fc99e Initial load
duke
parents:
diff changeset
9 # This code is distributed in the hope that it will be useful, but WITHOUT
a61af66fc99e Initial load
duke
parents:
diff changeset
10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
a61af66fc99e Initial load
duke
parents:
diff changeset
11 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
a61af66fc99e Initial load
duke
parents:
diff changeset
12 # version 2 for more details (a copy is included in the LICENSE file that
a61af66fc99e Initial load
duke
parents:
diff changeset
13 # accompanied this code).
a61af66fc99e Initial load
duke
parents:
diff changeset
14 #
a61af66fc99e Initial load
duke
parents:
diff changeset
15 # You should have received a copy of the GNU General Public License version
a61af66fc99e Initial load
duke
parents:
diff changeset
16 # 2 along with this work; if not, write to the Free Software Foundation,
a61af66fc99e Initial load
duke
parents:
diff changeset
17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
a61af66fc99e Initial load
duke
parents:
diff changeset
18 #
1552
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 1185
diff changeset
19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 1185
diff changeset
20 # or visit www.oracle.com if you need additional information or have any
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 1185
diff changeset
21 # questions.
0
a61af66fc99e Initial load
duke
parents:
diff changeset
22 #
a61af66fc99e Initial load
duke
parents:
diff changeset
23 #
a61af66fc99e Initial load
duke
parents:
diff changeset
24
6641
a9fed06c01d2 7154641: Servicability agent should work on platforms other than x86, sparc
bpittore
parents: 5946
diff changeset
25 ifeq ($(HS_ALT_MAKE),)
a9fed06c01d2 7154641: Servicability agent should work on platforms other than x86, sparc
bpittore
parents: 5946
diff changeset
26 ifneq ($(OPENJDK),true)
a9fed06c01d2 7154641: Servicability agent should work on platforms other than x86, sparc
bpittore
parents: 5946
diff changeset
27 HS_ALT_MAKE=$(GAMMADIR)/make/closed
a9fed06c01d2 7154641: Servicability agent should work on platforms other than x86, sparc
bpittore
parents: 5946
diff changeset
28 else
a9fed06c01d2 7154641: Servicability agent should work on platforms other than x86, sparc
bpittore
parents: 5946
diff changeset
29 HS_ALT_MAKE=NO_SUCH_PATH
a9fed06c01d2 7154641: Servicability agent should work on platforms other than x86, sparc
bpittore
parents: 5946
diff changeset
30 endif
a9fed06c01d2 7154641: Servicability agent should work on platforms other than x86, sparc
bpittore
parents: 5946
diff changeset
31 endif
a9fed06c01d2 7154641: Servicability agent should work on platforms other than x86, sparc
bpittore
parents: 5946
diff changeset
32
0
a61af66fc99e Initial load
duke
parents:
diff changeset
33 # The common definitions for hotspot builds.
a61af66fc99e Initial load
duke
parents:
diff changeset
34
5897
7292cff45988 7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents: 4940
diff changeset
35 # Optionally include SPEC file generated by configure.
7292cff45988 7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents: 4940
diff changeset
36 ifneq ($(SPEC),)
7292cff45988 7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents: 4940
diff changeset
37 include $(SPEC)
7292cff45988 7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents: 4940
diff changeset
38 endif
7292cff45988 7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents: 4940
diff changeset
39
0
a61af66fc99e Initial load
duke
parents:
diff changeset
40 # Default to verbose build logs (show all compile lines):
a61af66fc99e Initial load
duke
parents:
diff changeset
41 MAKE_VERBOSE=y
a61af66fc99e Initial load
duke
parents:
diff changeset
42
a61af66fc99e Initial load
duke
parents:
diff changeset
43 # Make macros for install files or preparing targets
a61af66fc99e Initial load
duke
parents:
diff changeset
44 CD=cd
a61af66fc99e Initial load
duke
parents:
diff changeset
45 CP=cp
a61af66fc99e Initial load
duke
parents:
diff changeset
46 ECHO=echo
a61af66fc99e Initial load
duke
parents:
diff changeset
47 GREP=grep
a61af66fc99e Initial load
duke
parents:
diff changeset
48 MKDIR=mkdir
a61af66fc99e Initial load
duke
parents:
diff changeset
49 MV=mv
a61af66fc99e Initial load
duke
parents:
diff changeset
50 PWD=pwd
a61af66fc99e Initial load
duke
parents:
diff changeset
51 RM=rm -f
a61af66fc99e Initial load
duke
parents:
diff changeset
52 SED=sed
a61af66fc99e Initial load
duke
parents:
diff changeset
53 TAR=tar
a61af66fc99e Initial load
duke
parents:
diff changeset
54 ZIPEXE=zip
a61af66fc99e Initial load
duke
parents:
diff changeset
55
a61af66fc99e Initial load
duke
parents:
diff changeset
56 define install-file
a61af66fc99e Initial load
duke
parents:
diff changeset
57 @$(MKDIR) -p $(@D)
a61af66fc99e Initial load
duke
parents:
diff changeset
58 @$(RM) $@
a61af66fc99e Initial load
duke
parents:
diff changeset
59 $(CP) $< $@
a61af66fc99e Initial load
duke
parents:
diff changeset
60 endef
a61af66fc99e Initial load
duke
parents:
diff changeset
61 define prep-target
a61af66fc99e Initial load
duke
parents:
diff changeset
62 @$(MKDIR) -p $(@D)
a61af66fc99e Initial load
duke
parents:
diff changeset
63 @$(RM) $@
a61af66fc99e Initial load
duke
parents:
diff changeset
64 endef
a61af66fc99e Initial load
duke
parents:
diff changeset
65
5946
3d7ea1dbe0de 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 5897
diff changeset
66 # Default values for JVM_VARIANT* variables if configure hasn't set
3d7ea1dbe0de 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 5897
diff changeset
67 # it already.
3d7ea1dbe0de 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 5897
diff changeset
68 ifeq ($(JVM_VARIANTS),)
3d7ea1dbe0de 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 5897
diff changeset
69 ifeq ($(ZERO_BUILD), true)
3d7ea1dbe0de 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 5897
diff changeset
70 ifeq ($(SHARK_BUILD), true)
3d7ea1dbe0de 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 5897
diff changeset
71 JVM_VARIANTS:=zeroshark
3d7ea1dbe0de 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 5897
diff changeset
72 JVM_VARIANT_ZEROSHARK:=true
3d7ea1dbe0de 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 5897
diff changeset
73 else
3d7ea1dbe0de 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 5897
diff changeset
74 JVM_VARIANTS:=zero
3d7ea1dbe0de 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 5897
diff changeset
75 JVM_VARIANT_ZERO:=true
3d7ea1dbe0de 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 5897
diff changeset
76 endif
3d7ea1dbe0de 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 5897
diff changeset
77 else
3d7ea1dbe0de 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 5897
diff changeset
78 # A default is needed
3d7ea1dbe0de 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 5897
diff changeset
79 ifeq ($(BUILD_CLIENT_ONLY), true)
3d7ea1dbe0de 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 5897
diff changeset
80 JVM_VARIANTS:=client
3d7ea1dbe0de 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 5897
diff changeset
81 JVM_VARIANT_CLIENT:=true
3d7ea1dbe0de 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 5897
diff changeset
82 endif
3d7ea1dbe0de 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 5897
diff changeset
83 # Further defaults are platform and arch specific
3d7ea1dbe0de 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 5897
diff changeset
84 endif
3d7ea1dbe0de 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 5897
diff changeset
85 endif
3d7ea1dbe0de 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 5897
diff changeset
86
0
a61af66fc99e Initial load
duke
parents:
diff changeset
87 # Directory paths and user name
a61af66fc99e Initial load
duke
parents:
diff changeset
88 # Unless GAMMADIR is set on the command line, search upward from
a61af66fc99e Initial load
duke
parents:
diff changeset
89 # the current directory for a parent directory containing "src/share/vm".
a61af66fc99e Initial load
duke
parents:
diff changeset
90 # If that fails, look for $GAMMADIR in the environment.
a61af66fc99e Initial load
duke
parents:
diff changeset
91 # When the tree of subdirs is built, this setting is stored in each flags.make.
a61af66fc99e Initial load
duke
parents:
diff changeset
92 GAMMADIR := $(shell until ([ -d dev ]&&echo $${GAMMADIR:-/GAMMADIR/}) || ([ -d src/share/vm ]&&pwd); do cd ..; done)
a61af66fc99e Initial load
duke
parents:
diff changeset
93 HS_SRC_DIR=$(GAMMADIR)/src
91
a294fd0c4b38 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 0
diff changeset
94 HS_MAKE_DIR=$(GAMMADIR)/make
0
a61af66fc99e Initial load
duke
parents:
diff changeset
95 HS_BUILD_DIR=$(GAMMADIR)/build
a61af66fc99e Initial load
duke
parents:
diff changeset
96
a61af66fc99e Initial load
duke
parents:
diff changeset
97 ifeq ($(USER),)
a61af66fc99e Initial load
duke
parents:
diff changeset
98 USER=$(USERNAME)
a61af66fc99e Initial load
duke
parents:
diff changeset
99 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
100
a61af66fc99e Initial load
duke
parents:
diff changeset
101 # hotspot version definitions
a61af66fc99e Initial load
duke
parents:
diff changeset
102 include $(GAMMADIR)/make/hotspot_version
a61af66fc99e Initial load
duke
parents:
diff changeset
103
a61af66fc99e Initial load
duke
parents:
diff changeset
104 # Java versions needed
a61af66fc99e Initial load
duke
parents:
diff changeset
105 ifeq ($(PREVIOUS_JDK_VERSION),)
a61af66fc99e Initial load
duke
parents:
diff changeset
106 PREVIOUS_JDK_VERSION=$(JDK_PREVIOUS_VERSION)
a61af66fc99e Initial load
duke
parents:
diff changeset
107 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
108 ifeq ($(JDK_MAJOR_VERSION),)
a61af66fc99e Initial load
duke
parents:
diff changeset
109 JDK_MAJOR_VERSION=$(JDK_MAJOR_VER)
a61af66fc99e Initial load
duke
parents:
diff changeset
110 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
111 ifeq ($(JDK_MINOR_VERSION),)
a61af66fc99e Initial load
duke
parents:
diff changeset
112 JDK_MINOR_VERSION=$(JDK_MINOR_VER)
a61af66fc99e Initial load
duke
parents:
diff changeset
113 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
114 ifeq ($(JDK_MICRO_VERSION),)
a61af66fc99e Initial load
duke
parents:
diff changeset
115 JDK_MICRO_VERSION=$(JDK_MICRO_VER)
a61af66fc99e Initial load
duke
parents:
diff changeset
116 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
117 ifeq ($(JDK_MKTG_VERSION),)
a61af66fc99e Initial load
duke
parents:
diff changeset
118 JDK_MKTG_VERSION=$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION)
a61af66fc99e Initial load
duke
parents:
diff changeset
119 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
120 ifeq ($(JDK_VERSION),)
a61af66fc99e Initial load
duke
parents:
diff changeset
121 JDK_VERSION=$(JDK_MAJOR_VERSION).$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION)
a61af66fc99e Initial load
duke
parents:
diff changeset
122 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
123 ifeq ($(FULL_VERSION),)
a61af66fc99e Initial load
duke
parents:
diff changeset
124 FULL_VERSION="$(JDK_VERSION)"
a61af66fc99e Initial load
duke
parents:
diff changeset
125 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
126
a61af66fc99e Initial load
duke
parents:
diff changeset
127 # FULL_VERSION is only used to define JRE_RELEASE_VERSION which is used
a61af66fc99e Initial load
duke
parents:
diff changeset
128 # as JRE version in VM -Xinternalversion output.
a61af66fc99e Initial load
duke
parents:
diff changeset
129 ifndef JRE_RELEASE_VERSION
a61af66fc99e Initial load
duke
parents:
diff changeset
130 JRE_RELEASE_VERSION=$(FULL_VERSION)
a61af66fc99e Initial load
duke
parents:
diff changeset
131 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
132
a61af66fc99e Initial load
duke
parents:
diff changeset
133 ifndef HOTSPOT_RELEASE_VERSION
a61af66fc99e Initial load
duke
parents:
diff changeset
134 HOTSPOT_RELEASE_VERSION=$(HS_MAJOR_VER).$(HS_MINOR_VER)-b$(HS_BUILD_NUMBER)
a61af66fc99e Initial load
duke
parents:
diff changeset
135 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
136
a61af66fc99e Initial load
duke
parents:
diff changeset
137 ifdef HOTSPOT_BUILD_VERSION
1977
c7db7adb83b4 6987107: Add variable to add to but not modify non-fcs version string
ohair
parents: 1681
diff changeset
138 # specified in command line
0
a61af66fc99e Initial load
duke
parents:
diff changeset
139 else
1977
c7db7adb83b4 6987107: Add variable to add to but not modify non-fcs version string
ohair
parents: 1681
diff changeset
140 ifdef COOKED_BUILD_NUMBER
c7db7adb83b4 6987107: Add variable to add to but not modify non-fcs version string
ohair
parents: 1681
diff changeset
141 # JRE build
c7db7adb83b4 6987107: Add variable to add to but not modify non-fcs version string
ohair
parents: 1681
diff changeset
142 HOTSPOT_BUILD_VERSION=
0
a61af66fc99e Initial load
duke
parents:
diff changeset
143 else
1977
c7db7adb83b4 6987107: Add variable to add to but not modify non-fcs version string
ohair
parents: 1681
diff changeset
144 ifdef USER_RELEASE_SUFFIX
c7db7adb83b4 6987107: Add variable to add to but not modify non-fcs version string
ohair
parents: 1681
diff changeset
145 HOTSPOT_BUILD_VERSION=internal-$(USER_RELEASE_SUFFIX)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
146 else
a61af66fc99e Initial load
duke
parents:
diff changeset
147 HOTSPOT_BUILD_VERSION=internal
a61af66fc99e Initial load
duke
parents:
diff changeset
148 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
149 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
150 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
151
a61af66fc99e Initial load
duke
parents:
diff changeset
152 # Windows should have OS predefined
a61af66fc99e Initial load
duke
parents:
diff changeset
153 ifeq ($(OS),)
a61af66fc99e Initial load
duke
parents:
diff changeset
154 OS := $(shell uname -s)
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
155 ifneq ($(findstring BSD,$(OS)),)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
156 OS=bsd
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
157 endif
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
158 ifeq ($(OS), Darwin)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
159 OS=bsd
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
160 endif
0
a61af66fc99e Initial load
duke
parents:
diff changeset
161 HOST := $(shell uname -n)
a61af66fc99e Initial load
duke
parents:
diff changeset
162 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
163
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
164 # If not SunOS, not Linux and not BSD, assume Windows
0
a61af66fc99e Initial load
duke
parents:
diff changeset
165 ifneq ($(OS), Linux)
a61af66fc99e Initial load
duke
parents:
diff changeset
166 ifneq ($(OS), SunOS)
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
167 ifneq ($(OS), bsd)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
168 OSNAME=windows
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
169 else
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
170 OSNAME=bsd
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
171 endif
0
a61af66fc99e Initial load
duke
parents:
diff changeset
172 else
a61af66fc99e Initial load
duke
parents:
diff changeset
173 OSNAME=solaris
a61af66fc99e Initial load
duke
parents:
diff changeset
174 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
175 else
a61af66fc99e Initial load
duke
parents:
diff changeset
176 OSNAME=linux
a61af66fc99e Initial load
duke
parents:
diff changeset
177 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
178
a61af66fc99e Initial load
duke
parents:
diff changeset
179 # Determinations of default make arguments and platform specific settings
a61af66fc99e Initial load
duke
parents:
diff changeset
180 MAKE_ARGS=
a61af66fc99e Initial load
duke
parents:
diff changeset
181
a61af66fc99e Initial load
duke
parents:
diff changeset
182 # ARCH_DATA_MODEL==64 is equivalent to LP64=1
a61af66fc99e Initial load
duke
parents:
diff changeset
183 ifeq ($(ARCH_DATA_MODEL), 64)
a61af66fc99e Initial load
duke
parents:
diff changeset
184 ifndef LP64
a61af66fc99e Initial load
duke
parents:
diff changeset
185 LP64 := 1
a61af66fc99e Initial load
duke
parents:
diff changeset
186 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
187 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
188
a61af66fc99e Initial load
duke
parents:
diff changeset
189 # Defaults set for product build
a61af66fc99e Initial load
duke
parents:
diff changeset
190 EXPORT_SUBDIR=
a61af66fc99e Initial load
duke
parents:
diff changeset
191
a61af66fc99e Initial load
duke
parents:
diff changeset
192 # Change default /java path if requested
a61af66fc99e Initial load
duke
parents:
diff changeset
193 ifneq ($(ALT_SLASH_JAVA),)
a61af66fc99e Initial load
duke
parents:
diff changeset
194 SLASH_JAVA=$(ALT_SLASH_JAVA)
a61af66fc99e Initial load
duke
parents:
diff changeset
195 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
196
a61af66fc99e Initial load
duke
parents:
diff changeset
197 # Default OUTPUTDIR
a61af66fc99e Initial load
duke
parents:
diff changeset
198 OUTPUTDIR=$(HS_BUILD_DIR)/$(OSNAME)
a61af66fc99e Initial load
duke
parents:
diff changeset
199 ifneq ($(ALT_OUTPUTDIR),)
a61af66fc99e Initial load
duke
parents:
diff changeset
200 OUTPUTDIR=$(ALT_OUTPUTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
201 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
202
a61af66fc99e Initial load
duke
parents:
diff changeset
203 # Find latest promoted JDK area
a61af66fc99e Initial load
duke
parents:
diff changeset
204 JDK_IMPORT_PATH=$(SLASH_JAVA)/re/j2se/$(JDK_VERSION)/promoted/latest/binaries/$(PLATFORM)
a61af66fc99e Initial load
duke
parents:
diff changeset
205 ifneq ($(ALT_JDK_IMPORT_PATH),)
a61af66fc99e Initial load
duke
parents:
diff changeset
206 JDK_IMPORT_PATH=$(ALT_JDK_IMPORT_PATH)
a61af66fc99e Initial load
duke
parents:
diff changeset
207 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
208
2237
b76d12f4ab2d 7018429: JPRT: Update Makefile to use ALT_JDK_TARGET_IMPORT_PATH for copying JDK
dholmes
parents: 1977
diff changeset
209 # Other parts of JDK build may require an import JDK that can be executed
b76d12f4ab2d 7018429: JPRT: Update Makefile to use ALT_JDK_TARGET_IMPORT_PATH for copying JDK
dholmes
parents: 1977
diff changeset
210 # on the build host. For cross-compile builds we also need an import JDK
b76d12f4ab2d 7018429: JPRT: Update Makefile to use ALT_JDK_TARGET_IMPORT_PATH for copying JDK
dholmes
parents: 1977
diff changeset
211 # that matches the target arch, so for that we set ALT_JDK_TARGET_IMPORT_PATH
b76d12f4ab2d 7018429: JPRT: Update Makefile to use ALT_JDK_TARGET_IMPORT_PATH for copying JDK
dholmes
parents: 1977
diff changeset
212 ifneq ($(ALT_JDK_TARGET_IMPORT_PATH),)
b76d12f4ab2d 7018429: JPRT: Update Makefile to use ALT_JDK_TARGET_IMPORT_PATH for copying JDK
dholmes
parents: 1977
diff changeset
213 JDK_IMPORT_PATH=$(ALT_JDK_TARGET_IMPORT_PATH)
b76d12f4ab2d 7018429: JPRT: Update Makefile to use ALT_JDK_TARGET_IMPORT_PATH for copying JDK
dholmes
parents: 1977
diff changeset
214 endif
b76d12f4ab2d 7018429: JPRT: Update Makefile to use ALT_JDK_TARGET_IMPORT_PATH for copying JDK
dholmes
parents: 1977
diff changeset
215
0
a61af66fc99e Initial load
duke
parents:
diff changeset
216 # Find JDK used for javac compiles
a61af66fc99e Initial load
duke
parents:
diff changeset
217 BOOTDIR=$(SLASH_JAVA)/re/j2se/$(PREVIOUS_JDK_VERSION)/latest/binaries/$(PLATFORM)
a61af66fc99e Initial load
duke
parents:
diff changeset
218 ifneq ($(ALT_BOOTDIR),)
a61af66fc99e Initial load
duke
parents:
diff changeset
219 BOOTDIR=$(ALT_BOOTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
220 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
221
4865
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents: 4800
diff changeset
222 # Select name of the export directory and honor ALT overrides
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents: 4800
diff changeset
223 EXPORT_PATH=$(OUTPUTDIR)/export-$(PLATFORM)$(EXPORT_SUBDIR)
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents: 4800
diff changeset
224 ifneq ($(ALT_EXPORT_PATH),)
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents: 4800
diff changeset
225 EXPORT_PATH=$(ALT_EXPORT_PATH)
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents: 4800
diff changeset
226 endif
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents: 4800
diff changeset
227
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents: 4800
diff changeset
228 # Default jdk image if one is created for you with create_jdk
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents: 4800
diff changeset
229 JDK_IMAGE_DIR=$(OUTPUTDIR)/jdk-$(PLATFORM)
4940
f09ae3853e3b 7143766: add ALT_JDK_IMAGE_DIR and improve test_jdk
twisti
parents: 4865
diff changeset
230 ifneq ($(ALT_JDK_IMAGE_DIR),)
f09ae3853e3b 7143766: add ALT_JDK_IMAGE_DIR and improve test_jdk
twisti
parents: 4865
diff changeset
231 JDK_IMAGE_DIR=$(ALT_JDK_IMAGE_DIR)
f09ae3853e3b 7143766: add ALT_JDK_IMAGE_DIR and improve test_jdk
twisti
parents: 4865
diff changeset
232 endif
4865
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents: 4800
diff changeset
233
0
a61af66fc99e Initial load
duke
parents:
diff changeset
234 # The platform dependent defs.make defines platform specific variable such
a61af66fc99e Initial load
duke
parents:
diff changeset
235 # as ARCH, EXPORT_LIST etc. We must place the include here after BOOTDIR is defined.
91
a294fd0c4b38 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 0
diff changeset
236 include $(GAMMADIR)/make/$(OSNAME)/makefiles/defs.make
0
a61af66fc99e Initial load
duke
parents:
diff changeset
237
a61af66fc99e Initial load
duke
parents:
diff changeset
238 # We are trying to put platform specific defintions
91
a294fd0c4b38 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 0
diff changeset
239 # files to make/$(OSNAME)/makefiles dictory. However
0
a61af66fc99e Initial load
duke
parents:
diff changeset
240 # some definitions are common for both linux and solaris,
a61af66fc99e Initial load
duke
parents:
diff changeset
241 # so we put them here.
a61af66fc99e Initial load
duke
parents:
diff changeset
242 ifneq ($(OSNAME),windows)
91
a294fd0c4b38 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 0
diff changeset
243 ABS_OUTPUTDIR := $(shell mkdir -p $(OUTPUTDIR); $(CD) $(OUTPUTDIR); $(PWD))
0
a61af66fc99e Initial load
duke
parents:
diff changeset
244 ABS_BOOTDIR := $(shell $(CD) $(BOOTDIR); $(PWD))
a61af66fc99e Initial load
duke
parents:
diff changeset
245 ABS_GAMMADIR := $(shell $(CD) $(GAMMADIR); $(PWD))
91
a294fd0c4b38 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 0
diff changeset
246 ABS_OS_MAKEFILE := $(shell $(CD) $(HS_MAKE_DIR)/$(OSNAME); $(PWD))/Makefile
0
a61af66fc99e Initial load
duke
parents:
diff changeset
247
a61af66fc99e Initial load
duke
parents:
diff changeset
248 # uname, HotSpot source directory, build directory and JDK use different names
a61af66fc99e Initial load
duke
parents:
diff changeset
249 # for CPU architectures.
a61af66fc99e Initial load
duke
parents:
diff changeset
250 # ARCH - uname output
a61af66fc99e Initial load
duke
parents:
diff changeset
251 # SRCARCH - where to find HotSpot cpu and os_cpu source files
a61af66fc99e Initial load
duke
parents:
diff changeset
252 # BUILDARCH - build directory
a61af66fc99e Initial load
duke
parents:
diff changeset
253 # LIBARCH - directory name in JDK/JRE
a61af66fc99e Initial load
duke
parents:
diff changeset
254
a61af66fc99e Initial load
duke
parents:
diff changeset
255 # Use uname output for SRCARCH, but deal with platform differences. If ARCH
a61af66fc99e Initial load
duke
parents:
diff changeset
256 # is not explicitly listed below, it is treated as x86.
1681
126ea7725993 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 1552
diff changeset
257 SRCARCH = $(ARCH/$(filter sparc sparc64 ia64 amd64 x86_64 arm ppc zero,$(ARCH)))
0
a61af66fc99e Initial load
duke
parents:
diff changeset
258 ARCH/ = x86
a61af66fc99e Initial load
duke
parents:
diff changeset
259 ARCH/sparc = sparc
a61af66fc99e Initial load
duke
parents:
diff changeset
260 ARCH/sparc64= sparc
a61af66fc99e Initial load
duke
parents:
diff changeset
261 ARCH/ia64 = ia64
a61af66fc99e Initial load
duke
parents:
diff changeset
262 ARCH/amd64 = x86
a61af66fc99e Initial load
duke
parents:
diff changeset
263 ARCH/x86_64 = x86
1681
126ea7725993 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 1552
diff changeset
264 ARCH/ppc64 = ppc
126ea7725993 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 1552
diff changeset
265 ARCH/ppc = ppc
126ea7725993 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 1552
diff changeset
266 ARCH/arm = arm
1010
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents: 235
diff changeset
267 ARCH/zero = zero
0
a61af66fc99e Initial load
duke
parents:
diff changeset
268
a61af66fc99e Initial load
duke
parents:
diff changeset
269 # BUILDARCH is usually the same as SRCARCH, except for sparcv9
a61af66fc99e Initial load
duke
parents:
diff changeset
270 BUILDARCH = $(SRCARCH)
a61af66fc99e Initial load
duke
parents:
diff changeset
271 ifeq ($(BUILDARCH), x86)
a61af66fc99e Initial load
duke
parents:
diff changeset
272 ifdef LP64
a61af66fc99e Initial load
duke
parents:
diff changeset
273 BUILDARCH = amd64
a61af66fc99e Initial load
duke
parents:
diff changeset
274 else
a61af66fc99e Initial load
duke
parents:
diff changeset
275 BUILDARCH = i486
a61af66fc99e Initial load
duke
parents:
diff changeset
276 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
277 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
278 ifeq ($(BUILDARCH), sparc)
a61af66fc99e Initial load
duke
parents:
diff changeset
279 ifdef LP64
a61af66fc99e Initial load
duke
parents:
diff changeset
280 BUILDARCH = sparcv9
a61af66fc99e Initial load
duke
parents:
diff changeset
281 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
282 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
283
a61af66fc99e Initial load
duke
parents:
diff changeset
284 # LIBARCH is 1:1 mapping from BUILDARCH
a61af66fc99e Initial load
duke
parents:
diff changeset
285 LIBARCH = $(LIBARCH/$(BUILDARCH))
a61af66fc99e Initial load
duke
parents:
diff changeset
286 LIBARCH/i486 = i386
a61af66fc99e Initial load
duke
parents:
diff changeset
287 LIBARCH/amd64 = amd64
a61af66fc99e Initial load
duke
parents:
diff changeset
288 LIBARCH/sparc = sparc
a61af66fc99e Initial load
duke
parents:
diff changeset
289 LIBARCH/sparcv9 = sparcv9
a61af66fc99e Initial load
duke
parents:
diff changeset
290 LIBARCH/ia64 = ia64
1681
126ea7725993 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 1552
diff changeset
291 LIBARCH/ppc64 = ppc
126ea7725993 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 1552
diff changeset
292 LIBARCH/ppc = ppc
126ea7725993 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 1552
diff changeset
293 LIBARCH/arm = arm
1010
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents: 235
diff changeset
294 LIBARCH/zero = $(ZERO_LIBARCH)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
295
1010
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents: 235
diff changeset
296 LP64_ARCH = sparcv9 amd64 ia64 zero
0
a61af66fc99e Initial load
duke
parents:
diff changeset
297 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
298
a61af66fc99e Initial load
duke
parents:
diff changeset
299 # Required make macro settings for all platforms
a61af66fc99e Initial load
duke
parents:
diff changeset
300 MAKE_ARGS += JAVA_HOME=$(ABS_BOOTDIR)
228
f232d7d67023 6717128: Using relative path for ALT_OUTPUTDIR does not work properly
xlu
parents: 198
diff changeset
301 MAKE_ARGS += OUTPUTDIR=$(ABS_OUTPUTDIR)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
302 MAKE_ARGS += GAMMADIR=$(ABS_GAMMADIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
303 MAKE_ARGS += MAKE_VERBOSE=$(MAKE_VERBOSE)
a61af66fc99e Initial load
duke
parents:
diff changeset
304 MAKE_ARGS += HOTSPOT_RELEASE_VERSION=$(HOTSPOT_RELEASE_VERSION)
a61af66fc99e Initial load
duke
parents:
diff changeset
305 MAKE_ARGS += JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION)
a61af66fc99e Initial load
duke
parents:
diff changeset
306
a61af66fc99e Initial load
duke
parents:
diff changeset
307 # Pass HOTSPOT_BUILD_VERSION as argument to OS specific Makefile
a61af66fc99e Initial load
duke
parents:
diff changeset
308 # to overwrite the default definition since OS specific Makefile also
a61af66fc99e Initial load
duke
parents:
diff changeset
309 # includes this make/defs.make file.
a61af66fc99e Initial load
duke
parents:
diff changeset
310 MAKE_ARGS += HOTSPOT_BUILD_VERSION=$(HOTSPOT_BUILD_VERSION)
a61af66fc99e Initial load
duke
parents:
diff changeset
311
a61af66fc99e Initial load
duke
parents:
diff changeset
312 # Various export sub directories
a61af66fc99e Initial load
duke
parents:
diff changeset
313 EXPORT_INCLUDE_DIR = $(EXPORT_PATH)/include
a61af66fc99e Initial load
duke
parents:
diff changeset
314 EXPORT_DOCS_DIR = $(EXPORT_PATH)/docs
a61af66fc99e Initial load
duke
parents:
diff changeset
315 EXPORT_LIB_DIR = $(EXPORT_PATH)/lib
a61af66fc99e Initial load
duke
parents:
diff changeset
316 EXPORT_JRE_DIR = $(EXPORT_PATH)/jre
a61af66fc99e Initial load
duke
parents:
diff changeset
317 EXPORT_JRE_BIN_DIR = $(EXPORT_JRE_DIR)/bin
a61af66fc99e Initial load
duke
parents:
diff changeset
318 EXPORT_JRE_LIB_DIR = $(EXPORT_JRE_DIR)/lib
a61af66fc99e Initial load
duke
parents:
diff changeset
319 EXPORT_JRE_LIB_ARCH_DIR = $(EXPORT_JRE_LIB_DIR)/$(LIBARCH)
a61af66fc99e Initial load
duke
parents:
diff changeset
320
4006
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 3960
diff changeset
321 # non-universal macosx builds need to appear universal
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 3960
diff changeset
322 ifeq ($(OS_VENDOR), Darwin)
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 3960
diff changeset
323 ifneq ($(MACOSX_UNIVERSAL), true)
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 3960
diff changeset
324 EXPORT_JRE_LIB_ARCH_DIR = $(EXPORT_JRE_LIB_DIR)
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 3960
diff changeset
325 endif
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 3960
diff changeset
326 endif
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 3960
diff changeset
327
0
a61af66fc99e Initial load
duke
parents:
diff changeset
328 # Common export list of files
a61af66fc99e Initial load
duke
parents:
diff changeset
329 EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jvmti.h
1184
7fbf850d87b7 6580131: 3/4 CompiledMethodLoad events don't produce the expected extra notifications to describe inlining
dcubed
parents: 235
diff changeset
330 EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jvmticmlr.h
0
a61af66fc99e Initial load
duke
parents:
diff changeset
331 EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jni.h
a61af66fc99e Initial load
duke
parents:
diff changeset
332 EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/$(JDK_INCLUDE_SUBDIR)/jni_md.h
a61af66fc99e Initial load
duke
parents:
diff changeset
333 EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jmm.h
4800
94ec88ca68e2 7115199: Add event tracing hooks and Java Flight Recorder infrastructure
phh
parents: 4006
diff changeset
334
94ec88ca68e2 7115199: Add event tracing hooks and Java Flight Recorder infrastructure
phh
parents: 4006
diff changeset
335 ifndef JAVASE_EMBEDDED
94ec88ca68e2 7115199: Add event tracing hooks and Java Flight Recorder infrastructure
phh
parents: 4006
diff changeset
336 EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jfr.h
94ec88ca68e2 7115199: Add event tracing hooks and Java Flight Recorder infrastructure
phh
parents: 4006
diff changeset
337 endif
6641
a9fed06c01d2 7154641: Servicability agent should work on platforms other than x86, sparc
bpittore
parents: 5946
diff changeset
338