Makefile revision 177
2N/A#
2N/A# Makefile to run jtreg
2N/A#
2N/A
2N/A# Get OS/ARCH specifics
2N/AOSNAME = $(shell uname -s)
2N/Aifeq ($(OSNAME), SunOS)
2N/A PLATFORM = solaris
2N/A JCT_PLATFORM = solaris
2N/A ARCH = $(shell uname -p)
2N/A ifeq ($(ARCH), i386)
2N/A ARCH=i586
2N/A endif
2N/Aendif
2N/Aifeq ($(OSNAME), Linux)
2N/A PLATFORM = linux
2N/A JCT_PLATFORM = linux
2N/A ARCH = $(shell uname -m)
2N/A ifeq ($(ARCH), i386)
2N/A ARCH=i586
814N/A endif
2N/Aendif
2N/Aifeq ($(OSNAME), Windows_NT)
2N/A PLATFORM = windows
2N/A JCT_PLATFORM = win32
23N/A ifeq ($(word 1, $(PROCESSOR_IDENTIFIER)),ia64)
23N/A ARCH=ia64
23N/A else
23N/A ifeq ($(word 1, $(PROCESSOR_IDENTIFIER)),AMD64)
23N/A ARCH=x64
32N/A else
32N/A ifeq ($(word 1, $(PROCESSOR_IDENTIFIER)),EM64T)
32N/A ARCH=x64
34N/A else
32N/A ARCH=i586
34N/A endif
32N/A endif
32N/A endif
58N/Aendif
32N/A
225N/A# Root of this test area (important to use full paths in some places)
225N/ATEST_ROOT := $(shell pwd)
225N/A
225N/A# Default bundle of all test results (passed or not)
225N/AJPRT_ARCHIVE_BUNDLE=$(TEST_ROOT)/JPRT_ARCHIVE_BUNDLE.zip
225N/A
225N/A# Default home for JTREG
225N/Aifeq ($(PLATFORM), windows)
225N/A JT_HOME = J:/svc/jct-tools3.2.2_02
225N/A JTREG_KEY_OPTION=-k:!ignore
2N/Aelse
38N/A JT_HOME = /java/svc/jct-tools3.2.2_02
38N/A JTREG_KEY_OPTION=-k:\!ignore
38N/Aendif
38N/A
38N/A# Default JTREG to run
38N/AJTREG = $(JT_HOME)/$(JCT_PLATFORM)/bin/jtreg
38N/A
83N/A# Default JDK to test
83N/AJAVA_HOME = $(TEST_ROOT)/../build/$(PLATFORM)-$(ARCH)
99N/A
2N/A# The test directories to run
92N/ADEFAULT_TESTDIRS = demo/jvmti/gctest demo/jvmti/hprof
634N/ATESTDIRS = $(DEFAULT_TESTDIRS)
92N/A
634N/A# Root of all test results
92N/AJTREG_OUTPUT_DIR = $(TEST_ROOT)/o_$(PLATFORM)-$(ARCH)
2N/A
2N/A# Export this setting and pass it in.
313N/A#JAVA_TOOL_OPTIONS = -Djava.awt.headless=true
2N/A#export JAVA_TOOL_OPTIONS
34N/A
2N/A# Default make rule
313N/Aall: clean check tests $(JPRT_ARCHIVE_BUNDLE)
313N/A @echo "Testing completed successfully"
313N/A
34N/A# Chaeck to make sure these directories exist
2N/Acheck: $(JT_HOME) $(JAVA_HOME) $(JTREG)
313N/A
814N/A# Run the tests
53N/Atests: FRC
34N/A @echo "Using export JAVA_TOOL_OPTIONS=$(JAVA_TOOL_OPTIONS)"
814N/A @rm -f -r $(JTREG_OUTPUT_DIR)
70N/A @mkdir -p $(JTREG_OUTPUT_DIR)
2N/A $(JTREG) -a -v:fail,error \
2N/A $(JTREG_KEY_OPTION) \
2N/A -r:$(JTREG_OUTPUT_DIR)/JTreport \
2N/A -w:$(JTREG_OUTPUT_DIR)/JTwork \
70N/A -jdk:$(JAVA_HOME) \
105N/A $(JAVA_TOOL_OPTIONS:%=-vmoption:%) \
105N/A $(JAVA_ARGS:%=-vmoption:%) \
883N/A $(TESTDIRS)
2N/A
634N/A# Bundle up the results
634N/A$(JPRT_ARCHIVE_BUNDLE): FRC
634N/A @rm -f $@
634N/A @mkdir -p $(@D)
634N/A ( cd $(JTREG_OUTPUT_DIR) && zip -q -r $@ . )
70N/A
70N/A# Cleanup
70N/Aclean:
634N/A rm -f -r $(JTREG_OUTPUT_DIR)
70N/A rm -f $(JPRT_ARCHIVE_BUNDLE)
70N/A
70N/A# Used to force a target rules to run
70N/AFRC:
70N/A
70N/A# Phony targets (e.g. these are not filenames)
6N/A.PHONY: all tests clean check
814N/A
6N/A