78 # and if wildcard is empty, then complain that the file is missing. 79 ifeq ($3, MKDIR) 80 ifneq ($$(findstring $$(LOG), info debug trace), ) 81 $$(info Creating directory for $1) 82 endif 83 $$(shell mkdir -p $$($1)) 84 else ifneq ($3, NO_CHECK) 85 ifeq ($$(strip $$(if $$($1), , OPTIONAL) $$(wildcard $$($1))), ) 86 $$(info Error: Prebuilt variable $1 points to missing file/directory:) 87 $$(info '$$($1)') 88 $$(error Cannot continue.) 89 endif 90 endif 91 endef 92 93 # Create an ephemeral spec file 94 # 95 # $1: The output file name 96 # $2..$N: The lines to output to the file 97 define CreateNewSpec 98 $(if $(strip $(31)), \ 99 $(error Internal makefile error: \ 100 Too many arguments to macro, please update CreateNewSpec in RunTestsPrebuilt.gmk) \ 101 ) \ 102 $(shell $(RM) $1) \ 103 $(foreach i, $(call sequence, 2, 30), \ 104 $(if $(strip $($i)), \ 105 $(call AppendFile, $(strip $($i)), $1) \ 106 ) \ 107 ) 108 endef 109 110 ################################################################################ 111 # Check input and setup basic buildsystem support 112 ################################################################################ 113 114 # Verify that user has given correct additional input. 115 116 # These variables are absolutely necessary 117 $(eval $(call SetupVariable,OUTPUTDIR,$(TOPDIR)/build/run-test-prebuilt,MKDIR)) 118 $(eval $(call SetupVariable,BOOT_JDK)) 119 $(eval $(call SetupVariable,JT_HOME)) 120 121 # These can have default values based on the ones above 122 $(eval $(call SetupVariable,JDK_IMAGE_DIR,$(OUTPUTDIR)/images/jdk)) 123 $(eval $(call SetupVariable,TEST_IMAGE_DIR,$(OUTPUTDIR)/images/test)) 258 LIBRARY_PREFIX := 259 SHARED_LIBRARY_SUFFIX := .dll 260 else ifeq ($(OPENJDK_TARGET_OS), linux) 261 LD_JAOTC := $(DEVKIT_HOME)/bin/ld 262 LIBRARY_PREFIX := lib 263 SHARED_LIBRARY_SUFFIX := .so 264 else ifeq ($(OPENJDK_TARGET_OS), macosx) 265 LD_JAOTC := $(DEVKIT_HOME)/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld 266 LIBRARY_PREFIX := lib 267 SHARED_LIBRARY_SUFFIX := .dylib 268 else ifeq ($(OPENJDK_TARGET_OS), solaris) 269 # Prefer system linker for AOT on Solaris. 270 LD_JAOTC := ld 271 LIBRARY_PREFIX := lib 272 SHARED_LIBRARY_SUFFIX := .so 273 endif 274 else 275 LD := ld 276 endif 277 278 ################################################################################ 279 # Generate the ephemeral spec file 280 ################################################################################ 281 282 # Now we can include additional custom support. 283 # This might define CUSTOM_NEW_SPEC_LINE 284 ifneq ($(CUSTOM_MAKE_DIR), ) 285 include $(CUSTOM_MAKE_DIR)/RunTestsPrebuilt.gmk 286 endif 287 288 NEW_SPEC := $(OUTPUTDIR)/run-test-spec.gmk 289 290 $(call CreateNewSpec, $(NEW_SPEC), \ 291 # Generated file -- do not edit!, \ 292 SPEC := $(NEW_SPEC), \ 293 TOPDIR := $(TOPDIR), \ 294 OUTPUTDIR := $(OUTPUTDIR), \ 295 BOOT_JDK := $(BOOT_JDK), \ 296 JT_HOME := $(JT_HOME), \ 297 JDK_IMAGE_DIR := $(JDK_IMAGE_DIR), \ 298 TEST_IMAGE_DIR := $(TEST_IMAGE_DIR), \ 299 SYMBOLS_IMAGE_DIR := $(SYMBOLS_IMAGE_DIR), \ 300 MAKE := $(MAKE), \ 301 BASH := $(BASH), \ 302 JIB_JAR := $(JIB_JAR), \ 303 FIXPATH := $(FIXPATH), \ 304 PATH_SEP := $(PATH_SEP), \ 305 OPENJDK_TARGET_OS := $(OPENJDK_TARGET_OS), \ 306 OPENJDK_TARGET_OS_TYPE := $(OPENJDK_TARGET_OS_TYPE), \ 307 OPENJDK_TARGET_OS_ENV := $(OPENJDK_TARGET_OS_ENV), \ 308 OPENJDK_TARGET_CPU := $(OPENJDK_TARGET_CPU), \ 309 OPENJDK_TARGET_CPU_ARCH := $(OPENJDK_TARGET_CPU_ARCH), \ 310 OPENJDK_TARGET_CPU_BITS := $(OPENJDK_TARGET_CPU_BITS), \ 311 OPENJDK_TARGET_CPU_ENDIAN := $(OPENJDK_TARGET_CPU_ENDIAN), \ 312 NUM_CORES := $(NUM_CORES), \ 313 MEMORY_SIZE := $(MEMORY_SIZE), \ 314 LD_JAOTC := $(LD_JAOTC), \ 315 LIBRARY_PREFIX := $(LIBRARY_PREFIX), \ 316 SHARED_LIBRARY_SUFFIX := $(SHARED_LIBRARY_SUFFIX), \ 317 include $(TOPDIR)/make/RunTestsPrebuiltSpec.gmk, \ 318 $(CUSTOM_NEW_SPEC_LINE), \ 319 ) 320 321 ################################################################################ 322 # The run-test-prebuilt target 323 ################################################################################ 324 325 SPEC := $(NEW_SPEC) 326 327 default: all 328 329 run-test-prebuilt: 330 @$(RM) -f $(MAKESUPPORT_OUTPUTDIR)/exit-with-error 331 @cd $(TOPDIR) && $(MAKE) $(MAKE_ARGS) -f make/RunTests.gmk run-test \ 332 TEST="$(TEST)" 333 334 all: run-test-prebuilt 335 336 .PHONY: default all | 78 # and if wildcard is empty, then complain that the file is missing. 79 ifeq ($3, MKDIR) 80 ifneq ($$(findstring $$(LOG), info debug trace), ) 81 $$(info Creating directory for $1) 82 endif 83 $$(shell mkdir -p $$($1)) 84 else ifneq ($3, NO_CHECK) 85 ifeq ($$(strip $$(if $$($1), , OPTIONAL) $$(wildcard $$($1))), ) 86 $$(info Error: Prebuilt variable $1 points to missing file/directory:) 87 $$(info '$$($1)') 88 $$(error Cannot continue.) 89 endif 90 endif 91 endef 92 93 # Create an ephemeral spec file 94 # 95 # $1: The output file name 96 # $2..$N: The lines to output to the file 97 define CreateNewSpec 98 $(if $(strip $(33)), \ 99 $(error Internal makefile error: \ 100 Too many arguments to macro, please update CreateNewSpec in RunTestsPrebuilt.gmk) \ 101 ) \ 102 $(shell $(RM) $1) \ 103 $(foreach i, $(call sequence, 2, 32), \ 104 $(if $(strip $($i)), \ 105 $(call AppendFile, $(strip $($i)), $1) \ 106 ) \ 107 ) 108 endef 109 110 ################################################################################ 111 # Check input and setup basic buildsystem support 112 ################################################################################ 113 114 # Verify that user has given correct additional input. 115 116 # These variables are absolutely necessary 117 $(eval $(call SetupVariable,OUTPUTDIR,$(TOPDIR)/build/run-test-prebuilt,MKDIR)) 118 $(eval $(call SetupVariable,BOOT_JDK)) 119 $(eval $(call SetupVariable,JT_HOME)) 120 121 # These can have default values based on the ones above 122 $(eval $(call SetupVariable,JDK_IMAGE_DIR,$(OUTPUTDIR)/images/jdk)) 123 $(eval $(call SetupVariable,TEST_IMAGE_DIR,$(OUTPUTDIR)/images/test)) 258 LIBRARY_PREFIX := 259 SHARED_LIBRARY_SUFFIX := .dll 260 else ifeq ($(OPENJDK_TARGET_OS), linux) 261 LD_JAOTC := $(DEVKIT_HOME)/bin/ld 262 LIBRARY_PREFIX := lib 263 SHARED_LIBRARY_SUFFIX := .so 264 else ifeq ($(OPENJDK_TARGET_OS), macosx) 265 LD_JAOTC := $(DEVKIT_HOME)/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld 266 LIBRARY_PREFIX := lib 267 SHARED_LIBRARY_SUFFIX := .dylib 268 else ifeq ($(OPENJDK_TARGET_OS), solaris) 269 # Prefer system linker for AOT on Solaris. 270 LD_JAOTC := ld 271 LIBRARY_PREFIX := lib 272 SHARED_LIBRARY_SUFFIX := .so 273 endif 274 else 275 LD := ld 276 endif 277 278 ifneq ($(wildcard $(JDK_IMAGE_DIR)/template.xml), ) 279 TEST_OPTS_JCOV := true 280 JCOV_IMAGE_DIR := $(JDK_IMAGE_DIR) 281 else 282 TEST_OPTS_JCOV := false 283 JCOV_IMAGE_DIR := 284 endif 285 286 ################################################################################ 287 # Generate the ephemeral spec file 288 ################################################################################ 289 290 # Now we can include additional custom support. 291 # This might define CUSTOM_NEW_SPEC_LINE 292 ifneq ($(CUSTOM_MAKE_DIR), ) 293 include $(CUSTOM_MAKE_DIR)/RunTestsPrebuilt.gmk 294 endif 295 296 NEW_SPEC := $(OUTPUTDIR)/run-test-spec.gmk 297 298 $(call CreateNewSpec, $(NEW_SPEC), \ 299 # Generated file -- do not edit!, \ 300 SPEC := $(NEW_SPEC), \ 301 TOPDIR := $(TOPDIR), \ 302 OUTPUTDIR := $(OUTPUTDIR), \ 303 BOOT_JDK := $(BOOT_JDK), \ 304 JT_HOME := $(JT_HOME), \ 305 JDK_IMAGE_DIR := $(JDK_IMAGE_DIR), \ 306 JCOV_IMAGE_DIR := $(JCOV_IMAGE_DIR), \ 307 TEST_IMAGE_DIR := $(TEST_IMAGE_DIR), \ 308 SYMBOLS_IMAGE_DIR := $(SYMBOLS_IMAGE_DIR), \ 309 MAKE := $(MAKE), \ 310 BASH := $(BASH), \ 311 JIB_JAR := $(JIB_JAR), \ 312 FIXPATH := $(FIXPATH), \ 313 PATH_SEP := $(PATH_SEP), \ 314 OPENJDK_TARGET_OS := $(OPENJDK_TARGET_OS), \ 315 OPENJDK_TARGET_OS_TYPE := $(OPENJDK_TARGET_OS_TYPE), \ 316 OPENJDK_TARGET_OS_ENV := $(OPENJDK_TARGET_OS_ENV), \ 317 OPENJDK_TARGET_CPU := $(OPENJDK_TARGET_CPU), \ 318 OPENJDK_TARGET_CPU_ARCH := $(OPENJDK_TARGET_CPU_ARCH), \ 319 OPENJDK_TARGET_CPU_BITS := $(OPENJDK_TARGET_CPU_BITS), \ 320 OPENJDK_TARGET_CPU_ENDIAN := $(OPENJDK_TARGET_CPU_ENDIAN), \ 321 NUM_CORES := $(NUM_CORES), \ 322 MEMORY_SIZE := $(MEMORY_SIZE), \ 323 LD_JAOTC := $(LD_JAOTC), \ 324 LIBRARY_PREFIX := $(LIBRARY_PREFIX), \ 325 SHARED_LIBRARY_SUFFIX := $(SHARED_LIBRARY_SUFFIX), \ 326 include $(TOPDIR)/make/RunTestsPrebuiltSpec.gmk, \ 327 TEST_OPTS_JCOV := $(TEST_OPTS_JCOV), \ 328 $(CUSTOM_NEW_SPEC_LINE), \ 329 ) 330 331 ################################################################################ 332 # The run-test-prebuilt target 333 ################################################################################ 334 335 SPEC := $(NEW_SPEC) 336 337 default: all 338 339 run-test-prebuilt: 340 @$(RM) -f $(MAKESUPPORT_OUTPUTDIR)/exit-with-error 341 @cd $(TOPDIR) && $(MAKE) $(MAKE_ARGS) -f make/RunTests.gmk run-test \ 342 TEST="$(TEST)" 343 344 all: run-test-prebuilt 345 346 .PHONY: default all |