annotate make/defs.make @ 20295:3f2894c5052e

8048112: G1 Full GC needs to support the case when the very first region is not available Summary: Refactor preparation for compaction during Full GC so that it lazily initializes the first compaction point. This also avoids problems later when the first region may not be committed. Also reviewed by K. Barrett. Reviewed-by: brutisso
author tschatzl
date Mon, 21 Jul 2014 10:00:31 +0200
parents 2b8e28fdf503
children d8041d695d19
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1 #
10405
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents: 8780
diff changeset
2 # Copyright (c) 2006, 2013, 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.
10405
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents: 8780
diff changeset
22 #
0
a61af66fc99e Initial load
duke
parents:
diff changeset
23 #
a61af66fc99e Initial load
duke
parents:
diff changeset
24
6854
fb19af007ffc 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 6774
diff changeset
25 # The common definitions for hotspot builds.
fb19af007ffc 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 6774
diff changeset
26
fb19af007ffc 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 6774
diff changeset
27 # Optionally include SPEC file generated by configure.
fb19af007ffc 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 6774
diff changeset
28 ifneq ($(SPEC),)
fb19af007ffc 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 6774
diff changeset
29 include $(SPEC)
fb19af007ffc 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 6774
diff changeset
30 endif
fb19af007ffc 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 6774
diff changeset
31
fb19af007ffc 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 6774
diff changeset
32 # Directory paths and user name
fb19af007ffc 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 6774
diff changeset
33 # Unless GAMMADIR is set on the command line, search upward from
fb19af007ffc 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 6774
diff changeset
34 # the current directory for a parent directory containing "src/share/vm".
fb19af007ffc 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 6774
diff changeset
35 # If that fails, look for $GAMMADIR in the environment.
fb19af007ffc 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 6774
diff changeset
36 # When the tree of subdirs is built, this setting is stored in each flags.make.
fb19af007ffc 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 6774
diff changeset
37 GAMMADIR := $(shell until ([ -d dev ]&&echo $${GAMMADIR:-/GAMMADIR/}) || ([ -d src/share/vm ]&&pwd); do cd ..; done)
fb19af007ffc 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 6774
diff changeset
38 HS_SRC_DIR=$(GAMMADIR)/src
fb19af007ffc 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 6774
diff changeset
39 HS_MAKE_DIR=$(GAMMADIR)/make
fb19af007ffc 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 6774
diff changeset
40 HS_BUILD_DIR=$(GAMMADIR)/build
fb19af007ffc 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 6774
diff changeset
41
fb19af007ffc 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 6774
diff changeset
42 ifeq ($(USER),)
fb19af007ffc 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 6774
diff changeset
43 USER=$(USERNAME)
fb19af007ffc 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 6774
diff changeset
44 endif
fb19af007ffc 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 6774
diff changeset
45
6641
a9fed06c01d2 7154641: Servicability agent should work on platforms other than x86, sparc
bpittore
parents: 5946
diff changeset
46 ifeq ($(HS_ALT_MAKE),)
a9fed06c01d2 7154641: Servicability agent should work on platforms other than x86, sparc
bpittore
parents: 5946
diff changeset
47 ifneq ($(OPENJDK),true)
a9fed06c01d2 7154641: Servicability agent should work on platforms other than x86, sparc
bpittore
parents: 5946
diff changeset
48 HS_ALT_MAKE=$(GAMMADIR)/make/closed
a9fed06c01d2 7154641: Servicability agent should work on platforms other than x86, sparc
bpittore
parents: 5946
diff changeset
49 else
a9fed06c01d2 7154641: Servicability agent should work on platforms other than x86, sparc
bpittore
parents: 5946
diff changeset
50 HS_ALT_MAKE=NO_SUCH_PATH
a9fed06c01d2 7154641: Servicability agent should work on platforms other than x86, sparc
bpittore
parents: 5946
diff changeset
51 endif
a9fed06c01d2 7154641: Servicability agent should work on platforms other than x86, sparc
bpittore
parents: 5946
diff changeset
52 endif
a9fed06c01d2 7154641: Servicability agent should work on platforms other than x86, sparc
bpittore
parents: 5946
diff changeset
53
6854
fb19af007ffc 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 6774
diff changeset
54 #
fb19af007ffc 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 6774
diff changeset
55 # Include alternate defs.make if it exists
fb19af007ffc 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 6774
diff changeset
56 #
fb19af007ffc 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 6774
diff changeset
57 -include $(HS_ALT_MAKE)/defs.make
5897
7292cff45988 7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents: 4940
diff changeset
58
0
a61af66fc99e Initial load
duke
parents:
diff changeset
59 # Default to verbose build logs (show all compile lines):
a61af66fc99e Initial load
duke
parents:
diff changeset
60 MAKE_VERBOSE=y
a61af66fc99e Initial load
duke
parents:
diff changeset
61
a61af66fc99e Initial load
duke
parents:
diff changeset
62 # Make macros for install files or preparing targets
a61af66fc99e Initial load
duke
parents:
diff changeset
63 CD=cd
a61af66fc99e Initial load
duke
parents:
diff changeset
64 CP=cp
a61af66fc99e Initial load
duke
parents:
diff changeset
65 ECHO=echo
a61af66fc99e Initial load
duke
parents:
diff changeset
66 GREP=grep
a61af66fc99e Initial load
duke
parents:
diff changeset
67 MKDIR=mkdir
a61af66fc99e Initial load
duke
parents:
diff changeset
68 MV=mv
a61af66fc99e Initial load
duke
parents:
diff changeset
69 PWD=pwd
a61af66fc99e Initial load
duke
parents:
diff changeset
70 RM=rm -f
a61af66fc99e Initial load
duke
parents:
diff changeset
71 SED=sed
a61af66fc99e Initial load
duke
parents:
diff changeset
72 TAR=tar
a61af66fc99e Initial load
duke
parents:
diff changeset
73 ZIPEXE=zip
a61af66fc99e Initial load
duke
parents:
diff changeset
74
a61af66fc99e Initial load
duke
parents:
diff changeset
75 define install-file
a61af66fc99e Initial load
duke
parents:
diff changeset
76 @$(MKDIR) -p $(@D)
a61af66fc99e Initial load
duke
parents:
diff changeset
77 @$(RM) $@
a61af66fc99e Initial load
duke
parents:
diff changeset
78 $(CP) $< $@
a61af66fc99e Initial load
duke
parents:
diff changeset
79 endef
12859
f509b8f4699b 7165611: implement Full Debug Symbols on MacOS X hotspot
dcubed
parents: 10405
diff changeset
80
f509b8f4699b 7165611: implement Full Debug Symbols on MacOS X hotspot
dcubed
parents: 10405
diff changeset
81 # MacOS X strongly discourages 'cp -r' and provides 'cp -R' instead.
f509b8f4699b 7165611: implement Full Debug Symbols on MacOS X hotspot
dcubed
parents: 10405
diff changeset
82 # May need to have a MacOS X specific definition of install-dir
f509b8f4699b 7165611: implement Full Debug Symbols on MacOS X hotspot
dcubed
parents: 10405
diff changeset
83 # sometime in the future.
f509b8f4699b 7165611: implement Full Debug Symbols on MacOS X hotspot
dcubed
parents: 10405
diff changeset
84 define install-dir
f509b8f4699b 7165611: implement Full Debug Symbols on MacOS X hotspot
dcubed
parents: 10405
diff changeset
85 @$(MKDIR) -p $(@D)
f509b8f4699b 7165611: implement Full Debug Symbols on MacOS X hotspot
dcubed
parents: 10405
diff changeset
86 @$(RM) -r $@
f509b8f4699b 7165611: implement Full Debug Symbols on MacOS X hotspot
dcubed
parents: 10405
diff changeset
87 $(CP) -r $< $@
f509b8f4699b 7165611: implement Full Debug Symbols on MacOS X hotspot
dcubed
parents: 10405
diff changeset
88 endef
f509b8f4699b 7165611: implement Full Debug Symbols on MacOS X hotspot
dcubed
parents: 10405
diff changeset
89
0
a61af66fc99e Initial load
duke
parents:
diff changeset
90 define prep-target
a61af66fc99e Initial load
duke
parents:
diff changeset
91 @$(MKDIR) -p $(@D)
a61af66fc99e Initial load
duke
parents:
diff changeset
92 @$(RM) $@
a61af66fc99e Initial load
duke
parents:
diff changeset
93 endef
a61af66fc99e Initial load
duke
parents:
diff changeset
94
5946
3d7ea1dbe0de 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 5897
diff changeset
95 # 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
96 # it already.
3d7ea1dbe0de 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 5897
diff changeset
97 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
98 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
99 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
100 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
101 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
102 else
3d7ea1dbe0de 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 5897
diff changeset
103 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
104 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
105 endif
3d7ea1dbe0de 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 5897
diff changeset
106 else
3d7ea1dbe0de 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 5897
diff changeset
107 # 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
108 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
109 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
110 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
111 endif
3d7ea1dbe0de 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 5897
diff changeset
112 # 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
113 endif
3d7ea1dbe0de 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 5897
diff changeset
114 endif
3d7ea1dbe0de 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 5897
diff changeset
115
0
a61af66fc99e Initial load
duke
parents:
diff changeset
116 # hotspot version definitions
a61af66fc99e Initial load
duke
parents:
diff changeset
117 include $(GAMMADIR)/make/hotspot_version
a61af66fc99e Initial load
duke
parents:
diff changeset
118
a61af66fc99e Initial load
duke
parents:
diff changeset
119 # Java versions needed
a61af66fc99e Initial load
duke
parents:
diff changeset
120 ifeq ($(PREVIOUS_JDK_VERSION),)
a61af66fc99e Initial load
duke
parents:
diff changeset
121 PREVIOUS_JDK_VERSION=$(JDK_PREVIOUS_VERSION)
a61af66fc99e Initial load
duke
parents:
diff changeset
122 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
123 ifeq ($(JDK_MAJOR_VERSION),)
a61af66fc99e Initial load
duke
parents:
diff changeset
124 JDK_MAJOR_VERSION=$(JDK_MAJOR_VER)
a61af66fc99e Initial load
duke
parents:
diff changeset
125 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
126 ifeq ($(JDK_MINOR_VERSION),)
a61af66fc99e Initial load
duke
parents:
diff changeset
127 JDK_MINOR_VERSION=$(JDK_MINOR_VER)
a61af66fc99e Initial load
duke
parents:
diff changeset
128 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
129 ifeq ($(JDK_MICRO_VERSION),)
a61af66fc99e Initial load
duke
parents:
diff changeset
130 JDK_MICRO_VERSION=$(JDK_MICRO_VER)
a61af66fc99e Initial load
duke
parents:
diff changeset
131 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
132 ifeq ($(JDK_MKTG_VERSION),)
a61af66fc99e Initial load
duke
parents:
diff changeset
133 JDK_MKTG_VERSION=$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION)
a61af66fc99e Initial load
duke
parents:
diff changeset
134 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
135 ifeq ($(JDK_VERSION),)
a61af66fc99e Initial load
duke
parents:
diff changeset
136 JDK_VERSION=$(JDK_MAJOR_VERSION).$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION)
a61af66fc99e Initial load
duke
parents:
diff changeset
137 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
138 ifeq ($(FULL_VERSION),)
a61af66fc99e Initial load
duke
parents:
diff changeset
139 FULL_VERSION="$(JDK_VERSION)"
a61af66fc99e Initial load
duke
parents:
diff changeset
140 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
141
a61af66fc99e Initial load
duke
parents:
diff changeset
142 # FULL_VERSION is only used to define JRE_RELEASE_VERSION which is used
a61af66fc99e Initial load
duke
parents:
diff changeset
143 # as JRE version in VM -Xinternalversion output.
a61af66fc99e Initial load
duke
parents:
diff changeset
144 ifndef JRE_RELEASE_VERSION
a61af66fc99e Initial load
duke
parents:
diff changeset
145 JRE_RELEASE_VERSION=$(FULL_VERSION)
a61af66fc99e Initial load
duke
parents:
diff changeset
146 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
147
a61af66fc99e Initial load
duke
parents:
diff changeset
148 ifndef HOTSPOT_RELEASE_VERSION
a61af66fc99e Initial load
duke
parents:
diff changeset
149 HOTSPOT_RELEASE_VERSION=$(HS_MAJOR_VER).$(HS_MINOR_VER)-b$(HS_BUILD_NUMBER)
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 ifdef HOTSPOT_BUILD_VERSION
1977
c7db7adb83b4 6987107: Add variable to add to but not modify non-fcs version string
ohair
parents: 1681
diff changeset
153 # specified in command line
0
a61af66fc99e Initial load
duke
parents:
diff changeset
154 else
1977
c7db7adb83b4 6987107: Add variable to add to but not modify non-fcs version string
ohair
parents: 1681
diff changeset
155 ifdef COOKED_BUILD_NUMBER
c7db7adb83b4 6987107: Add variable to add to but not modify non-fcs version string
ohair
parents: 1681
diff changeset
156 # JRE build
c7db7adb83b4 6987107: Add variable to add to but not modify non-fcs version string
ohair
parents: 1681
diff changeset
157 HOTSPOT_BUILD_VERSION=
0
a61af66fc99e Initial load
duke
parents:
diff changeset
158 else
1977
c7db7adb83b4 6987107: Add variable to add to but not modify non-fcs version string
ohair
parents: 1681
diff changeset
159 ifdef USER_RELEASE_SUFFIX
c7db7adb83b4 6987107: Add variable to add to but not modify non-fcs version string
ohair
parents: 1681
diff changeset
160 HOTSPOT_BUILD_VERSION=internal-$(USER_RELEASE_SUFFIX)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
161 else
a61af66fc99e Initial load
duke
parents:
diff changeset
162 HOTSPOT_BUILD_VERSION=internal
a61af66fc99e Initial load
duke
parents:
diff changeset
163 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
164 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
165 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
166
a61af66fc99e Initial load
duke
parents:
diff changeset
167 # Windows should have OS predefined
a61af66fc99e Initial load
duke
parents:
diff changeset
168 ifeq ($(OS),)
a61af66fc99e Initial load
duke
parents:
diff changeset
169 OS := $(shell uname -s)
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
170 ifneq ($(findstring BSD,$(OS)),)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
171 OS=bsd
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
172 endif
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
173 ifeq ($(OS), Darwin)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
174 OS=bsd
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
175 endif
0
a61af66fc99e Initial load
duke
parents:
diff changeset
176 HOST := $(shell uname -n)
a61af66fc99e Initial load
duke
parents:
diff changeset
177 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
178
14414
b83f7d608548 8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents: 14402
diff changeset
179 # If not SunOS, not Linux not BSD and not AIX, assume Windows
0
a61af66fc99e Initial load
duke
parents:
diff changeset
180 ifneq ($(OS), Linux)
a61af66fc99e Initial load
duke
parents:
diff changeset
181 ifneq ($(OS), SunOS)
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
182 ifneq ($(OS), bsd)
14414
b83f7d608548 8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents: 14402
diff changeset
183 ifneq ($(OS), AIX)
b83f7d608548 8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents: 14402
diff changeset
184 OSNAME=windows
b83f7d608548 8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents: 14402
diff changeset
185 else
b83f7d608548 8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents: 14402
diff changeset
186 OSNAME=aix
b83f7d608548 8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents: 14402
diff changeset
187 endif
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
188 else
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
189 OSNAME=bsd
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
190 endif
0
a61af66fc99e Initial load
duke
parents:
diff changeset
191 else
a61af66fc99e Initial load
duke
parents:
diff changeset
192 OSNAME=solaris
a61af66fc99e Initial load
duke
parents:
diff changeset
193 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
194 else
a61af66fc99e Initial load
duke
parents:
diff changeset
195 OSNAME=linux
a61af66fc99e Initial load
duke
parents:
diff changeset
196 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
197
a61af66fc99e Initial load
duke
parents:
diff changeset
198 # Determinations of default make arguments and platform specific settings
a61af66fc99e Initial load
duke
parents:
diff changeset
199 MAKE_ARGS=
a61af66fc99e Initial load
duke
parents:
diff changeset
200
a61af66fc99e Initial load
duke
parents:
diff changeset
201 # ARCH_DATA_MODEL==64 is equivalent to LP64=1
a61af66fc99e Initial load
duke
parents:
diff changeset
202 ifeq ($(ARCH_DATA_MODEL), 64)
a61af66fc99e Initial load
duke
parents:
diff changeset
203 ifndef LP64
a61af66fc99e Initial load
duke
parents:
diff changeset
204 LP64 := 1
a61af66fc99e Initial load
duke
parents:
diff changeset
205 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
206 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
207
a61af66fc99e Initial load
duke
parents:
diff changeset
208 # Defaults set for product build
a61af66fc99e Initial load
duke
parents:
diff changeset
209 EXPORT_SUBDIR=
a61af66fc99e Initial load
duke
parents:
diff changeset
210
a61af66fc99e Initial load
duke
parents:
diff changeset
211 # Change default /java path if requested
a61af66fc99e Initial load
duke
parents:
diff changeset
212 ifneq ($(ALT_SLASH_JAVA),)
a61af66fc99e Initial load
duke
parents:
diff changeset
213 SLASH_JAVA=$(ALT_SLASH_JAVA)
a61af66fc99e Initial load
duke
parents:
diff changeset
214 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
215
a61af66fc99e Initial load
duke
parents:
diff changeset
216 # Default OUTPUTDIR
a61af66fc99e Initial load
duke
parents:
diff changeset
217 OUTPUTDIR=$(HS_BUILD_DIR)/$(OSNAME)
a61af66fc99e Initial load
duke
parents:
diff changeset
218 ifneq ($(ALT_OUTPUTDIR),)
a61af66fc99e Initial load
duke
parents:
diff changeset
219 OUTPUTDIR=$(ALT_OUTPUTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
220 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
221
a61af66fc99e Initial load
duke
parents:
diff changeset
222 # Find latest promoted JDK area
a61af66fc99e Initial load
duke
parents:
diff changeset
223 JDK_IMPORT_PATH=$(SLASH_JAVA)/re/j2se/$(JDK_VERSION)/promoted/latest/binaries/$(PLATFORM)
a61af66fc99e Initial load
duke
parents:
diff changeset
224 ifneq ($(ALT_JDK_IMPORT_PATH),)
a61af66fc99e Initial load
duke
parents:
diff changeset
225 JDK_IMPORT_PATH=$(ALT_JDK_IMPORT_PATH)
a61af66fc99e Initial load
duke
parents:
diff changeset
226 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
227
2237
b76d12f4ab2d 7018429: JPRT: Update Makefile to use ALT_JDK_TARGET_IMPORT_PATH for copying JDK
dholmes
parents: 1977
diff changeset
228 # 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
229 # 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
230 # 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
231 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
232 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
233 endif
b76d12f4ab2d 7018429: JPRT: Update Makefile to use ALT_JDK_TARGET_IMPORT_PATH for copying JDK
dholmes
parents: 1977
diff changeset
234
0
a61af66fc99e Initial load
duke
parents:
diff changeset
235 # Find JDK used for javac compiles
a61af66fc99e Initial load
duke
parents:
diff changeset
236 BOOTDIR=$(SLASH_JAVA)/re/j2se/$(PREVIOUS_JDK_VERSION)/latest/binaries/$(PLATFORM)
a61af66fc99e Initial load
duke
parents:
diff changeset
237 ifneq ($(ALT_BOOTDIR),)
a61af66fc99e Initial load
duke
parents:
diff changeset
238 BOOTDIR=$(ALT_BOOTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
239 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
240
4865
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents: 4800
diff changeset
241 # 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
242 EXPORT_PATH=$(OUTPUTDIR)/export-$(PLATFORM)$(EXPORT_SUBDIR)
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents: 4800
diff changeset
243 ifneq ($(ALT_EXPORT_PATH),)
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents: 4800
diff changeset
244 EXPORT_PATH=$(ALT_EXPORT_PATH)
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents: 4800
diff changeset
245 endif
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents: 4800
diff changeset
246
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents: 4800
diff changeset
247 # 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
248 JDK_IMAGE_DIR=$(OUTPUTDIR)/jdk-$(PLATFORM)
4940
f09ae3853e3b 7143766: add ALT_JDK_IMAGE_DIR and improve test_jdk
twisti
parents: 4865
diff changeset
249 ifneq ($(ALT_JDK_IMAGE_DIR),)
f09ae3853e3b 7143766: add ALT_JDK_IMAGE_DIR and improve test_jdk
twisti
parents: 4865
diff changeset
250 JDK_IMAGE_DIR=$(ALT_JDK_IMAGE_DIR)
f09ae3853e3b 7143766: add ALT_JDK_IMAGE_DIR and improve test_jdk
twisti
parents: 4865
diff changeset
251 endif
4865
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents: 4800
diff changeset
252
10405
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents: 8780
diff changeset
253 # The platform dependent defs.make defines platform specific variable such
0
a61af66fc99e Initial load
duke
parents:
diff changeset
254 # 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
255 include $(GAMMADIR)/make/$(OSNAME)/makefiles/defs.make
0
a61af66fc99e Initial load
duke
parents:
diff changeset
256
a61af66fc99e Initial load
duke
parents:
diff changeset
257 # 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
258 # files to make/$(OSNAME)/makefiles dictory. However
0
a61af66fc99e Initial load
duke
parents:
diff changeset
259 # some definitions are common for both linux and solaris,
a61af66fc99e Initial load
duke
parents:
diff changeset
260 # so we put them here.
a61af66fc99e Initial load
duke
parents:
diff changeset
261 ifneq ($(OSNAME),windows)
91
a294fd0c4b38 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 0
diff changeset
262 ABS_OUTPUTDIR := $(shell mkdir -p $(OUTPUTDIR); $(CD) $(OUTPUTDIR); $(PWD))
0
a61af66fc99e Initial load
duke
parents:
diff changeset
263 ABS_BOOTDIR := $(shell $(CD) $(BOOTDIR); $(PWD))
a61af66fc99e Initial load
duke
parents:
diff changeset
264 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
265 ABS_OS_MAKEFILE := $(shell $(CD) $(HS_MAKE_DIR)/$(OSNAME); $(PWD))/Makefile
0
a61af66fc99e Initial load
duke
parents:
diff changeset
266
a61af66fc99e Initial load
duke
parents:
diff changeset
267 # uname, HotSpot source directory, build directory and JDK use different names
a61af66fc99e Initial load
duke
parents:
diff changeset
268 # for CPU architectures.
a61af66fc99e Initial load
duke
parents:
diff changeset
269 # ARCH - uname output
a61af66fc99e Initial load
duke
parents:
diff changeset
270 # SRCARCH - where to find HotSpot cpu and os_cpu source files
a61af66fc99e Initial load
duke
parents:
diff changeset
271 # BUILDARCH - build directory
a61af66fc99e Initial load
duke
parents:
diff changeset
272 # LIBARCH - directory name in JDK/JRE
a61af66fc99e Initial load
duke
parents:
diff changeset
273
a61af66fc99e Initial load
duke
parents:
diff changeset
274 # Use uname output for SRCARCH, but deal with platform differences. If ARCH
10405
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents: 8780
diff changeset
275 # is not explicitly listed below, it is treated as x86.
14402
faf0c78e906b 8019922: PPC64 (part 8): Implement Linux/PPC64 support in HotSpot makefiles
simonis
parents: 10405
diff changeset
276 SRCARCH = $(ARCH/$(filter sparc sparc64 ia64 amd64 x86_64 arm ppc ppc64 zero,$(ARCH)))
0
a61af66fc99e Initial load
duke
parents:
diff changeset
277 ARCH/ = x86
a61af66fc99e Initial load
duke
parents:
diff changeset
278 ARCH/sparc = sparc
a61af66fc99e Initial load
duke
parents:
diff changeset
279 ARCH/sparc64= sparc
a61af66fc99e Initial load
duke
parents:
diff changeset
280 ARCH/ia64 = ia64
a61af66fc99e Initial load
duke
parents:
diff changeset
281 ARCH/amd64 = x86
a61af66fc99e Initial load
duke
parents:
diff changeset
282 ARCH/x86_64 = x86
1681
126ea7725993 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 1552
diff changeset
283 ARCH/ppc64 = ppc
126ea7725993 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 1552
diff changeset
284 ARCH/ppc = ppc
126ea7725993 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 1552
diff changeset
285 ARCH/arm = arm
1010
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents: 235
diff changeset
286 ARCH/zero = zero
0
a61af66fc99e Initial load
duke
parents:
diff changeset
287
a61af66fc99e Initial load
duke
parents:
diff changeset
288 # BUILDARCH is usually the same as SRCARCH, except for sparcv9
a61af66fc99e Initial load
duke
parents:
diff changeset
289 BUILDARCH = $(SRCARCH)
a61af66fc99e Initial load
duke
parents:
diff changeset
290 ifeq ($(BUILDARCH), x86)
a61af66fc99e Initial load
duke
parents:
diff changeset
291 ifdef LP64
a61af66fc99e Initial load
duke
parents:
diff changeset
292 BUILDARCH = amd64
a61af66fc99e Initial load
duke
parents:
diff changeset
293 else
a61af66fc99e Initial load
duke
parents:
diff changeset
294 BUILDARCH = i486
a61af66fc99e Initial load
duke
parents:
diff changeset
295 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
296 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
297 ifeq ($(BUILDARCH), sparc)
a61af66fc99e Initial load
duke
parents:
diff changeset
298 ifdef LP64
a61af66fc99e Initial load
duke
parents:
diff changeset
299 BUILDARCH = sparcv9
a61af66fc99e Initial load
duke
parents:
diff changeset
300 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
301 endif
14402
faf0c78e906b 8019922: PPC64 (part 8): Implement Linux/PPC64 support in HotSpot makefiles
simonis
parents: 10405
diff changeset
302 ifeq ($(BUILDARCH), ppc)
faf0c78e906b 8019922: PPC64 (part 8): Implement Linux/PPC64 support in HotSpot makefiles
simonis
parents: 10405
diff changeset
303 ifdef LP64
faf0c78e906b 8019922: PPC64 (part 8): Implement Linux/PPC64 support in HotSpot makefiles
simonis
parents: 10405
diff changeset
304 BUILDARCH = ppc64
faf0c78e906b 8019922: PPC64 (part 8): Implement Linux/PPC64 support in HotSpot makefiles
simonis
parents: 10405
diff changeset
305 endif
faf0c78e906b 8019922: PPC64 (part 8): Implement Linux/PPC64 support in HotSpot makefiles
simonis
parents: 10405
diff changeset
306 endif
0
a61af66fc99e Initial load
duke
parents:
diff changeset
307
a61af66fc99e Initial load
duke
parents:
diff changeset
308 # LIBARCH is 1:1 mapping from BUILDARCH
a61af66fc99e Initial load
duke
parents:
diff changeset
309 LIBARCH = $(LIBARCH/$(BUILDARCH))
a61af66fc99e Initial load
duke
parents:
diff changeset
310 LIBARCH/i486 = i386
a61af66fc99e Initial load
duke
parents:
diff changeset
311 LIBARCH/amd64 = amd64
a61af66fc99e Initial load
duke
parents:
diff changeset
312 LIBARCH/sparc = sparc
a61af66fc99e Initial load
duke
parents:
diff changeset
313 LIBARCH/sparcv9 = sparcv9
a61af66fc99e Initial load
duke
parents:
diff changeset
314 LIBARCH/ia64 = ia64
14402
faf0c78e906b 8019922: PPC64 (part 8): Implement Linux/PPC64 support in HotSpot makefiles
simonis
parents: 10405
diff changeset
315 LIBARCH/ppc64 = ppc64
1681
126ea7725993 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 1552
diff changeset
316 LIBARCH/ppc = ppc
126ea7725993 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 1552
diff changeset
317 LIBARCH/arm = arm
1010
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents: 235
diff changeset
318 LIBARCH/zero = $(ZERO_LIBARCH)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
319
14402
faf0c78e906b 8019922: PPC64 (part 8): Implement Linux/PPC64 support in HotSpot makefiles
simonis
parents: 10405
diff changeset
320 LP64_ARCH = sparcv9 amd64 ia64 ppc64 zero
0
a61af66fc99e Initial load
duke
parents:
diff changeset
321 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
322
a61af66fc99e Initial load
duke
parents:
diff changeset
323 # Required make macro settings for all platforms
8780
98f3af397705 8006965: remove test_gamma and add dedicated test_* targets instead
twisti
parents: 6854
diff changeset
324 MAKE_ARGS += BOOTDIR=$(ABS_BOOTDIR)
228
f232d7d67023 6717128: Using relative path for ALT_OUTPUTDIR does not work properly
xlu
parents: 198
diff changeset
325 MAKE_ARGS += OUTPUTDIR=$(ABS_OUTPUTDIR)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
326 MAKE_ARGS += GAMMADIR=$(ABS_GAMMADIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
327 MAKE_ARGS += MAKE_VERBOSE=$(MAKE_VERBOSE)
a61af66fc99e Initial load
duke
parents:
diff changeset
328 MAKE_ARGS += HOTSPOT_RELEASE_VERSION=$(HOTSPOT_RELEASE_VERSION)
a61af66fc99e Initial load
duke
parents:
diff changeset
329 MAKE_ARGS += JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION)
a61af66fc99e Initial load
duke
parents:
diff changeset
330
a61af66fc99e Initial load
duke
parents:
diff changeset
331 # Pass HOTSPOT_BUILD_VERSION as argument to OS specific Makefile
a61af66fc99e Initial load
duke
parents:
diff changeset
332 # to overwrite the default definition since OS specific Makefile also
a61af66fc99e Initial load
duke
parents:
diff changeset
333 # includes this make/defs.make file.
a61af66fc99e Initial load
duke
parents:
diff changeset
334 MAKE_ARGS += HOTSPOT_BUILD_VERSION=$(HOTSPOT_BUILD_VERSION)
a61af66fc99e Initial load
duke
parents:
diff changeset
335
a61af66fc99e Initial load
duke
parents:
diff changeset
336 # Various export sub directories
a61af66fc99e Initial load
duke
parents:
diff changeset
337 EXPORT_INCLUDE_DIR = $(EXPORT_PATH)/include
a61af66fc99e Initial load
duke
parents:
diff changeset
338 EXPORT_DOCS_DIR = $(EXPORT_PATH)/docs
a61af66fc99e Initial load
duke
parents:
diff changeset
339 EXPORT_LIB_DIR = $(EXPORT_PATH)/lib
a61af66fc99e Initial load
duke
parents:
diff changeset
340 EXPORT_JRE_DIR = $(EXPORT_PATH)/jre
a61af66fc99e Initial load
duke
parents:
diff changeset
341 EXPORT_JRE_BIN_DIR = $(EXPORT_JRE_DIR)/bin
a61af66fc99e Initial load
duke
parents:
diff changeset
342 EXPORT_JRE_LIB_DIR = $(EXPORT_JRE_DIR)/lib
a61af66fc99e Initial load
duke
parents:
diff changeset
343 EXPORT_JRE_LIB_ARCH_DIR = $(EXPORT_JRE_LIB_DIR)/$(LIBARCH)
a61af66fc99e Initial load
duke
parents:
diff changeset
344
4006
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 3960
diff changeset
345 # non-universal macosx builds need to appear universal
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 3960
diff changeset
346 ifeq ($(OS_VENDOR), Darwin)
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 3960
diff changeset
347 ifneq ($(MACOSX_UNIVERSAL), true)
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 3960
diff changeset
348 EXPORT_JRE_LIB_ARCH_DIR = $(EXPORT_JRE_LIB_DIR)
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 3960
diff changeset
349 endif
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 3960
diff changeset
350 endif
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 3960
diff changeset
351
0
a61af66fc99e Initial load
duke
parents:
diff changeset
352 # Common export list of files
a61af66fc99e Initial load
duke
parents:
diff changeset
353 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
354 EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jvmticmlr.h
0
a61af66fc99e Initial load
duke
parents:
diff changeset
355 EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jni.h
a61af66fc99e Initial load
duke
parents:
diff changeset
356 EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/$(JDK_INCLUDE_SUBDIR)/jni_md.h
a61af66fc99e Initial load
duke
parents:
diff changeset
357 EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jmm.h
4800
94ec88ca68e2 7115199: Add event tracing hooks and Java Flight Recorder infrastructure
phh
parents: 4006
diff changeset
358
10405
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents: 8780
diff changeset
359 .PHONY: $(HS_ALT_MAKE)/defs.make
6641
a9fed06c01d2 7154641: Servicability agent should work on platforms other than x86, sparc
bpittore
parents: 5946
diff changeset
360