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