Makefile revision 0
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina#
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina# Makefile to run jtreg and any other tests
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina#
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina# Get OS/ARCH specifics
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel BřezinaOSNAME = $(shell uname -s)
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březinaifeq ($(OSNAME), SunOS)
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina PLATFORM = solaris
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina JT_PLATFORM = solaris
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina ARCH = $(shell uname -p)
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina ifeq ($(ARCH), i386)
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina ARCH=i586
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina endif
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březinaendif
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březinaifeq ($(OSNAME), Linux)
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina PLATFORM = linux
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina JT_PLATFORM = linux
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina ARCH = $(shell uname -m)
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina ifeq ($(ARCH), i386)
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina ARCH=i586
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina endif
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březinaendif
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březinaifeq ($(OSNAME), Windows_NT)
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina PLATFORM = windows
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina JT_PLATFORM = win32
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina ifeq ($(word 1, $(PROCESSOR_IDENTIFIER)),ia64)
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina ARCH=ia64
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina else
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina ifeq ($(word 1, $(PROCESSOR_IDENTIFIER)),AMD64)
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina ARCH=x64
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina else
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina ifeq ($(word 1, $(PROCESSOR_IDENTIFIER)),EM64T)
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina ARCH=x64
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina else
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina ARCH=i586
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina endif
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina endif
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina endif
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březinaendif
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina# Root of this test area (important to use full paths in some places)
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel BřezinaTEST_ROOT := $(shell pwd)
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina# Default bundle of all test results (passed or not)
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel BřezinaJPRT_ARCHIVE_BUNDLE=$(TEST_ROOT)/JPRT_ARCHIVE_BUNDLE.zip
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina# Default home for JTREG
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březinaifeq ($(PLATFORM), windows)
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina SLASH_JAVA = J:
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březinaelse
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina SLASH_JAVA = /java
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březinaendif
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina# Default JTREG to run
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel BřezinaJT_HOME = $(SLASH_JAVA)/svc/jct-tools3.2.2_02
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel BřezinaJTREG = $(JT_HOME)/$(JT_PLATFORM)/bin/jtreg
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina# Default JDK for JTREG
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březinaifdef JPRT_JAVA_HOME
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina JT_JAVA = $(JPRT_JAVA_HOME)
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březinaelse
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina JT_JAVA = $(SLASH_JAVA)/re/jdk/1.6.0/archive/fcs/binaries/$(PLATFORM)-$(ARCH)
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březinaendif
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina# Default JDK to test
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel BřezinaTESTJAVA = $(SLASH_JAVA)/re/jdk/1.7.0/promoted/latest/binaries/$(PLATFORM)-$(ARCH)
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel BřezinaTESTBOOTCLASSPATH = $(PRODUCT_HOME)/dist/lib/classes.jar
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina# The test directories to run
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel BřezinaDEFAULT_TESTDIRS = .
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel BřezinaTESTDIRS = $(DEFAULT_TESTDIRS)
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina# Root of all test results
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel BřezinaTEST_OUTPUT_DIR = $(TEST_ROOT)/o_$(PLATFORM)-$(ARCH)
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina# Export this setting and pass it in.
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel BřezinaJAVA_TOOL_OPTIONS = -Djava.awt.headless=true
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březinaexport JAVA_TOOL_OPTIONS
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina# Default make rule
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březinaall javac javadoc javah javap apt: clean check jtreg-tests $(JPRT_ARCHIVE_BUNDLE)
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina @echo "Testing completed successfully"
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina# for use with JPRT -testrule
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březinaall: TESTDIRS = .
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březinajavac fastjavac: TESTDIRS = tools/javac
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březinajavadoc: TESTDIRS = tools/javadoc com/sun/javadoc
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březinajavah: TESTDIRS = tools/javah
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březinajavap: TESTDIRS = tools/javap
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březinaapt: TESTDIRS = tools/apt
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březinafastjavac: SAMEVM = -samevm
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina# Check to make sure these directories exist
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březinacheck: $(JT_HOME) $(PRODUCT_HOME) $(JTREG)
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina# Run the tests
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březinajtreg-tests: FRC
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina ls /opt/jprt /opt/jprt/jdk*
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina @echo "Using export JAVA_TOOL_OPTIONS=$(JAVA_TOOL_OPTIONS)"
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina @rm -f -r $(TEST_OUTPUT_DIR)/JTwork $(TEST_OUTPUT_DIR)/JTreport
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina @mkdir -p $(TEST_OUTPUT_DIR)
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina JT_JAVA=$(JT_JAVA) $(JTREG) -k:\!ignore -a -v:fail,error $(SAMEVM) \
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina -r:$(TEST_OUTPUT_DIR)/JTreport \
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina -w:$(TEST_OUTPUT_DIR)/JTwork \
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina -jdk:$(TESTJAVA) \
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina -Xbootclasspath/p:$(TESTBOOTCLASSPATH) \
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina -exclude:bootclasspath-exclude.jtx \
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina $(JAVA_TOOL_OPTIONS:%=-vmoption:%) \
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina $(JAVA_ARGS:%=-vmoption:%) \
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina $(TESTDIRS)
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina# Bundle up the results
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina$(JPRT_ARCHIVE_BUNDLE): FRC
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina @rm -f $@
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina @mkdir -p $(@D)
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina ( cd $(TEST_OUTPUT_DIR) && zip -q -r $@ . )
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina# Cleanup
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březinaclean:
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina rm -f -r $(TEST_OUTPUT_DIR)
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina rm -f $(JPRT_ARCHIVE_BUNDLE)
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina# Used to force a target rules to run
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel BřezinaFRC:
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina# Phony targets (e.g. these are not filenames)
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina.PHONY: all tests clean check
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina