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