annotate make/linux/makefiles/buildtree.make @ 1994:6cd6d394f280

7001033: assert(gch->gc_cause() == GCCause::_scavenge_alot || !gch->incremental_collection_failed()) 7002546: regression on SpecJbb2005 on 7b118 comparing to 7b117 on small heaps Summary: Relaxed assertion checking related to incremental_collection_failed flag to allow for ExplicitGCInvokesConcurrent behaviour where we do not want a failing scavenge to bail to a stop-world collection. Parameterized incremental_collection_will_fail() so we can selectively use, or not use, as appropriate, the statistical prediction at specific use sites. This essentially reverts the scavenge bail-out logic to what it was prior to some recent changes that had inadvertently started using the statistical prediction which can be noisy in the presence of bursty loads. Added some associated verbose non-product debugging messages. Reviewed-by: johnc, tonyp
author ysr
date Tue, 07 Dec 2010 21:55:53 -0800
parents f95d63e2154a
children 2ca799d83d3c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1 #
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1681
diff changeset
2 # Copyright (c) 2005, 2010, 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: 1010
diff changeset
19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 1010
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: 1010
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
a61af66fc99e Initial load
duke
parents:
diff changeset
25 # Usage:
a61af66fc99e Initial load
duke
parents:
diff changeset
26 #
a61af66fc99e Initial load
duke
parents:
diff changeset
27 # $(MAKE) -f buildtree.make ARCH=arch BUILDARCH=buildarch LIBARCH=libarch
a61af66fc99e Initial load
duke
parents:
diff changeset
28 # GAMMADIR=dir OS_FAMILY=os VARIANT=variant
a61af66fc99e Initial load
duke
parents:
diff changeset
29 #
a61af66fc99e Initial load
duke
parents:
diff changeset
30 # The macros ARCH, GAMMADIR, OS_FAMILY and VARIANT must be defined in the
a61af66fc99e Initial load
duke
parents:
diff changeset
31 # environment or on the command-line:
a61af66fc99e Initial load
duke
parents:
diff changeset
32 #
a61af66fc99e Initial load
duke
parents:
diff changeset
33 # ARCH - sparc, i486, ... HotSpot cpu and os_cpu source directory
a61af66fc99e Initial load
duke
parents:
diff changeset
34 # BUILDARCH - build directory
a61af66fc99e Initial load
duke
parents:
diff changeset
35 # LIBARCH - the corresponding directory in JDK/JRE
a61af66fc99e Initial load
duke
parents:
diff changeset
36 # GAMMADIR - top of workspace
a61af66fc99e Initial load
duke
parents:
diff changeset
37 # OS_FAMILY - operating system
a61af66fc99e Initial load
duke
parents:
diff changeset
38 # VARIANT - core, compiler1, compiler2, or tiered
a61af66fc99e Initial load
duke
parents:
diff changeset
39 # HOTSPOT_RELEASE_VERSION - <major>.<minor>-b<nn> (11.0-b07)
a61af66fc99e Initial load
duke
parents:
diff changeset
40 # HOTSPOT_BUILD_VERSION - internal, PRTjob ID, JPRTjob ID
a61af66fc99e Initial load
duke
parents:
diff changeset
41 # JRE_RELEASE_VERSION - <major>.<minor>.<micro> (1.7.0)
a61af66fc99e Initial load
duke
parents:
diff changeset
42 #
a61af66fc99e Initial load
duke
parents:
diff changeset
43 # Builds the directory trees with makefiles plus some convenience files in
a61af66fc99e Initial load
duke
parents:
diff changeset
44 # each directory:
a61af66fc99e Initial load
duke
parents:
diff changeset
45 #
a61af66fc99e Initial load
duke
parents:
diff changeset
46 # Makefile - for "make foo"
a61af66fc99e Initial load
duke
parents:
diff changeset
47 # flags.make - with macro settings
a61af66fc99e Initial load
duke
parents:
diff changeset
48 # vm.make - to support making "$(MAKE) -v vm.make" in makefiles
a61af66fc99e Initial load
duke
parents:
diff changeset
49 # adlc.make -
a61af66fc99e Initial load
duke
parents:
diff changeset
50 # jvmti.make - generate JVMTI bindings from the spec (JSR-163)
a61af66fc99e Initial load
duke
parents:
diff changeset
51 # sa.make - generate SA jar file and natives
a61af66fc99e Initial load
duke
parents:
diff changeset
52 # env.[ck]sh - environment settings
a61af66fc99e Initial load
duke
parents:
diff changeset
53 # test_gamma - script to run the Queens program
a61af66fc99e Initial load
duke
parents:
diff changeset
54 #
a61af66fc99e Initial load
duke
parents:
diff changeset
55 # The makefiles are split this way so that "make foo" will run faster by not
a61af66fc99e Initial load
duke
parents:
diff changeset
56 # having to read the dependency files for the vm.
a61af66fc99e Initial load
duke
parents:
diff changeset
57
a61af66fc99e Initial load
duke
parents:
diff changeset
58 include $(GAMMADIR)/make/scm.make
a61af66fc99e Initial load
duke
parents:
diff changeset
59
a61af66fc99e Initial load
duke
parents:
diff changeset
60 # 'gmake MAKE_VERBOSE=y' or 'gmake QUIETLY=' gives all the gory details.
a61af66fc99e Initial load
duke
parents:
diff changeset
61 QUIETLY$(MAKE_VERBOSE) = @
a61af66fc99e Initial load
duke
parents:
diff changeset
62
a61af66fc99e Initial load
duke
parents:
diff changeset
63 # For now, until the compiler is less wobbly:
a61af66fc99e Initial load
duke
parents:
diff changeset
64 TESTFLAGS = -Xbatch -showversion
a61af66fc99e Initial load
duke
parents:
diff changeset
65
1010
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents: 235
diff changeset
66 ifeq ($(ZERO_BUILD), true)
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents: 235
diff changeset
67 PLATFORM_FILE = $(shell dirname $(shell dirname $(shell pwd)))/platform_zero
50
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents: 0
diff changeset
68 else
1010
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents: 235
diff changeset
69 ifdef USE_SUNCC
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents: 235
diff changeset
70 PLATFORM_FILE = $(GAMMADIR)/make/$(OS_FAMILY)/platform_$(BUILDARCH).suncc
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents: 235
diff changeset
71 else
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents: 235
diff changeset
72 PLATFORM_FILE = $(GAMMADIR)/make/$(OS_FAMILY)/platform_$(BUILDARCH)
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents: 235
diff changeset
73 endif
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents: 235
diff changeset
74 endif
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents: 235
diff changeset
75
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents: 235
diff changeset
76 # Allow overriding of the arch part of the directory but default
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents: 235
diff changeset
77 # to BUILDARCH if nothing is specified
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents: 235
diff changeset
78 ifeq ($(VARIANTARCH),)
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents: 235
diff changeset
79 VARIANTARCH=$(BUILDARCH)
50
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents: 0
diff changeset
80 endif
0
a61af66fc99e Initial load
duke
parents:
diff changeset
81
a61af66fc99e Initial load
duke
parents:
diff changeset
82 ifdef FORCE_TIERED
a61af66fc99e Initial load
duke
parents:
diff changeset
83 ifeq ($(VARIANT),tiered)
1010
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents: 235
diff changeset
84 PLATFORM_DIR = $(OS_FAMILY)_$(VARIANTARCH)_compiler2
0
a61af66fc99e Initial load
duke
parents:
diff changeset
85 else
1010
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents: 235
diff changeset
86 PLATFORM_DIR = $(OS_FAMILY)_$(VARIANTARCH)_$(VARIANT)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
87 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
88 else
1010
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents: 235
diff changeset
89 PLATFORM_DIR = $(OS_FAMILY)_$(VARIANTARCH)_$(VARIANT)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
90 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
91
a61af66fc99e Initial load
duke
parents:
diff changeset
92 #
a61af66fc99e Initial load
duke
parents:
diff changeset
93 # We do two levels of exclusion in the shared directory.
a61af66fc99e Initial load
duke
parents:
diff changeset
94 # TOPLEVEL excludes are pruned, they are not recursively searched,
a61af66fc99e Initial load
duke
parents:
diff changeset
95 # but lower level directories can be named without fear of collision.
a61af66fc99e Initial load
duke
parents:
diff changeset
96 # ALWAYS excludes are excluded at any level in the directory tree.
a61af66fc99e Initial load
duke
parents:
diff changeset
97 #
a61af66fc99e Initial load
duke
parents:
diff changeset
98
a61af66fc99e Initial load
duke
parents:
diff changeset
99 ALWAYS_EXCLUDE_DIRS = $(SCM_DIRS)
a61af66fc99e Initial load
duke
parents:
diff changeset
100
a61af66fc99e Initial load
duke
parents:
diff changeset
101 ifeq ($(VARIANT),tiered)
a61af66fc99e Initial load
duke
parents:
diff changeset
102 TOPLEVEL_EXCLUDE_DIRS = $(ALWAYS_EXCLUDE_DIRS) -o -name adlc -o -name agent
a61af66fc99e Initial load
duke
parents:
diff changeset
103 else
a61af66fc99e Initial load
duke
parents:
diff changeset
104 ifeq ($(VARIANT),compiler2)
a61af66fc99e Initial load
duke
parents:
diff changeset
105 TOPLEVEL_EXCLUDE_DIRS = $(ALWAYS_EXCLUDE_DIRS) -o -name adlc -o -name c1 -o -name agent
a61af66fc99e Initial load
duke
parents:
diff changeset
106 else
a61af66fc99e Initial load
duke
parents:
diff changeset
107 # compiler1 and core use the same exclude list
a61af66fc99e Initial load
duke
parents:
diff changeset
108 TOPLEVEL_EXCLUDE_DIRS = $(ALWAYS_EXCLUDE_DIRS) -o -name adlc -o -name opto -o -name libadt -o -name agent
a61af66fc99e Initial load
duke
parents:
diff changeset
109 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
110 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
111
a61af66fc99e Initial load
duke
parents:
diff changeset
112 # Get things from the platform file.
a61af66fc99e Initial load
duke
parents:
diff changeset
113 COMPILER = $(shell sed -n 's/^compiler[ ]*=[ ]*//p' $(PLATFORM_FILE))
a61af66fc99e Initial load
duke
parents:
diff changeset
114
a61af66fc99e Initial load
duke
parents:
diff changeset
115 SIMPLE_DIRS = \
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1681
diff changeset
116 $(PLATFORM_DIR)/generated/dependencies \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
117 $(PLATFORM_DIR)/generated/adfiles \
a61af66fc99e Initial load
duke
parents:
diff changeset
118 $(PLATFORM_DIR)/generated/jvmtifiles
a61af66fc99e Initial load
duke
parents:
diff changeset
119
a61af66fc99e Initial load
duke
parents:
diff changeset
120 TARGETS = debug fastdebug jvmg optimized product profiled
a61af66fc99e Initial load
duke
parents:
diff changeset
121 SUBMAKE_DIRS = $(addprefix $(PLATFORM_DIR)/,$(TARGETS))
a61af66fc99e Initial load
duke
parents:
diff changeset
122
a61af66fc99e Initial load
duke
parents:
diff changeset
123 # For dependencies and recursive makes.
91
a294fd0c4b38 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 50
diff changeset
124 BUILDTREE_MAKE = $(GAMMADIR)/make/$(OS_FAMILY)/makefiles/buildtree.make
0
a61af66fc99e Initial load
duke
parents:
diff changeset
125
a61af66fc99e Initial load
duke
parents:
diff changeset
126 BUILDTREE_TARGETS = Makefile flags.make flags_vm.make vm.make adlc.make jvmti.make sa.make \
a61af66fc99e Initial load
duke
parents:
diff changeset
127 env.sh env.csh .dbxrc test_gamma
a61af66fc99e Initial load
duke
parents:
diff changeset
128
a61af66fc99e Initial load
duke
parents:
diff changeset
129 BUILDTREE_VARS = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OS_FAMILY) \
a61af66fc99e Initial load
duke
parents:
diff changeset
130 ARCH=$(ARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH) VARIANT=$(VARIANT)
a61af66fc99e Initial load
duke
parents:
diff changeset
131
a61af66fc99e Initial load
duke
parents:
diff changeset
132 # Define variables to be set in flags.make.
a61af66fc99e Initial load
duke
parents:
diff changeset
133 # Default values are set in make/defs.make.
a61af66fc99e Initial load
duke
parents:
diff changeset
134 ifeq ($(HOTSPOT_BUILD_VERSION),)
a61af66fc99e Initial load
duke
parents:
diff changeset
135 HS_BUILD_VER=$(HOTSPOT_RELEASE_VERSION)
a61af66fc99e Initial load
duke
parents:
diff changeset
136 else
a61af66fc99e Initial load
duke
parents:
diff changeset
137 HS_BUILD_VER=$(HOTSPOT_RELEASE_VERSION)-$(HOTSPOT_BUILD_VERSION)
a61af66fc99e Initial load
duke
parents:
diff changeset
138 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
139 # Set BUILD_USER from system-dependent hints: $LOGNAME, $(whoami)
a61af66fc99e Initial load
duke
parents:
diff changeset
140 ifndef HOTSPOT_BUILD_USER
a61af66fc99e Initial load
duke
parents:
diff changeset
141 HOTSPOT_BUILD_USER := $(shell echo $$LOGNAME)
a61af66fc99e Initial load
duke
parents:
diff changeset
142 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
143 ifndef HOTSPOT_BUILD_USER
a61af66fc99e Initial load
duke
parents:
diff changeset
144 HOTSPOT_BUILD_USER := $(shell whoami)
a61af66fc99e Initial load
duke
parents:
diff changeset
145 endif
91
a294fd0c4b38 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 50
diff changeset
146 # Define HOTSPOT_VM_DISTRO based on settings in make/openjdk_distro
a294fd0c4b38 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 50
diff changeset
147 # or make/hotspot_distro.
0
a61af66fc99e Initial load
duke
parents:
diff changeset
148 ifndef HOTSPOT_VM_DISTRO
a61af66fc99e Initial load
duke
parents:
diff changeset
149 CLOSED_DIR_EXISTS := $(shell \
91
a294fd0c4b38 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 50
diff changeset
150 if [ -d $(GAMMADIR)/src/closed ] ; then \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
151 echo true; \
a61af66fc99e Initial load
duke
parents:
diff changeset
152 else \
a61af66fc99e Initial load
duke
parents:
diff changeset
153 echo false; \
a61af66fc99e Initial load
duke
parents:
diff changeset
154 fi)
a61af66fc99e Initial load
duke
parents:
diff changeset
155 ifeq ($(CLOSED_DIR_EXISTS), true)
91
a294fd0c4b38 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 50
diff changeset
156 include $(GAMMADIR)/make/hotspot_distro
0
a61af66fc99e Initial load
duke
parents:
diff changeset
157 else
91
a294fd0c4b38 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 50
diff changeset
158 include $(GAMMADIR)/make/openjdk_distro
0
a61af66fc99e Initial load
duke
parents:
diff changeset
159 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
160 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
161
a61af66fc99e Initial load
duke
parents:
diff changeset
162 BUILDTREE_VARS += HOTSPOT_RELEASE_VERSION=$(HS_BUILD_VER) HOTSPOT_BUILD_VERSION= JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION)
a61af66fc99e Initial load
duke
parents:
diff changeset
163
a61af66fc99e Initial load
duke
parents:
diff changeset
164 BUILDTREE = \
a61af66fc99e Initial load
duke
parents:
diff changeset
165 $(MAKE) -f $(BUILDTREE_MAKE) $(BUILDTREE_TARGETS) $(BUILDTREE_VARS)
a61af66fc99e Initial load
duke
parents:
diff changeset
166
a61af66fc99e Initial load
duke
parents:
diff changeset
167 BUILDTREE_COMMENT = echo "\# Generated by $(BUILDTREE_MAKE)"
a61af66fc99e Initial load
duke
parents:
diff changeset
168
a61af66fc99e Initial load
duke
parents:
diff changeset
169 all: $(SUBMAKE_DIRS)
a61af66fc99e Initial load
duke
parents:
diff changeset
170
a61af66fc99e Initial load
duke
parents:
diff changeset
171 # Run make in each subdirectory recursively.
a61af66fc99e Initial load
duke
parents:
diff changeset
172 $(SUBMAKE_DIRS): $(SIMPLE_DIRS) FORCE
a61af66fc99e Initial load
duke
parents:
diff changeset
173 $(QUIETLY) [ -d $@ ] || { mkdir -p $@; }
a61af66fc99e Initial load
duke
parents:
diff changeset
174 $(QUIETLY) cd $@ && $(BUILDTREE) TARGET=$(@F)
a61af66fc99e Initial load
duke
parents:
diff changeset
175 $(QUIETLY) touch $@
a61af66fc99e Initial load
duke
parents:
diff changeset
176
a61af66fc99e Initial load
duke
parents:
diff changeset
177 $(SIMPLE_DIRS):
a61af66fc99e Initial load
duke
parents:
diff changeset
178 $(QUIETLY) mkdir -p $@
a61af66fc99e Initial load
duke
parents:
diff changeset
179
a61af66fc99e Initial load
duke
parents:
diff changeset
180 flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
a61af66fc99e Initial load
duke
parents:
diff changeset
181 @echo Creating $@ ...
a61af66fc99e Initial load
duke
parents:
diff changeset
182 $(QUIETLY) ( \
a61af66fc99e Initial load
duke
parents:
diff changeset
183 $(BUILDTREE_COMMENT); \
a61af66fc99e Initial load
duke
parents:
diff changeset
184 echo; \
a61af66fc99e Initial load
duke
parents:
diff changeset
185 echo "Platform_file = $(PLATFORM_FILE)" | sed 's|$(GAMMADIR)|$$(GAMMADIR)|'; \
a61af66fc99e Initial load
duke
parents:
diff changeset
186 sed -n '/=/s/^ */Platform_/p' < $(PLATFORM_FILE); \
a61af66fc99e Initial load
duke
parents:
diff changeset
187 echo; \
a61af66fc99e Initial load
duke
parents:
diff changeset
188 echo "GAMMADIR = $(GAMMADIR)"; \
a61af66fc99e Initial load
duke
parents:
diff changeset
189 echo "SYSDEFS = \$$(Platform_sysdefs)"; \
a61af66fc99e Initial load
duke
parents:
diff changeset
190 echo "SRCARCH = $(ARCH)"; \
a61af66fc99e Initial load
duke
parents:
diff changeset
191 echo "BUILDARCH = $(BUILDARCH)"; \
a61af66fc99e Initial load
duke
parents:
diff changeset
192 echo "LIBARCH = $(LIBARCH)"; \
a61af66fc99e Initial load
duke
parents:
diff changeset
193 echo "TARGET = $(TARGET)"; \
a61af66fc99e Initial load
duke
parents:
diff changeset
194 echo "HS_BUILD_VER = $(HS_BUILD_VER)"; \
a61af66fc99e Initial load
duke
parents:
diff changeset
195 echo "JRE_RELEASE_VER = $(JRE_RELEASE_VERSION)"; \
a61af66fc99e Initial load
duke
parents:
diff changeset
196 echo "SA_BUILD_VERSION = $(HS_BUILD_VER)"; \
a61af66fc99e Initial load
duke
parents:
diff changeset
197 echo "HOTSPOT_BUILD_USER = $(HOTSPOT_BUILD_USER)"; \
a61af66fc99e Initial load
duke
parents:
diff changeset
198 echo "HOTSPOT_VM_DISTRO = $(HOTSPOT_VM_DISTRO)"; \
a61af66fc99e Initial load
duke
parents:
diff changeset
199 echo; \
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1681
diff changeset
200 echo "# Used for platform dispatching"; \
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1681
diff changeset
201 echo "TARGET_DEFINES = -DTARGET_OS_FAMILY_\$$(Platform_os_family)"; \
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1681
diff changeset
202 echo "TARGET_DEFINES += -DTARGET_ARCH_\$$(Platform_arch)"; \
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1681
diff changeset
203 echo "TARGET_DEFINES += -DTARGET_ARCH_MODEL_\$$(Platform_arch_model)"; \
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1681
diff changeset
204 echo "TARGET_DEFINES += -DTARGET_OS_ARCH_\$$(Platform_os_arch)"; \
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1681
diff changeset
205 echo "TARGET_DEFINES += -DTARGET_OS_ARCH_MODEL_\$$(Platform_os_arch_model)"; \
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1681
diff changeset
206 echo "TARGET_DEFINES += -DTARGET_COMPILER_\$$(Platform_compiler)"; \
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1681
diff changeset
207 echo "CFLAGS += \$$(TARGET_DEFINES)"; \
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1681
diff changeset
208 echo; \
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1681
diff changeset
209 echo "Src_Dirs_V = \\"; \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
210 sed 's/$$/ \\/;s|$(GAMMADIR)|$$(GAMMADIR)|' ../shared_dirs.lst; \
a61af66fc99e Initial load
duke
parents:
diff changeset
211 echo "\$$(GAMMADIR)/src/cpu/$(ARCH)/vm \\"; \
a61af66fc99e Initial load
duke
parents:
diff changeset
212 echo "\$$(GAMMADIR)/src/os/$(OS_FAMILY)/vm \\"; \
a61af66fc99e Initial load
duke
parents:
diff changeset
213 echo "\$$(GAMMADIR)/src/os_cpu/$(OS_FAMILY)_$(ARCH)/vm"; \
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1681
diff changeset
214 echo; \
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1681
diff changeset
215 echo "Src_Dirs_I = \\"; \
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1681
diff changeset
216 echo "\$$(GAMMADIR)/src/share/vm \\"; \
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1681
diff changeset
217 echo "\$$(GAMMADIR)/src/share/vm/prims \\"; \
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1681
diff changeset
218 echo "\$$(GAMMADIR)/src/cpu/$(ARCH)/vm \\"; \
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1681
diff changeset
219 echo "\$$(GAMMADIR)/src/os/$(OS_FAMILY)/vm \\"; \
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1681
diff changeset
220 echo "\$$(GAMMADIR)/src/os_cpu/$(OS_FAMILY)_$(ARCH)/vm"; \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
221 [ -n "$(CFLAGS_BROWSE)" ] && \
a61af66fc99e Initial load
duke
parents:
diff changeset
222 echo && echo "CFLAGS_BROWSE = $(CFLAGS_BROWSE)"; \
a61af66fc99e Initial load
duke
parents:
diff changeset
223 [ -n "$(HOTSPOT_EXTRA_SYSDEFS)" ] && \
a61af66fc99e Initial load
duke
parents:
diff changeset
224 echo && \
a61af66fc99e Initial load
duke
parents:
diff changeset
225 echo "HOTSPOT_EXTRA_SYSDEFS\$$(HOTSPOT_EXTRA_SYSDEFS) = $(HOTSPOT_EXTRA_SYSDEFS)" && \
a61af66fc99e Initial load
duke
parents:
diff changeset
226 echo "SYSDEFS += \$$(HOTSPOT_EXTRA_SYSDEFS)"; \
a61af66fc99e Initial load
duke
parents:
diff changeset
227 echo; \
91
a294fd0c4b38 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 50
diff changeset
228 echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(VARIANT).make"; \
a294fd0c4b38 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 50
diff changeset
229 echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(COMPILER).make"; \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
230 ) > $@
a61af66fc99e Initial load
duke
parents:
diff changeset
231
a61af66fc99e Initial load
duke
parents:
diff changeset
232 flags_vm.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
a61af66fc99e Initial load
duke
parents:
diff changeset
233 @echo Creating $@ ...
a61af66fc99e Initial load
duke
parents:
diff changeset
234 $(QUIETLY) ( \
a61af66fc99e Initial load
duke
parents:
diff changeset
235 $(BUILDTREE_COMMENT); \
a61af66fc99e Initial load
duke
parents:
diff changeset
236 echo; \
a61af66fc99e Initial load
duke
parents:
diff changeset
237 [ "$(TARGET)" = profiled ] && \
91
a294fd0c4b38 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 50
diff changeset
238 echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/optimized.make"; \
a294fd0c4b38 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 50
diff changeset
239 echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(TARGET).make"; \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
240 ) > $@
a61af66fc99e Initial load
duke
parents:
diff changeset
241
a61af66fc99e Initial load
duke
parents:
diff changeset
242 ../shared_dirs.lst: $(BUILDTREE_MAKE) $(GAMMADIR)/src/share/vm
a61af66fc99e Initial load
duke
parents:
diff changeset
243 @echo Creating directory list $@
a61af66fc99e Initial load
duke
parents:
diff changeset
244 $(QUIETLY) find $(GAMMADIR)/src/share/vm/* -prune \
a61af66fc99e Initial load
duke
parents:
diff changeset
245 -type d \! \( $(TOPLEVEL_EXCLUDE_DIRS) \) -exec find {} \
a61af66fc99e Initial load
duke
parents:
diff changeset
246 \( $(ALWAYS_EXCLUDE_DIRS) \) -prune -o -type d -print \; > $@
a61af66fc99e Initial load
duke
parents:
diff changeset
247
a61af66fc99e Initial load
duke
parents:
diff changeset
248 Makefile: $(BUILDTREE_MAKE)
a61af66fc99e Initial load
duke
parents:
diff changeset
249 @echo Creating $@ ...
a61af66fc99e Initial load
duke
parents:
diff changeset
250 $(QUIETLY) ( \
a61af66fc99e Initial load
duke
parents:
diff changeset
251 $(BUILDTREE_COMMENT); \
a61af66fc99e Initial load
duke
parents:
diff changeset
252 echo; \
a61af66fc99e Initial load
duke
parents:
diff changeset
253 echo include flags.make; \
a61af66fc99e Initial load
duke
parents:
diff changeset
254 echo; \
91
a294fd0c4b38 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 50
diff changeset
255 echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/top.make"; \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
256 ) > $@
a61af66fc99e Initial load
duke
parents:
diff changeset
257
a61af66fc99e Initial load
duke
parents:
diff changeset
258 vm.make: $(BUILDTREE_MAKE)
a61af66fc99e Initial load
duke
parents:
diff changeset
259 @echo Creating $@ ...
a61af66fc99e Initial load
duke
parents:
diff changeset
260 $(QUIETLY) ( \
a61af66fc99e Initial load
duke
parents:
diff changeset
261 $(BUILDTREE_COMMENT); \
a61af66fc99e Initial load
duke
parents:
diff changeset
262 echo; \
a61af66fc99e Initial load
duke
parents:
diff changeset
263 echo include flags.make; \
a61af66fc99e Initial load
duke
parents:
diff changeset
264 echo include flags_vm.make; \
a61af66fc99e Initial load
duke
parents:
diff changeset
265 echo; \
91
a294fd0c4b38 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 50
diff changeset
266 echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(@F)"; \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
267 ) > $@
a61af66fc99e Initial load
duke
parents:
diff changeset
268
a61af66fc99e Initial load
duke
parents:
diff changeset
269 adlc.make: $(BUILDTREE_MAKE)
a61af66fc99e Initial load
duke
parents:
diff changeset
270 @echo Creating $@ ...
a61af66fc99e Initial load
duke
parents:
diff changeset
271 $(QUIETLY) ( \
a61af66fc99e Initial load
duke
parents:
diff changeset
272 $(BUILDTREE_COMMENT); \
a61af66fc99e Initial load
duke
parents:
diff changeset
273 echo; \
a61af66fc99e Initial load
duke
parents:
diff changeset
274 echo include flags.make; \
a61af66fc99e Initial load
duke
parents:
diff changeset
275 echo; \
91
a294fd0c4b38 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 50
diff changeset
276 echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(@F)"; \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
277 ) > $@
a61af66fc99e Initial load
duke
parents:
diff changeset
278
a61af66fc99e Initial load
duke
parents:
diff changeset
279 jvmti.make: $(BUILDTREE_MAKE)
a61af66fc99e Initial load
duke
parents:
diff changeset
280 @echo Creating $@ ...
a61af66fc99e Initial load
duke
parents:
diff changeset
281 $(QUIETLY) ( \
a61af66fc99e Initial load
duke
parents:
diff changeset
282 $(BUILDTREE_COMMENT); \
a61af66fc99e Initial load
duke
parents:
diff changeset
283 echo; \
a61af66fc99e Initial load
duke
parents:
diff changeset
284 echo include flags.make; \
a61af66fc99e Initial load
duke
parents:
diff changeset
285 echo; \
91
a294fd0c4b38 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 50
diff changeset
286 echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(@F)"; \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
287 ) > $@
a61af66fc99e Initial load
duke
parents:
diff changeset
288
a61af66fc99e Initial load
duke
parents:
diff changeset
289 sa.make: $(BUILDTREE_MAKE)
a61af66fc99e Initial load
duke
parents:
diff changeset
290 @echo Creating $@ ...
a61af66fc99e Initial load
duke
parents:
diff changeset
291 $(QUIETLY) ( \
a61af66fc99e Initial load
duke
parents:
diff changeset
292 $(BUILDTREE_COMMENT); \
a61af66fc99e Initial load
duke
parents:
diff changeset
293 echo; \
a61af66fc99e Initial load
duke
parents:
diff changeset
294 echo include flags.make; \
a61af66fc99e Initial load
duke
parents:
diff changeset
295 echo; \
91
a294fd0c4b38 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 50
diff changeset
296 echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(@F)"; \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
297 ) > $@
a61af66fc99e Initial load
duke
parents:
diff changeset
298
a61af66fc99e Initial load
duke
parents:
diff changeset
299 env.sh: $(BUILDTREE_MAKE)
a61af66fc99e Initial load
duke
parents:
diff changeset
300 @echo Creating $@ ...
a61af66fc99e Initial load
duke
parents:
diff changeset
301 $(QUIETLY) ( \
a61af66fc99e Initial load
duke
parents:
diff changeset
302 $(BUILDTREE_COMMENT); \
a61af66fc99e Initial load
duke
parents:
diff changeset
303 [ -n "$$JAVA_HOME" ] && { echo ": \$${JAVA_HOME:=$${JAVA_HOME}}"; }; \
a61af66fc99e Initial load
duke
parents:
diff changeset
304 { \
a61af66fc99e Initial load
duke
parents:
diff changeset
305 echo "LD_LIBRARY_PATH=.:$${LD_LIBRARY_PATH:+$$LD_LIBRARY_PATH:}\$${JAVA_HOME}/jre/lib/${LIBARCH}/native_threads:\$${JAVA_HOME}/jre/lib/${LIBARCH}:${GCC_LIB}"; \
a61af66fc99e Initial load
duke
parents:
diff changeset
306 echo "CLASSPATH=$${CLASSPATH:+$$CLASSPATH:}.:\$${JAVA_HOME}/jre/lib/rt.jar:\$${JAVA_HOME}/jre/lib/i18n.jar"; \
a61af66fc99e Initial load
duke
parents:
diff changeset
307 } | sed s:$${JAVA_HOME:--------}:\$${JAVA_HOME}:g; \
a61af66fc99e Initial load
duke
parents:
diff changeset
308 echo "HOTSPOT_BUILD_USER=\"$${LOGNAME:-$$USER} in `basename $(GAMMADIR)`\""; \
a61af66fc99e Initial load
duke
parents:
diff changeset
309 echo "export JAVA_HOME LD_LIBRARY_PATH CLASSPATH HOTSPOT_BUILD_USER"; \
a61af66fc99e Initial load
duke
parents:
diff changeset
310 ) > $@
a61af66fc99e Initial load
duke
parents:
diff changeset
311
a61af66fc99e Initial load
duke
parents:
diff changeset
312 env.csh: env.sh
a61af66fc99e Initial load
duke
parents:
diff changeset
313 @echo Creating $@ ...
a61af66fc99e Initial load
duke
parents:
diff changeset
314 $(QUIETLY) ( \
a61af66fc99e Initial load
duke
parents:
diff changeset
315 $(BUILDTREE_COMMENT); \
a61af66fc99e Initial load
duke
parents:
diff changeset
316 [ -n "$$JAVA_HOME" ] && \
a61af66fc99e Initial load
duke
parents:
diff changeset
317 { echo "if (! \$$?JAVA_HOME) setenv JAVA_HOME \"$$JAVA_HOME\""; }; \
a61af66fc99e Initial load
duke
parents:
diff changeset
318 sed -n 's/^\([A-Za-z_][A-Za-z0-9_]*\)=/setenv \1 /p' $?; \
a61af66fc99e Initial load
duke
parents:
diff changeset
319 ) > $@
a61af66fc99e Initial load
duke
parents:
diff changeset
320
a61af66fc99e Initial load
duke
parents:
diff changeset
321 .dbxrc: $(BUILDTREE_MAKE)
a61af66fc99e Initial load
duke
parents:
diff changeset
322 @echo Creating $@ ...
a61af66fc99e Initial load
duke
parents:
diff changeset
323 $(QUIETLY) ( \
a61af66fc99e Initial load
duke
parents:
diff changeset
324 echo "echo '# Loading $(PLATFORM_DIR)/$(TARGET)/.dbxrc'"; \
a61af66fc99e Initial load
duke
parents:
diff changeset
325 echo "if [ -f \"\$${HOTSPOT_DBXWARE}\" ]"; \
a61af66fc99e Initial load
duke
parents:
diff changeset
326 echo "then"; \
a61af66fc99e Initial load
duke
parents:
diff changeset
327 echo " source \"\$${HOTSPOT_DBXWARE}\""; \
a61af66fc99e Initial load
duke
parents:
diff changeset
328 echo "elif [ -f \"\$$HOME/.dbxrc\" ]"; \
a61af66fc99e Initial load
duke
parents:
diff changeset
329 echo "then"; \
a61af66fc99e Initial load
duke
parents:
diff changeset
330 echo " source \"\$$HOME/.dbxrc\""; \
a61af66fc99e Initial load
duke
parents:
diff changeset
331 echo "fi"; \
a61af66fc99e Initial load
duke
parents:
diff changeset
332 ) > $@
a61af66fc99e Initial load
duke
parents:
diff changeset
333
a61af66fc99e Initial load
duke
parents:
diff changeset
334 # Skip the test for product builds (which only work when installed in a JDK), to
a61af66fc99e Initial load
duke
parents:
diff changeset
335 # avoid exiting with an error and causing make to halt.
a61af66fc99e Initial load
duke
parents:
diff changeset
336 NO_TEST_MSG = \
a61af66fc99e Initial load
duke
parents:
diff changeset
337 echo "$@: skipping the test--this build must be tested in a JDK."
a61af66fc99e Initial load
duke
parents:
diff changeset
338
a61af66fc99e Initial load
duke
parents:
diff changeset
339 NO_JAVA_HOME_MSG = \
a61af66fc99e Initial load
duke
parents:
diff changeset
340 echo "JAVA_HOME must be set to run this test."
a61af66fc99e Initial load
duke
parents:
diff changeset
341
a61af66fc99e Initial load
duke
parents:
diff changeset
342 DATA_MODE = $(DATA_MODE/$(BUILDARCH))
a61af66fc99e Initial load
duke
parents:
diff changeset
343 JAVA_FLAG = $(JAVA_FLAG/$(DATA_MODE))
a61af66fc99e Initial load
duke
parents:
diff changeset
344
a61af66fc99e Initial load
duke
parents:
diff changeset
345 DATA_MODE/i486 = 32
a61af66fc99e Initial load
duke
parents:
diff changeset
346 DATA_MODE/sparc = 32
a61af66fc99e Initial load
duke
parents:
diff changeset
347 DATA_MODE/sparcv9 = 64
a61af66fc99e Initial load
duke
parents:
diff changeset
348 DATA_MODE/amd64 = 64
a61af66fc99e Initial load
duke
parents:
diff changeset
349 DATA_MODE/ia64 = 64
1010
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents: 235
diff changeset
350 DATA_MODE/zero = $(ARCH_DATA_MODEL)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
351
a61af66fc99e Initial load
duke
parents:
diff changeset
352 JAVA_FLAG/32 = -d32
a61af66fc99e Initial load
duke
parents:
diff changeset
353 JAVA_FLAG/64 = -d64
a61af66fc99e Initial load
duke
parents:
diff changeset
354
a61af66fc99e Initial load
duke
parents:
diff changeset
355 WRONG_DATA_MODE_MSG = \
a61af66fc99e Initial load
duke
parents:
diff changeset
356 echo "JAVA_HOME must point to $(DATA_MODE)bit JDK."
a61af66fc99e Initial load
duke
parents:
diff changeset
357
1681
126ea7725993 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 1552
diff changeset
358 CROSS_COMPILING_MSG = \
126ea7725993 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 1552
diff changeset
359 echo "Cross compiling for ARCH $(CROSS_COMPILE_ARCH), skipping gamma run."
126ea7725993 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 1552
diff changeset
360
232
551f4309f476 6695777: Queens.class should be built from source, not put in source repo
ohair
parents: 91
diff changeset
361 test_gamma: $(BUILDTREE_MAKE) $(GAMMADIR)/make/test/Queens.java
0
a61af66fc99e Initial load
duke
parents:
diff changeset
362 @echo Creating $@ ...
a61af66fc99e Initial load
duke
parents:
diff changeset
363 $(QUIETLY) ( \
a61af66fc99e Initial load
duke
parents:
diff changeset
364 echo '#!/bin/sh'; \
a61af66fc99e Initial load
duke
parents:
diff changeset
365 $(BUILDTREE_COMMENT); \
a61af66fc99e Initial load
duke
parents:
diff changeset
366 echo '. ./env.sh'; \
1681
126ea7725993 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 1552
diff changeset
367 echo "if [ \"$(CROSS_COMPILE_ARCH)\" != \"\" ]; then { $(CROSS_COMPILING_MSG); exit 0; }; fi"; \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
368 echo "if [ -z \$$JAVA_HOME ]; then { $(NO_JAVA_HOME_MSG); exit 0; }; fi"; \
233
17c572e2697c 6723762: Fix shell command that gets java version (uses 2>1)
ohair
parents: 91
diff changeset
369 echo "if ! \$${JAVA_HOME}/bin/java $(JAVA_FLAG) -fullversion 2>&1 > /dev/null"; \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
370 echo "then"; \
a61af66fc99e Initial load
duke
parents:
diff changeset
371 echo " $(WRONG_DATA_MODE_MSG); exit 0;"; \
a61af66fc99e Initial load
duke
parents:
diff changeset
372 echo "fi"; \
232
551f4309f476 6695777: Queens.class should be built from source, not put in source repo
ohair
parents: 91
diff changeset
373 echo "rm -f Queens.class"; \
551f4309f476 6695777: Queens.class should be built from source, not put in source repo
ohair
parents: 91
diff changeset
374 echo "\$${JAVA_HOME}/bin/javac -d . $(GAMMADIR)/make/test/Queens.java"; \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
375 echo '[ -f gamma_g ] && { gamma=gamma_g; }'; \
a61af66fc99e Initial load
duke
parents:
diff changeset
376 echo './$${gamma:-gamma} $(TESTFLAGS) Queens < /dev/null'; \
a61af66fc99e Initial load
duke
parents:
diff changeset
377 ) > $@
a61af66fc99e Initial load
duke
parents:
diff changeset
378 $(QUIETLY) chmod +x $@
a61af66fc99e Initial load
duke
parents:
diff changeset
379
a61af66fc99e Initial load
duke
parents:
diff changeset
380 FORCE:
a61af66fc99e Initial load
duke
parents:
diff changeset
381
a61af66fc99e Initial load
duke
parents:
diff changeset
382 .PHONY: all FORCE