Makefile revision 1997:b490dd2121ac
1210284Sjmallett# 2215990Sjmallett# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. 3215990Sjmallett# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4210284Sjmallett# 5210284Sjmallett# This code is free software; you can redistribute it and/or modify it 6215990Sjmallett# under the terms of the GNU General Public License version 2 only, as 7215990Sjmallett# published by the Free Software Foundation. 8215990Sjmallett# 9210284Sjmallett# This code is distributed in the hope that it will be useful, but WITHOUT 10215990Sjmallett# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11215990Sjmallett# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12210284Sjmallett# version 2 for more details (a copy is included in the LICENSE file that 13215990Sjmallett# accompanied this code). 14215990Sjmallett# 15215990Sjmallett# You should have received a copy of the GNU General Public License version 16215990Sjmallett# 2 along with this work; if not, write to the Free Software Foundation, 17215990Sjmallett# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18215990Sjmallett# 19215990Sjmallett# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20215990Sjmallett# or visit www.oracle.com if you need additional information or have any 21215990Sjmallett# questions. 22215990Sjmallett# 23215990Sjmallett 24215990Sjmallett# 25215990Sjmallett# This is a temporary standalone makefile 26215990Sjmallett# 27215990Sjmallett 28215990SjmallettBUILD_DIR := $(shell pwd)/build 29215990SjmallettCLASSES_DIR := ${BUILD_DIR}/classes 30215990SjmallettIMAGE_DIR := ${BUILD_DIR}/image 31215990SjmallettRUN_DIR := $(shell pwd)/run 32215990SjmallettCLASSPATH := ${JTREG_HOME}/lib/jtreg.jar:${JAVA_HOME}/lib/tools.jar 33215990SjmallettSRC_DIR := src/share/classes/ 34215990SjmallettSOURCES := ${SRC_DIR}/jdk/test/failurehandler/*.java \ 35215990Sjmallett ${SRC_DIR}/jdk/test/failurehandler/action/*.java \ 36215990Sjmallett ${SRC_DIR}/jdk/test/failurehandler/jtreg/*.java \ 37215990Sjmallett ${SRC_DIR}/jdk/test/failurehandler/value/*.java 38210284Sjmallett 39210284SjmallettCONF_DIR = src/share/conf 40210284Sjmallett 41210284SjmallettJAVA_RELEASE = 7 42210284Sjmallett 43210284SjmallettTARGET_JAR = ${IMAGE_DIR}/lib/jtregFailureHandler.jar 44210284Sjmallett 45215990SjmallettOS_NAME := $(shell uname -o 2>&1) 46210284Sjmallett 47210284Sjmallettifeq ("${OS_NAME}", "Cygwin") 48210284SjmallettBUILD_DIR := $(shell cygpath -m "${BUILD_DIR}") 49210284SjmallettCLASSES_DIR := $(shell cygpath -m "${CLASSES_DIR}") 50210284SjmallettIMAGE_DIR := $(shell cygpath -m "${IMAGE_DIR}") 51210284SjmallettRUN_DIR := $(shell cygpath -m "${RUN_DIR}") 52215990SjmallettSRC_DIR := $(shell cygpath -m "${SRC_DIR}") 53210284SjmallettJAVA_HOME := $(shell cygpath -m "${JAVA_HOME}") 54215990SjmallettJTREG_HOME := $(shell cygpath -m "${JTREG_HOME}") 55215990SjmallettCLASSPATH := $(shell cygpath -pm "${CLASSPATH}") 56215990SjmallettCC := "cl.exe" 57215990Sjmallettendif 58215990Sjmallett 59215990Sjmallettall: clean test 60215990Sjmallett 61215990Sjmallettnative: require_env 62215990Sjmallettifeq ("${OS_NAME}", "Cygwin") 63215990Sjmallett "${CC}" src/windows/native/jdk/test/failurehandler/jtreg/*.c \ 64215990Sjmallett -I"$(shell cygpath -w "${JAVA_HOME}/include")" \ 65215990Sjmallett -I"$(shell cygpath -w "${JAVA_HOME}/include/win32")" \ 66215990Sjmallett /link /DLL /OUT:timeoutHandler.dll 67215990Sjmallettendif 68215990Sjmallett 69215990Sjmallettcheck_defined = $(foreach 1,$1,$(__check_defined)) 70215990Sjmallett__check_defined = $(if $(value $1),, $(error $1 is not set)) 71210284Sjmallett 72210284Sjmallettclasses: require_env 73210284Sjmallett mkdir -p ${IMAGE_DIR}/bin ${IMAGE_DIR}/lib ${CLASSES_DIR} 74210284Sjmallett "${JAVA_HOME}"/bin/javac -target ${JAVA_RELEASE} -source ${JAVA_RELEASE} \ 75210284Sjmallett -sourcepath "$(shell pwd)" \ 76215990Sjmallett -cp "${CLASSPATH}" \ 77215990Sjmallett -d ${CLASSES_DIR} \ 78215990Sjmallett ${SOURCES} 79215990Sjmallett "${JAVA_HOME}"/bin/jar cf "${TARGET_JAR}" -C "${CLASSES_DIR}" . 80215990Sjmallett "${JAVA_HOME}"/bin/jar uf "${TARGET_JAR}" -C "${CONF_DIR}" . 81215990Sjmallett 82215990Sjmallett# 83215990Sjmallett# Use JTREG_TEST_OPTS for test VM options 84215990Sjmallett# Use JTREG_TESTS for jtreg tests parameter 85210284Sjmallett# 86210311Sjmalletttest: require_env build 87215990Sjmallett rm -rf "${RUN_DIR}" 88210284Sjmallett mkdir -p "${RUN_DIR}" 89210284Sjmallett "${JTREG_HOME}"/bin/jtreg \ 90210284Sjmallett -jdk:"${JAVA_HOME}" \ 91210284Sjmallett ${JTREG_TEST_OPTS} \ 92210284Sjmallett -timeout:0.1 -va -retain:all \ 93210284Sjmallett -noreport \ 94210284Sjmallett -agentvm \ 95210284Sjmallett -thd:"${TARGET_JAR}" \ 96210284Sjmallett -th:jdk.test.failurehandler.jtreg.GatherProcessInfoTimeoutHandler \ 97210284Sjmallett -od:"${TARGET_JAR}" \ 98210284Sjmallett -o:jdk.test.failurehandler.jtreg.GatherDiagnosticInfoObserver \ 99215990Sjmallett -w:"${RUN_DIR}/JTwork" \ 100215990Sjmallett -r:"${RUN_DIR}/JTreport" \ 101210284Sjmallett $(if ${JTREG_TESTS}, ${JTREG_TESTS}, test) \ 102210284Sjmallett && false || true 103210284Sjmallett 104210284Sjmallettdebug: JTREG_TEST_OPTS += "-J-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005'" 105210284Sjmallettdebug: test 106210284Sjmallett 107210284Sjmallettrequire_env: 108210284Sjmallett $(call check_defined, JAVA_HOME) 109210284Sjmallett $(call check_defined, JTREG_HOME) 110210284Sjmallett 111210284Sjmallettclean: 112215990Sjmallett rm -rf "${BUILD_DIR}" "${RUN_DIR}" 113210284Sjmallett 114215990Sjmallettbuild: classes native 115210284Sjmallett 116210284Sjmallett.PHONY: all build classes native test require_env clean 117210284Sjmallett.DEFAULT: all 118210284Sjmallett 119210284Sjmallett