Makefile revision 479
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk#
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk# Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk#
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk# This code is free software; you can redistribute it and/or modify it
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk# under the terms of the GNU General Public License version 2 only, as
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk# published by the Free Software Foundation. Oracle designates this
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk# particular file as subject to the "Classpath" exception as provided
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk# by Oracle in the LICENSE file that accompanied this code.
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk#
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk# This code is distributed in the hope that it will be useful, but WITHOUT
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk# version 2 for more details (a copy is included in the LICENSE file that
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk# accompanied this code).
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk#
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk# You should have received a copy of the GNU General Public License version
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk# 2 along with this work; if not, write to the Free Software Foundation,
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk#
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk# or visit www.oracle.com if you need additional information or have any
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk# questions.
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk#
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk#
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk# Makefile to run tests from multiple sibling directories
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk#
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk# Root of the forest that was built
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkTOPDIR=..
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk# This makefile depends on the availability of sibling directories.
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkLANGTOOLS_DIR=$(TOPDIR)/langtools
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkJDK_DIR=$(TOPDIR)/jdk
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk# Macro to run a test target in a subdir
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkdefine SUBDIR_TEST # subdirectory target
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkif [ -d $1 ] ; then \
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk if [ -r $1/test/Makefile ] ; then \
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk echo "$(MAKE) -C $1/test $2" ; \
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk $(MAKE) -C $1/test $2 ; \
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk else \
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk echo "ERROR: File does not exist: $1/test/Makefile"; \
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk exit 1; \
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk fi; \
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkelse \
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk echo "WARNING: No testing done, directory does not exist: $1"; \
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkfi
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkendef
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk# Test target list for langtools repository
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkLANGTOOLS_TEST_LIST = langtools_jtreg
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk# Test target list for jdk repository
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkJDK_TEST_LIST = \
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk jdk_beans1 jdk_beans2 jdk_beans3 \
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk jdk_io \
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk jdk_lang \
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk jdk_management1 jdk_management2 \
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk jdk_math \
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk jdk_misc \
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk jdk_net \
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk jdk_nio1 jdk_nio2 jdk_nio3 \
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk jdk_security1 jdk_security2 jdk_security3 \
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk jdk_sound \
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk jdk_text \
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk jdk_tools1 jdk_tools2 \
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk jdk_jfr \
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk jdk_util
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk# These tests need a DISPLAY and can create window interaction complications
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkJDK_TEST_LIST2 = \
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk jdk_awt \
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk jdk_rmi \
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk jdk_swing
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk# These are the current jck test targets in the jdk repository
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkJDK_JCK7_LIST = jck7devtools jck7compiler jck7runtime
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk# Default test target (everything)
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkall: $(JDK_TEST_LIST) $(LANGTOOLS_TEST_LIST)
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk# Test targets
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk$(LANGTOOLS_TEST_LIST):
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk @$(NO_STOPPING)$(call SUBDIR_TEST, $(LANGTOOLS_DIR), $(subst langtools_,,$@))
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk$(JDK_TEST_LIST) $(JDK_TEST_LIST2) $(JDK_JCK7_LIST):
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk @$(NO_STOPPING)$(call SUBDIR_TEST, $(JDK_DIR), $@)
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkclean:
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk################################################################
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk# Phony targets (e.g. these are not filenames)
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk.PHONY: all clean \
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk $(JDK_TEST_LIST) $(JDK_TEST_LIST2) $(JDK_JCK7_LIST) \
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk $(LANGTOOLS_TEST_LIST)
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk################################################################
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk