131 ADD_SRC_ROOT:=@ADD_SRC_ROOT@ 132 OVERRIDE_SRC_ROOT:=@OVERRIDE_SRC_ROOT@ 133 134 # The top-level directory of the forest (SRC_ROOT is a traditional alias) 135 TOPDIR:=@TOPDIR@ 136 # These two versions of TOPDIR are used in string comparisons 137 ORIGINAL_TOPDIR:=@ORIGINAL_TOPDIR@ 138 CANONICAL_TOPDIR:=@CANONICAL_TOPDIR@ 139 SRC_ROOT:=@TOPDIR@ 140 141 OUTPUT_ROOT:=@OUTPUT_ROOT@ 142 JDK_TOPDIR:=@JDK_TOPDIR@ 143 LANGTOOLS_TOPDIR:=@LANGTOOLS_TOPDIR@ 144 CORBA_TOPDIR:=@CORBA_TOPDIR@ 145 JAXP_TOPDIR:=@JAXP_TOPDIR@ 146 JAXWS_TOPDIR:=@JAXWS_TOPDIR@ 147 HOTSPOT_TOPDIR:=@HOTSPOT_TOPDIR@ 148 NASHORN_TOPDIR:=@NASHORN_TOPDIR@ 149 COPYRIGHT_YEAR:=@COPYRIGHT_YEAR@ 150 151 # Information gathered from the version.numbers file. 152 JDK_MAJOR_VERSION:=@JDK_MAJOR_VERSION@ 153 JDK_MINOR_VERSION:=@JDK_MINOR_VERSION@ 154 JDK_MICRO_VERSION:=@JDK_MICRO_VERSION@ 155 JDK_UPDATE_VERSION:=@JDK_UPDATE_VERSION@ 156 JDK_BUILD_NUMBER:=@JDK_BUILD_NUMBER@ 157 MILESTONE:=@MILESTONE@ 158 LAUNCHER_NAME:=@LAUNCHER_NAME@ 159 PRODUCT_NAME:=@PRODUCT_NAME@ 160 PRODUCT_SUFFIX:=@PRODUCT_SUFFIX@ 161 JDK_RC_PLATFORM_NAME:=@JDK_RC_PLATFORM_NAME@ 162 COMPANY_NAME:=@COMPANY_NAME@ 163 MACOSX_BUNDLE_NAME_BASE=@MACOSX_BUNDLE_NAME_BASE@ 164 MACOSX_BUNDLE_ID_BASE=@MACOSX_BUNDLE_ID_BASE@ 165 USER_RELEASE_SUFFIX=@USER_RELEASE_SUFFIX@ 166 167 # Different version strings generated from the above information. 168 JDK_VERSION:=@JDK_VERSION@ 169 RUNTIME_NAME=$(PRODUCT_NAME) $(PRODUCT_SUFFIX) 170 COOKED_BUILD_NUMBER:=@COOKED_BUILD_NUMBER@ 171 # These variables need to be generated here so that MILESTONE and 172 # JDK_BUILD_NUMBER can be overridden on the make command line. 173 ifeq ($(MILESTONE), fcs) 174 RELEASE=$(JDK_VERSION)$(BUILD_VARIANT_RELEASE) 175 else 176 RELEASE=$(JDK_VERSION)-$(MILESTONE)$(BUILD_VARIANT_RELEASE) 177 endif 178 179 ifneq ($(USER_RELEASE_SUFFIX), ) 180 FULL_VERSION=$(RELEASE)-$(USER_RELEASE_SUFFIX)-$(JDK_BUILD_NUMBER) 181 else 182 FULL_VERSION=$(RELEASE)-$(JDK_BUILD_NUMBER) 183 endif 184 JRE_RELEASE_VERSION:=$(FULL_VERSION) 185 JDK_VERSION_FOR_MANIFEST := $(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION).$(if $(JDK_UPDATE_VERSION),$(JDK_UPDATE_VERSION),0).$(COOKED_BUILD_NUMBER) 186 187 # How to compile the code: release, fastdebug or slowdebug 188 DEBUG_LEVEL:=@DEBUG_LEVEL@ 189 190 # This is the JDK variant to build. 191 # The JDK variant is a name for a specific set of modules to be compiled for the JDK. 192 JDK_VARIANT:=@JDK_VARIANT@ 193 194 # Should we compile support for running with a graphical UI? (ie headful) 195 # Should we compile support for running without? (ie headless) 196 SUPPORT_HEADFUL:=@SUPPORT_HEADFUL@ 197 SUPPORT_HEADLESS:=@SUPPORT_HEADLESS@ 198 # Legacy defines controlled by the SUPPORT_HEADLESS and SUPPORT_HEADFUL options. 199 @BUILD_HEADLESS@ 200 201 # These are the libjvms that we want to build. 202 # The java launcher uses the default. 203 # The others can be selected by specifying -client -server -minimal1 -kernel -zero or -zeroshark 204 # on the java launcher command line. 205 JVM_VARIANTS:=@JVM_VARIANTS@ 671 OS_VERSION_MINOR:=@OS_VERSION_MINOR@ 672 OS_VERSION_MICRO:=@OS_VERSION_MICRO@ 673 674 # Images directory definitions 675 JDK_IMAGE_SUBDIR:=jdk 676 JRE_IMAGE_SUBDIR:=jre 677 678 # Colon left out to be able to override output dir for bootcycle-images 679 JDK_IMAGE_DIR=$(IMAGES_OUTPUTDIR)/$(JDK_IMAGE_SUBDIR) 680 JRE_IMAGE_DIR=$(IMAGES_OUTPUTDIR)/$(JRE_IMAGE_SUBDIR) 681 682 # Test image, as above 683 TEST_IMAGE_SUBDIR:=test 684 TEST_IMAGE_DIR=$(IMAGES_OUTPUTDIR)/$(TEST_IMAGE_SUBDIR) 685 686 # Symbols image 687 SYMBOLS_IMAGE_SUBDIR:=symbols 688 SYMBOLS_IMAGE_DIR=$(IMAGES_OUTPUTDIR)/$(SYMBOLS_IMAGE_SUBDIR) 689 690 # Macosx bundles directory definitions 691 JDK_MACOSX_BUNDLE_SUBDIR=jdk-bundle/jdk$(JDK_VERSION).jdk/Contents 692 JRE_MACOSX_BUNDLE_SUBDIR=jre-bundle/jre$(JDK_VERSION).jre/Contents 693 JDK_MACOSX_BUNDLE_DIR=$(IMAGES_OUTPUTDIR)/$(JDK_MACOSX_BUNDLE_SUBDIR) 694 JRE_MACOSX_BUNDLE_DIR=$(IMAGES_OUTPUTDIR)/$(JRE_MACOSX_BUNDLE_SUBDIR) 695 696 # This macro is called to allow inclusion of closed source counterparts. 697 # Unless overridden in closed sources, it expands to nothing. 698 # Usage: This function is called in an open makefile, with the following 699 # arguments: 700 # $1 the name of the repo, or empty if the top-level repo. 701 # $2 the name of the makefile 702 define IncludeCustomExtension 703 endef 704 705 # Include the custom-spec.gmk file if it exists 706 -include $(dir @SPEC@)/custom-spec.gmk | 131 ADD_SRC_ROOT:=@ADD_SRC_ROOT@ 132 OVERRIDE_SRC_ROOT:=@OVERRIDE_SRC_ROOT@ 133 134 # The top-level directory of the forest (SRC_ROOT is a traditional alias) 135 TOPDIR:=@TOPDIR@ 136 # These two versions of TOPDIR are used in string comparisons 137 ORIGINAL_TOPDIR:=@ORIGINAL_TOPDIR@ 138 CANONICAL_TOPDIR:=@CANONICAL_TOPDIR@ 139 SRC_ROOT:=@TOPDIR@ 140 141 OUTPUT_ROOT:=@OUTPUT_ROOT@ 142 JDK_TOPDIR:=@JDK_TOPDIR@ 143 LANGTOOLS_TOPDIR:=@LANGTOOLS_TOPDIR@ 144 CORBA_TOPDIR:=@CORBA_TOPDIR@ 145 JAXP_TOPDIR:=@JAXP_TOPDIR@ 146 JAXWS_TOPDIR:=@JAXWS_TOPDIR@ 147 HOTSPOT_TOPDIR:=@HOTSPOT_TOPDIR@ 148 NASHORN_TOPDIR:=@NASHORN_TOPDIR@ 149 COPYRIGHT_YEAR:=@COPYRIGHT_YEAR@ 150 151 # New (JEP-223) version information 152 153 ## Building blocks of the version string 154 # First three version numbers, with well-specified meanings (numerical) 155 VERSION_MAJOR := @VERSION_MAJOR@ 156 VERSION_MINOR := @VERSION_MINOR@ 157 VERSION_SECURITY := @VERSION_SECURITY@ 158 # Optional fourth element for use by OpenJDK consumers (numerical) 159 VERSION_PATCH := @VERSION_PATCH@ 160 # The pre-release identifier (string) 161 VERSION_PRE := @VERSION_PRE@ 162 # The build number (numerical) 163 VERSION_BUILD := @VERSION_BUILD@ 164 # Optional build information (string) 165 VERSION_OPT := @VERSION_OPT@ 166 167 ## Composite variables 168 # The version number as a dot separated sequence of numbers, e.g. 9.0.1 169 VERSION_NUMBER := @VERSION_NUMBER@ 170 # VERSION_NUMBER but always with exactly 4 positions, with 0 for empty positions. 171 VERSION_NUMBER_FOUR_POSITIONS := @VERSION_NUMBER_FOUR_POSITIONS@ 172 # The complete version string, with additional build information 173 VERSION_STRING := @VERSION_STRING@ 174 # The short version string, without trailing zeroes and just PRE, if present. 175 VERSION_SHORT := @VERSION_SHORT@ 176 # The Java specification version. It should be equal to version number. 177 VERSION_SPECIFICATION := @VERSION_NUMBER@ 178 179 # Convenience CFLAGS settings for passing version information into native programs. 180 VERSION_CFLAGS := \ 181 -DVERSION_MAJOR=$(VERSION_MAJOR) \ 182 -DVERSION_MINOR=$(VERSION_MINOR) \ 183 -DVERSION_SECURITY=$(VERSION_SECURITY) \ 184 -DVERSION_PATCH=$(VERSION_PATCH) \ 185 -DVERSION_PRE='"$(VERSION_PRE)"' \ 186 -DVERSION_BUILD=$(VERSION_BUILD) \ 187 -DVERSION_OPT='"$(VERSION_OPT)"' \ 188 -DVERSION_NUMBER='"$(VERSION_NUMBER)"' \ 189 -DVERSION_STRING='"$(VERSION_STRING)"' \ 190 -DVERSION_SHORT='"$(VERSION_SHORT)"' \ 191 -DVERSION_SPECIFICATION='"$(VERSION_SPECIFICATION)"' \ 192 # 193 194 # Platform naming variables 195 LAUNCHER_NAME:=@LAUNCHER_NAME@ 196 PRODUCT_NAME:=@PRODUCT_NAME@ 197 PRODUCT_SUFFIX:=@PRODUCT_SUFFIX@ 198 JDK_RC_PLATFORM_NAME:=@JDK_RC_PLATFORM_NAME@ 199 COMPANY_NAME:=@COMPANY_NAME@ 200 MACOSX_BUNDLE_NAME_BASE=@MACOSX_BUNDLE_NAME_BASE@ 201 MACOSX_BUNDLE_ID_BASE=@MACOSX_BUNDLE_ID_BASE@ 202 203 # Different naming strings generated from the above information. 204 RUNTIME_NAME=$(PRODUCT_NAME) $(PRODUCT_SUFFIX) 205 206 # How to compile the code: release, fastdebug or slowdebug 207 DEBUG_LEVEL:=@DEBUG_LEVEL@ 208 209 # This is the JDK variant to build. 210 # The JDK variant is a name for a specific set of modules to be compiled for the JDK. 211 JDK_VARIANT:=@JDK_VARIANT@ 212 213 # Should we compile support for running with a graphical UI? (ie headful) 214 # Should we compile support for running without? (ie headless) 215 SUPPORT_HEADFUL:=@SUPPORT_HEADFUL@ 216 SUPPORT_HEADLESS:=@SUPPORT_HEADLESS@ 217 # Legacy defines controlled by the SUPPORT_HEADLESS and SUPPORT_HEADFUL options. 218 @BUILD_HEADLESS@ 219 220 # These are the libjvms that we want to build. 221 # The java launcher uses the default. 222 # The others can be selected by specifying -client -server -minimal1 -kernel -zero or -zeroshark 223 # on the java launcher command line. 224 JVM_VARIANTS:=@JVM_VARIANTS@ 690 OS_VERSION_MINOR:=@OS_VERSION_MINOR@ 691 OS_VERSION_MICRO:=@OS_VERSION_MICRO@ 692 693 # Images directory definitions 694 JDK_IMAGE_SUBDIR:=jdk 695 JRE_IMAGE_SUBDIR:=jre 696 697 # Colon left out to be able to override output dir for bootcycle-images 698 JDK_IMAGE_DIR=$(IMAGES_OUTPUTDIR)/$(JDK_IMAGE_SUBDIR) 699 JRE_IMAGE_DIR=$(IMAGES_OUTPUTDIR)/$(JRE_IMAGE_SUBDIR) 700 701 # Test image, as above 702 TEST_IMAGE_SUBDIR:=test 703 TEST_IMAGE_DIR=$(IMAGES_OUTPUTDIR)/$(TEST_IMAGE_SUBDIR) 704 705 # Symbols image 706 SYMBOLS_IMAGE_SUBDIR:=symbols 707 SYMBOLS_IMAGE_DIR=$(IMAGES_OUTPUTDIR)/$(SYMBOLS_IMAGE_SUBDIR) 708 709 # Macosx bundles directory definitions 710 JDK_MACOSX_BUNDLE_SUBDIR=jdk-bundle/jdk$(VERSION_NUMBER).jdk/Contents 711 JRE_MACOSX_BUNDLE_SUBDIR=jre-bundle/jre$(VERSION_NUMBER).jre/Contents 712 JDK_MACOSX_BUNDLE_DIR=$(IMAGES_OUTPUTDIR)/$(JDK_MACOSX_BUNDLE_SUBDIR) 713 JRE_MACOSX_BUNDLE_DIR=$(IMAGES_OUTPUTDIR)/$(JRE_MACOSX_BUNDLE_SUBDIR) 714 715 # This macro is called to allow inclusion of closed source counterparts. 716 # Unless overridden in closed sources, it expands to nothing. 717 # Usage: This function is called in an open makefile, with the following 718 # arguments: 719 # $1 the name of the repo, or empty if the top-level repo. 720 # $2 the name of the makefile 721 define IncludeCustomExtension 722 endef 723 724 # Include the custom-spec.gmk file if it exists 725 -include $(dir @SPEC@)/custom-spec.gmk |