1 #
2 # Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 #
5 # This code is free software; you can redistribute it and/or modify it
6 # under the terms of the GNU General Public License version 2 only, as
7 # published by the Free Software Foundation.
8 #
9 # This code is distributed in the hope that it will be useful, but WITHOUT
10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 # version 2 for more details (a copy is included in the LICENSE file that
13 # accompanied this code).
14 #
15 # You should have received a copy of the GNU General Public License version
16 # 2 along with this work; if not, write to the Free Software Foundation,
17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 #
19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 # or visit www.oracle.com if you need additional information or have any
21 # questions.
22 #
151 # optimizedzero zero <os>_<arch>_zero/optimized
152 # productzero zero <os>_<arch>_zero/product
153 #
154 # debugshark shark <os>_<arch>_shark/debug
155 # fastdebugshark shark <os>_<arch>_shark/fastdebug
156 # optimizedshark shark <os>_<arch>_shark/optimized
157 # productshark shark <os>_<arch>_shark/product
158 #
159 # fastdebugminimal1 minimal1 <os>_<arch>_minimal1/fastdebug
160 # productminimal1 minimal1 <os>_<arch>_minimal1/product
161 #
162 # What you get with each target:
163 #
164 # debug* - debug compile with asserts enabled
165 # fastdebug* - optimized compile, but with asserts enabled
166 # optimized* - optimized compile, no asserts
167 # product* - the shippable thing: optimized compile, no asserts, -DPRODUCT
168
169 # This target list needs to be coordinated with the usage message
170 # in the build.sh script:
171 TARGETS = debug fastdebug optimized product
172
173 ifeq ($(findstring true, $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK)), true)
174 SUBDIR_DOCS = $(OSNAME)_$(VARIANTARCH)_docs
175 else
176 SUBDIR_DOCS = $(OSNAME)_$(BUILDARCH)_docs
177 endif
178 SUBDIRS_C1 = $(addprefix $(OSNAME)_$(BUILDARCH)_compiler1/,$(TARGETS))
179 SUBDIRS_C2 = $(addprefix $(OSNAME)_$(BUILDARCH)_compiler2/,$(TARGETS))
180 SUBDIRS_TIERED = $(addprefix $(OSNAME)_$(BUILDARCH)_tiered/,$(TARGETS))
181 SUBDIRS_CORE = $(addprefix $(OSNAME)_$(BUILDARCH)_core/,$(TARGETS))
182 SUBDIRS_ZERO = $(addprefix $(OSNAME)_$(VARIANTARCH)_zero/,$(TARGETS))
183 SUBDIRS_SHARK = $(addprefix $(OSNAME)_$(VARIANTARCH)_shark/,$(TARGETS))
184 SUBDIRS_MINIMAL1 = $(addprefix $(OSNAME)_$(BUILDARCH)_minimal1/,$(TARGETS))
185
186 TARGETS_C2 = $(TARGETS)
187 TARGETS_C1 = $(addsuffix 1,$(TARGETS))
188 TARGETS_TIERED = $(addsuffix tiered,$(TARGETS))
189 TARGETS_CORE = $(addsuffix core,$(TARGETS))
190 TARGETS_ZERO = $(addsuffix zero,$(TARGETS))
191 TARGETS_SHARK = $(addsuffix shark,$(TARGETS))
192 TARGETS_MINIMAL1 = $(addsuffix minimal1,$(TARGETS))
193
194 BUILDTREE_MAKE = $(GAMMADIR)/make/$(OSNAME)/makefiles/buildtree.make
195 BUILDTREE_VARS = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OSNAME) SRCARCH=$(SRCARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH)
196 BUILDTREE_VARS += HOTSPOT_VERSION_STRING=$(HOTSPOT_VERSION_STRING) VERSION_STRING=$(VERSION_STRING)
197 BUILDTREE_VARS += ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS) OBJCOPY=$(OBJCOPY) STRIP_POLICY=$(STRIP_POLICY) ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES) ZIPEXE=$(ZIPEXE)
198
199 BUILDTREE = $(MAKE) -f $(BUILDTREE_MAKE) $(BUILDTREE_VARS)
200
201 #-------------------------------------------------------------------------------
202
203 # Could make everything by default, but that would take a while.
204 all:
205 @echo "Try '$(MAKE) <target> ...' where <target> is one or more of"
206 @echo " $(TARGETS_C2)"
207 @echo " $(TARGETS_C1)"
208 @echo " $(TARGETS_CORE)"
209 @echo " $(TARGETS_ZERO)"
210 @echo " $(TARGETS_SHARK)"
211 @echo " $(TARGETS_MINIMAL1)"
212
213 checks: check_os_version check_j2se_version
214
215 # We do not want people accidentally building on old systems (e.g. Linux 2.2.x,
216 # Solaris 2.5.1, 2.6).
217 # Disable this check by setting DISABLE_HOTSPOT_OS_VERSION_CHECK=ok.
218
219 SUPPORTED_OS_VERSION = 2.4% 2.5% 2.6% 3% 4%
252 $(SUBDIRS_C1): $(BUILDTREE_MAKE)
253 $(QUIETLY) $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/Makefile checks
254 +$(BUILDTREE) VARIANT=compiler1
255
256 $(SUBDIRS_CORE): $(BUILDTREE_MAKE)
257 $(QUIETLY) $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/Makefile checks
258 +$(BUILDTREE) VARIANT=core
259
260 $(SUBDIRS_ZERO): $(BUILDTREE_MAKE) platform_zero
261 $(QUIETLY) $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/Makefile checks
262 +$(BUILDTREE) VARIANT=zero VARIANTARCH=$(VARIANTARCH)
263
264 $(SUBDIRS_SHARK): $(BUILDTREE_MAKE) platform_zero
265 $(QUIETLY) $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/Makefile checks
266 +$(BUILDTREE) VARIANT=shark VARIANTARCH=$(VARIANTARCH)
267
268 $(SUBDIRS_MINIMAL1): $(BUILDTREE_MAKE)
269 $(QUIETLY) $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/Makefile checks
270 +$(BUILDTREE) VARIANT=minimal1
271
272
273 platform_zero: $(GAMMADIR)/make/$(OSNAME)/platform_zero.in
274 $(SED) 's/@ZERO_ARCHDEF@/$(ZERO_ARCHDEF)/g;s/@ZERO_LIBARCH@/$(ZERO_LIBARCH)/g;' < $< > $@
275
276 # Define INSTALL=y at command line to automatically copy JVM into JAVA_HOME
277
278 $(TARGETS_C2): $(SUBDIRS_C2)
279 cd $(OSNAME)_$(BUILDARCH)_compiler2/$@ && $(MAKE) $(MFLAGS)
280 ifdef INSTALL
281 cd $(OSNAME)_$(BUILDARCH)_compiler2/$@ && $(MAKE) $(MFLAGS) install
282 endif
283
284 $(TARGETS_TIERED): $(SUBDIRS_TIERED)
285 cd $(OSNAME)_$(BUILDARCH)_tiered/$(patsubst %tiered,%,$@) && $(MAKE) $(MFLAGS)
286 ifdef INSTALL
287 cd $(OSNAME)_$(BUILDARCH)_tiered/$(patsubst %tiered,%,$@) && $(MAKE) $(MFLAGS) install
288 endif
289
290 $(TARGETS_C1): $(SUBDIRS_C1)
291 cd $(OSNAME)_$(BUILDARCH)_compiler1/$(patsubst %1,%,$@) && $(MAKE) $(MFLAGS)
292 ifdef INSTALL
|
1 #
2 # Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved.
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 #
5 # This code is free software; you can redistribute it and/or modify it
6 # under the terms of the GNU General Public License version 2 only, as
7 # published by the Free Software Foundation.
8 #
9 # This code is distributed in the hope that it will be useful, but WITHOUT
10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 # version 2 for more details (a copy is included in the LICENSE file that
13 # accompanied this code).
14 #
15 # You should have received a copy of the GNU General Public License version
16 # 2 along with this work; if not, write to the Free Software Foundation,
17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 #
19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 # or visit www.oracle.com if you need additional information or have any
21 # questions.
22 #
151 # optimizedzero zero <os>_<arch>_zero/optimized
152 # productzero zero <os>_<arch>_zero/product
153 #
154 # debugshark shark <os>_<arch>_shark/debug
155 # fastdebugshark shark <os>_<arch>_shark/fastdebug
156 # optimizedshark shark <os>_<arch>_shark/optimized
157 # productshark shark <os>_<arch>_shark/product
158 #
159 # fastdebugminimal1 minimal1 <os>_<arch>_minimal1/fastdebug
160 # productminimal1 minimal1 <os>_<arch>_minimal1/product
161 #
162 # What you get with each target:
163 #
164 # debug* - debug compile with asserts enabled
165 # fastdebug* - optimized compile, but with asserts enabled
166 # optimized* - optimized compile, no asserts
167 # product* - the shippable thing: optimized compile, no asserts, -DPRODUCT
168
169 # This target list needs to be coordinated with the usage message
170 # in the build.sh script:
171 TARGETS = debug fastdebug optimized product
172
173 ifeq ($(findstring true, $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK)), true)
174 SUBDIR_DOCS = $(OSNAME)_$(VARIANTARCH)_docs
175 else
176 SUBDIR_DOCS = $(OSNAME)_$(BUILDARCH)_docs
177 endif
178 SUBDIRS_C1 = $(addprefix $(OSNAME)_$(BUILDARCH)_compiler1/,$(TARGETS))
179 SUBDIRS_C2 = $(addprefix $(OSNAME)_$(BUILDARCH)_compiler2/,$(TARGETS))
180 SUBDIRS_TIERED = $(addprefix $(OSNAME)_$(BUILDARCH)_tiered/,$(TARGETS))
181 SUBDIRS_CORE = $(addprefix $(OSNAME)_$(BUILDARCH)_core/,$(TARGETS))
182 SUBDIRS_ZERO = $(addprefix $(OSNAME)_$(VARIANTARCH)_zero/,$(TARGETS))
183 SUBDIRS_SHARK = $(addprefix $(OSNAME)_$(VARIANTARCH)_shark/,$(TARGETS))
184 SUBDIRS_MINIMAL1 = $(addprefix $(OSNAME)_$(BUILDARCH)_minimal1/,$(TARGETS))
185
186 TARGETS_C2 = $(TARGETS)
187 TARGETS_C1 = $(addsuffix 1,$(TARGETS))
188 TARGETS_TIERED = $(addsuffix tiered,$(TARGETS))
189 TARGETS_CORE = $(addsuffix core,$(TARGETS))
190 TARGETS_ZERO = $(addsuffix zero,$(TARGETS))
191 TARGETS_SHARK = $(addsuffix shark,$(TARGETS))
192 TARGETS_MINIMAL1 = $(addsuffix minimal1,$(TARGETS))
193
194 BUILDTREE_MAKE = $(GAMMADIR)/make/$(OSNAME)/makefiles/buildtree.make
195 BUILDTREE_VARS = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OSNAME) SRCARCH=$(SRCARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH)
196 BUILDTREE_VARS += HOTSPOT_VERSION_STRING=$(HOTSPOT_VERSION_STRING) VERSION_STRING=$(VERSION_STRING)
197 BUILDTREE_VARS += ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS) OBJCOPY=$(OBJCOPY) STRIP_POLICY=$(STRIP_POLICY) ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES) ZIPEXE=$(ZIPEXE)
198
199 BUILDTREE = $(MAKE) -f $(BUILDTREE_MAKE) $(BUILDTREE_VARS)
200
201 #-------------------------------------------------------------------------------
202
203 # Could make everything by default, but that would take a while.
204 all:
205 @echo "Try '$(MAKE) <target> ...' where <target> is one or more of"
206 @echo " $(TARGETS_C2)"
207 @echo " $(TARGETS_C1)"
208 @echo " $(TARGETS_CORE)"
209 @echo " $(TARGETS_ZERO)"
210 @echo " $(TARGETS_SHARK)"
211 @echo " $(TARGETS_MINIMAL1)"
212
213 checks: check_os_version check_j2se_version
214
215 # We do not want people accidentally building on old systems (e.g. Linux 2.2.x,
216 # Solaris 2.5.1, 2.6).
217 # Disable this check by setting DISABLE_HOTSPOT_OS_VERSION_CHECK=ok.
218
219 SUPPORTED_OS_VERSION = 2.4% 2.5% 2.6% 3% 4%
252 $(SUBDIRS_C1): $(BUILDTREE_MAKE)
253 $(QUIETLY) $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/Makefile checks
254 +$(BUILDTREE) VARIANT=compiler1
255
256 $(SUBDIRS_CORE): $(BUILDTREE_MAKE)
257 $(QUIETLY) $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/Makefile checks
258 +$(BUILDTREE) VARIANT=core
259
260 $(SUBDIRS_ZERO): $(BUILDTREE_MAKE) platform_zero
261 $(QUIETLY) $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/Makefile checks
262 +$(BUILDTREE) VARIANT=zero VARIANTARCH=$(VARIANTARCH)
263
264 $(SUBDIRS_SHARK): $(BUILDTREE_MAKE) platform_zero
265 $(QUIETLY) $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/Makefile checks
266 +$(BUILDTREE) VARIANT=shark VARIANTARCH=$(VARIANTARCH)
267
268 $(SUBDIRS_MINIMAL1): $(BUILDTREE_MAKE)
269 $(QUIETLY) $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/Makefile checks
270 +$(BUILDTREE) VARIANT=minimal1
271
272 platform_zero: $(GAMMADIR)/make/$(OSNAME)/platform_zero.in
273 $(SED) 's/@ZERO_ARCHDEF@/$(ZERO_ARCHDEF)/g;s/@ZERO_LIBARCH@/$(ZERO_LIBARCH)/g;' < $< > $@
274
275 # Define INSTALL=y at command line to automatically copy JVM into JAVA_HOME
276
277 $(TARGETS_C2): $(SUBDIRS_C2)
278 cd $(OSNAME)_$(BUILDARCH)_compiler2/$@ && $(MAKE) $(MFLAGS)
279 ifdef INSTALL
280 cd $(OSNAME)_$(BUILDARCH)_compiler2/$@ && $(MAKE) $(MFLAGS) install
281 endif
282
283 $(TARGETS_TIERED): $(SUBDIRS_TIERED)
284 cd $(OSNAME)_$(BUILDARCH)_tiered/$(patsubst %tiered,%,$@) && $(MAKE) $(MFLAGS)
285 ifdef INSTALL
286 cd $(OSNAME)_$(BUILDARCH)_tiered/$(patsubst %tiered,%,$@) && $(MAKE) $(MFLAGS) install
287 endif
288
289 $(TARGETS_C1): $(SUBDIRS_C1)
290 cd $(OSNAME)_$(BUILDARCH)_compiler1/$(patsubst %1,%,$@) && $(MAKE) $(MFLAGS)
291 ifdef INSTALL
|