Makefile revision 6046
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# Copyright (c) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# This code is free software; you can redistribute it and/or modify it
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# under the terms of the GNU General Public License version 2 only, as
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# published by the Free Software Foundation. Oracle designates this
d63de4508a08b11f57c307a15eda3cd95485bf2cvboxsync# particular file as subject to the "Classpath" exception as provided
d63de4508a08b11f57c307a15eda3cd95485bf2cvboxsync# by Oracle in the LICENSE file that accompanied this code.
d63de4508a08b11f57c307a15eda3cd95485bf2cvboxsync# This code is distributed in the hope that it will be useful, but WITHOUT
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync# version 2 for more details (a copy is included in the LICENSE file that
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync# accompanied this code).
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync# You should have received a copy of the GNU General Public License version
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync# 2 along with this work; if not, write to the Free Software Foundation,
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync# or visit www.oracle.com if you need additional information or have any
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync# questions.
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync# Makefile to run various jdk tests
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync# Empty these to get rid of some default rules
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# Utilities used
2c691730ab202620fe427110841aa4e0075b7ccavboxsync# Get OS name from uname
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# Commands to run on paths to make mixed paths for java on windows
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# Location of developer shared files
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync# Platform specific settings
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync # Check for unknown arch, try uname -p if uname -m says unknown
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync # Check for unknown arch, try uname -p if uname -m says unknown
cb172d105a87f41489b1553fbd99ec97932609ffvboxsync # GNU Make or MKS overrides $(PROCESSOR_ARCHITECTURE) to always
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync # return "x86". Use the first word of $(PROCESSOR_IDENTIFIER) instead.
4c07a936250bec9628653237718068d59914cdcevboxsync # These need to be different depending on MKS or CYGWIN
4c07a936250bec9628653237718068d59914cdcevboxsync ifeq ($(findstring cygdrive,$(shell ($(CD) C:/ && $(PWD)))), )
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync OS_VERSION := $(shell $(UNAME) -s | $(CUT) -d'-' -f2)
0700964a23df46033c8149ee10ce643cd3677061vboxsync# Only want major and minor numbers from os version
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncOS_VERSION := $(shell $(ECHO) "$(OS_VERSION)" | $(CUT) -d'.' -f1,2)
e361162aaa3f264085c651f9ea83f70d0ff3e431vboxsync# Name to use for x86_64 arch (historically amd64, but should change someday)
e361162aaa3f264085c651f9ea83f70d0ff3e431vboxsync#OS_ARCH_X64_NAME:=x64
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# Alternate arch names (in case this arch is known by a second name)
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# PROBLEM_LISTS may use either name.
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#OS_ARCH2-x64:=amd64
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# Try and use the arch names consistently
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncOS_ARCH:=$(patsubst x64,$(OS_ARCH_X64_NAME),$(OS_ARCH))
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncOS_ARCH:=$(patsubst X64,$(OS_ARCH_X64_NAME),$(OS_ARCH))
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncOS_ARCH:=$(patsubst AMD64,$(OS_ARCH_X64_NAME),$(OS_ARCH))
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncOS_ARCH:=$(patsubst amd64,$(OS_ARCH_X64_NAME),$(OS_ARCH))
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncOS_ARCH:=$(patsubst x86_64,$(OS_ARCH_X64_NAME),$(OS_ARCH))
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncOS_ARCH:=$(patsubst 86_64,$(OS_ARCH_X64_NAME),$(OS_ARCH))
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncOS_ARCH:=$(patsubst 8664,$(OS_ARCH_X64_NAME),$(OS_ARCH))
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncOS_ARCH:=$(patsubst EM64T,$(OS_ARCH_X64_NAME),$(OS_ARCH))
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsyncOS_ARCH:=$(patsubst em64t,$(OS_ARCH_X64_NAME),$(OS_ARCH))
0700964a23df46033c8149ee10ce643cd3677061vboxsyncOS_ARCH:=$(patsubst intel64,$(OS_ARCH_X64_NAME),$(OS_ARCH))
0700964a23df46033c8149ee10ce643cd3677061vboxsyncOS_ARCH:=$(patsubst Intel64,$(OS_ARCH_X64_NAME),$(OS_ARCH))
0700964a23df46033c8149ee10ce643cd3677061vboxsyncOS_ARCH:=$(patsubst INTEL64,$(OS_ARCH_X64_NAME),$(OS_ARCH))
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# Default ARCH_DATA_MODEL settings
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync# If ARCH_DATA_MODEL is not defined, try and pick a reasonable default
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# Platform directory name
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# Check ARCH_DATA_MODEL, adjust OS_ARCH accordingly on solaris
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync ARCH_DATA_MODEL=$(ARCH_DATA_MODEL) cannot be used with $(PLATFORM_OS)
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# Alternate OS_ARCH name (defaults to OS_ARCH)
f1517b3016a7e68a8edb55ea82c704af7386c9advboxsync# Root of this test area (important to use full paths in some places)
f1517b3016a7e68a8edb55ea82c704af7386c9advboxsync# Root of all test results
f1517b3016a7e68a8edb55ea82c704af7386c9advboxsync ABS_OUTPUTDIR = $(TEST_ROOT)/../build/$(PLATFORM_OS)
f1517b3016a7e68a8edb55ea82c704af7386c9advboxsyncABS_TEST_OUTPUT_DIR := $(ABS_PLATFORM_BUILD_ROOT)/testoutput/$(UNIQUE_DIR)
f1517b3016a7e68a8edb55ea82c704af7386c9advboxsync# Expect JPRT to set PRODUCT_HOME (the product or jdk in this case to test)
f1517b3016a7e68a8edb55ea82c704af7386c9advboxsync # Try to use j2sdk-image if it exists
f1517b3016a7e68a8edb55ea82c704af7386c9advboxsync ABS_JDK_IMAGE = $(ABS_PLATFORM_BUILD_ROOT)/j2sdk-image
fe7115bba580b609cb1a233f8e08947d0ee0af8dvboxsync# Expect JPRT to set JPRT_PRODUCT_ARGS (e.g. -server etc.)
fe7115bba580b609cb1a233f8e08947d0ee0af8dvboxsync# Should be passed into 'java' only.
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# Could include: -d64 -server -client OR any java option
cb172d105a87f41489b1553fbd99ec97932609ffvboxsync# Expect JPRT to set JPRT_PRODUCT_VM_ARGS (e.g. -Xcomp etc.)
2c691730ab202620fe427110841aa4e0075b7ccavboxsync# Should be passed into anything running the vm (java, javac, javadoc, ...).
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# Check JAVA_ARGS arguments based on ARCH_DATA_MODEL etc.
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync D64_ERROR_MESSAGE=Mismatch between ARCH_DATA_MODEL=$(ARCH_DATA_MODEL) and use of -d64 in JAVA_ARGS=$(JAVA_ARGS)
TESTEXIT = \
if [ ! -s $(EXITCODE) ] ; then \
exit $${testExitCode}
jtregExitCode=$$? && \
if [ $${jtregExitCode} = 0 ] ; then \
jtregExitCode=1; \
$(ECHO) "TEST STATS: name=$(UNIQUE_DIR) run=$${runc} pass=$${passc} fail=$${failc} excluded=$${exclc}" \
USE_JTREG_AGENTVM=false
@$(SummaryInfo)
@$(SummaryInfo)
@$(SummaryInfo)
JTREG_BASIC_OPTIONS += -a
export JT_HOME; \
# The jtjck.jar utility to use to run the tests
# Phony targets (e.g. these are not filenames)