668 $(info NewVariable $1: >$(strip $($1))<) \ 669 $(info OldVariable $1: >$(strip $($1_old))<)) \ 670 $(call WriteFile, $1_old:=$(call DoubleDollar,$($1)), \ 671 $(call DependOnVariableFileName, $1, $2))) \ 672 $(call DependOnVariableFileName, $1, $2) \ 673 ) 674 675 # Main macro 676 # Param 1 - Name of variable 677 # Param 2 - (optional) name of file to store value in 678 DependOnVariable = \ 679 $(call DependOnVariableHelper,$(strip $1),$(strip $2)) 680 681 ################################################################################ 682 # Failure logging support macros. These are supposed to be used by the Setup* 683 # compilation macros. 684 # 685 # LogFailures will run a command and store a copy of output in a specified file. 686 # If the command succeeds, the file is deleted, otherwise it is moved to the 687 # failure-logs directory. 688 # Param 1 - The log file of the failed command 689 # Param 2 - A compact but representative name to describe this command 690 # Param 3 - Command to run 691 LogFailures = \ 692 ( $3 > >($(TEE) $1) 2> >($(TEE) $1 >&2) || \ 693 (exitcode=$(DOLLAR)$(DOLLAR)? && \ 694 $(CP) $1 $(MAKESUPPORT_OUTPUTDIR)/failure-logs/$(strip $2).log && \ 695 exit $(DOLLAR)$(DOLLAR)exitcode) ) 696 697 ################################################################################ 698 # Find lib dir for module 699 # Param 1 - module name 700 ifeq ($(OPENJDK_TARGET_OS_TYPE), unix) 701 FindLibDirForModule = \ 702 $(SUPPORT_OUTPUTDIR)/modules_libs/$(strip $1)$(OPENJDK_TARGET_CPU_LIBDIR) 703 else 704 FindLibDirForModule = \ 705 $(SUPPORT_OUTPUTDIR)/modules_libs/$(strip $1) 706 endif 707 708 ################################################################################ 709 # Return a string suitable for use after a -classpath option. It will correct and safe to use 710 # on all platforms. Arguments are given as space separate classpath entries. 711 # param 1 : A space separated list of classpath entries 712 # The surrounding strip is needed to keep additional whitespace out 713 PathList = \ 714 "$(subst $(SPACE),$(PATH_SEP),$(strip $1))" 715 | 668 $(info NewVariable $1: >$(strip $($1))<) \ 669 $(info OldVariable $1: >$(strip $($1_old))<)) \ 670 $(call WriteFile, $1_old:=$(call DoubleDollar,$($1)), \ 671 $(call DependOnVariableFileName, $1, $2))) \ 672 $(call DependOnVariableFileName, $1, $2) \ 673 ) 674 675 # Main macro 676 # Param 1 - Name of variable 677 # Param 2 - (optional) name of file to store value in 678 DependOnVariable = \ 679 $(call DependOnVariableHelper,$(strip $1),$(strip $2)) 680 681 ################################################################################ 682 # Failure logging support macros. These are supposed to be used by the Setup* 683 # compilation macros. 684 # 685 # LogFailures will run a command and store a copy of output in a specified file. 686 # If the command succeeds, the file is deleted, otherwise it is moved to the 687 # failure-logs directory. 688 # Param 1 - The base name of the log file / command line file 689 # Param 2 - A compact but representative name to describe this command 690 # Param 3 - Command to run 691 LogFailures = \ 692 ( $(ECHO) '$3' > $1.cmdline && \ 693 ( $3 > >($(TEE) $1.log) 2> >($(TEE) $1.log >&2) || \ 694 (exitcode=$(DOLLAR)$(DOLLAR)? && \ 695 $(CP) $1.log $(MAKESUPPORT_OUTPUTDIR)/failure-logs/$(strip $2).log && \ 696 exit $(DOLLAR)$(DOLLAR)exitcode) ) ) 697 698 ################################################################################ 699 # Find lib dir for module 700 # Param 1 - module name 701 ifeq ($(OPENJDK_TARGET_OS_TYPE), unix) 702 FindLibDirForModule = \ 703 $(SUPPORT_OUTPUTDIR)/modules_libs/$(strip $1)$(OPENJDK_TARGET_CPU_LIBDIR) 704 else 705 FindLibDirForModule = \ 706 $(SUPPORT_OUTPUTDIR)/modules_libs/$(strip $1) 707 endif 708 709 ################################################################################ 710 # Return a string suitable for use after a -classpath option. It will correct and safe to use 711 # on all platforms. Arguments are given as space separate classpath entries. 712 # param 1 : A space separated list of classpath entries 713 # The surrounding strip is needed to keep additional whitespace out 714 PathList = \ 715 "$(subst $(SPACE),$(PATH_SEP),$(strip $1))" 716 |