Makefile revision 2546
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Copyright (c) 1995, 2010, Oracle and/or its affiliates. All rights reserved.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# This code is free software; you can redistribute it and/or modify it
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# under the terms of the GNU General Public License version 2 only, as
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# published by the Free Software Foundation. Oracle designates this
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# particular file as subject to the "Classpath" exception as provided
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# by Oracle in the LICENSE file that accompanied this code.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# This code is distributed in the hope that it will be useful, but WITHOUT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# version 2 for more details (a copy is included in the LICENSE file that
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# accompanied this code).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# You should have received a copy of the GNU General Public License version
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# 2 along with this work; if not, write to the Free Software Foundation,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# or visit www.oracle.com if you need additional information or have any
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Makefile to run various jdk tests
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Empty these to get rid of some default rules
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Utilities used
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Get OS name from uname
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Commands to run on paths to make mixed paths for java on windows
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Location of developer shared files
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Platform specific settings
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein # Check for unknown arch, try uname -p if uname -m says unknown
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein # GNU Make or MKS overrides $(PROCESSOR_ARCHITECTURE) to always
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein # return "x86". Use the first word of $(PROCESSOR_IDENTIFIER) instead.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein # These need to be different depending on MKS or CYGWIN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein ifeq ($(findstring cygdrive,$(shell ($(CD) C:/ && $(PWD)))), )
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein OS_VERSION := $(shell $(UNAME) -s | $(CUT) -d'-' -f2)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Only want major and minor numbers from os version
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinOS_VERSION := $(shell $(ECHO) "$(OS_VERSION)" | $(CUT) -d'.' -f1,2)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Name to use for x86_64 arch (historically amd64, but should change someday)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#OS_ARCH_X64_NAME:=x64
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Alternate arch names (in case this arch is known by a second name)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# PROBLEM_LISTS may use either name.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#OS_ARCH2-x64:=amd64
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Try and use the arch names consistently
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinOS_ARCH:=$(patsubst x64,$(OS_ARCH_X64_NAME),$(OS_ARCH))
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinOS_ARCH:=$(patsubst X64,$(OS_ARCH_X64_NAME),$(OS_ARCH))
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinOS_ARCH:=$(patsubst AMD64,$(OS_ARCH_X64_NAME),$(OS_ARCH))
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinOS_ARCH:=$(patsubst amd64,$(OS_ARCH_X64_NAME),$(OS_ARCH))
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinOS_ARCH:=$(patsubst x86_64,$(OS_ARCH_X64_NAME),$(OS_ARCH))
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinOS_ARCH:=$(patsubst 8664,$(OS_ARCH_X64_NAME),$(OS_ARCH))
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinOS_ARCH:=$(patsubst EM64T,$(OS_ARCH_X64_NAME),$(OS_ARCH))
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinOS_ARCH:=$(patsubst em64t,$(OS_ARCH_X64_NAME),$(OS_ARCH))
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinOS_ARCH:=$(patsubst intel64,$(OS_ARCH_X64_NAME),$(OS_ARCH))
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinOS_ARCH:=$(patsubst Intel64,$(OS_ARCH_X64_NAME),$(OS_ARCH))
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinOS_ARCH:=$(patsubst INTEL64,$(OS_ARCH_X64_NAME),$(OS_ARCH))
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Default ARCH_DATA_MODEL settings
PRODUCT_HOME := \
$(shell \
# Expect JPRT to set JPRT_PRODUCT_ARGS (e.g. -server etc.)
# Expect JPRT to set JPRT_PRODUCT_VM_ARGS (e.g. -Xcomp etc.)
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_SAMEVM=false
@$(SummaryInfo)
@$(SummaryInfo)
@$(SummaryInfo)
@$(SummaryInfo)
@$(SummaryInfo)
@$(SummaryInfo)
JTREG_BASIC_OPTIONS += -a
export JT_HOME; \
$(RM) $@
$(CP) $< $@
$(RM) $@
-runtests \
# Phony targets (e.g. these are not filenames)