219 220 # Universal binaries on macosx 221 MACOSX_UNIVERSAL=@MACOSX_UNIVERSAL@ 222 223 # Legacy setting: -debug or -fastdebug 224 # Still used in version string... 225 BUILD_VARIANT_RELEASE:=@BUILD_VARIANT_RELEASE@ 226 227 # JDK_OUTPUTDIR specifies where a working jvm is built. 228 # You can run $(JDK_OUTPUTDIR)/bin/java 229 # Though the layout of the contents of $(JDK_OUTPUTDIR) is not 230 # yet the same as a default installation. 231 # 232 # When you run "make install" it will create the standardized 233 # layout for the jdk and the jre inside the IMAGES_OUTPUTDIR subdir. 234 # Then it will copy the contents of the jdk into the installation 235 # directory. 236 237 BUILD_OUTPUT:=@BUILD_OUTPUT@ 238 # Colon left out to be able to override IMAGES_OUTPUTDIR for bootcycle-images 239 LANGTOOLS_OUTPUTDIR=$(BUILD_OUTPUT)/langtools 240 CORBA_OUTPUTDIR=$(BUILD_OUTPUT)/corba 241 JAXP_OUTPUTDIR=$(BUILD_OUTPUT)/jaxp 242 JAXWS_OUTPUTDIR=$(BUILD_OUTPUT)/jaxws 243 HOTSPOT_OUTPUTDIR=$(BUILD_OUTPUT)/hotspot 244 JDK_OUTPUTDIR=$(BUILD_OUTPUT)/jdk 245 NASHORN_OUTPUTDIR=$(BUILD_OUTPUT)/nashorn 246 IMAGES_OUTPUTDIR=$(BUILD_OUTPUT)/images 247 TESTMAKE_OUTPUTDIR=$(BUILD_OUTPUT)/testmake 248 MAKESUPPORT_OUTPUTDIR=$(BUILD_OUTPUT)/make-support 249 250 LANGTOOLS_DIST=$(LANGTOOLS_OUTPUTDIR)/dist 251 CORBA_DIST=$(CORBA_OUTPUTDIR)/dist 252 JAXP_DIST=$(JAXP_OUTPUTDIR)/dist 253 JAXWS_DIST=$(JAXWS_OUTPUTDIR)/dist 254 HOTSPOT_DIST=@HOTSPOT_DIST@ 255 NASHORN_DIST=$(NASHORN_OUTPUTDIR)/dist 256 257 BUILD_HOTSPOT=@BUILD_HOTSPOT@ 258 259 # The boot jdk to use. These are overridden in bootcycle-spec.gmk. Make sure to keep 260 # them in sync. 261 BOOT_JDK:=@BOOT_JDK@ 262 BOOT_RTJAR:=@BOOT_RTJAR@ 263 BOOT_TOOLSJAR=$(BOOT_JDK)/lib/tools.jar 264 265 # When compiling Java source to be run by the boot jdk 266 # use these extra flags, eg -source 6 -target 6 267 BOOT_JDK_SOURCETARGET:=@BOOT_JDK_SOURCETARGET@ 268 269 # Information about the build system 270 NUM_CORES:=@NUM_CORES@ 271 MEMORY_SIZE:=@MEMORY_SIZE@ 272 # Enable sjavac support = use a javac server, 273 # multi core javac compilation and dependency tracking. 274 ENABLE_SJAVAC:=@ENABLE_SJAVAC@ 275 # Store sjavac server synchronization files here, and 467 JARSIGNER_CMD:=@JARSIGNER@ 468 SJAVAC_SERVER_JAVA_CMD:=@SJAVAC_SERVER_JAVA@ 469 # These variables are meant to be used. They are defined with = instead of := to make 470 # it possible to override only the *_CMD variables. 471 JAVA=@FIXPATH@ $(JAVA_CMD) $(JAVA_FLAGS_BIG) $(JAVA_FLAGS) 472 JAVA_SMALL=@FIXPATH@ $(JAVA_CMD) $(JAVA_FLAGS_SMALL) $(JAVA_FLAGS) 473 JAVAC=@FIXPATH@ $(JAVAC_CMD) 474 JAVAH=@FIXPATH@ $(JAVAH_CMD) 475 JAR=@FIXPATH@ $(JAR_CMD) 476 NATIVE2ASCII=@FIXPATH@ $(NATIVE2ASCII_CMD) $(JAVA_TOOL_FLAGS_SMALL) 477 JARSIGNER=@FIXPATH@ $(JARSIGNER_CMD) 478 # A specific java binary with specific options can be used to run 479 # the long running background sjavac servers and other long running tasks. 480 SJAVAC_SERVER_JAVA=@FIXPATH@ $(SJAVAC_SERVER_JAVA_CMD) $(SJAVAC_SERVER_JAVA_FLAGS) 481 482 # Hotspot sets this variable before reading the SPEC when compiling sa-jdi.jar. Avoid 483 # overriding that value by using ?=. 484 JAVAC_FLAGS?=@JAVAC_FLAGS@ 485 486 # You run the new javac using the boot jdk with $(BOOT_JDK)/bin/java $(NEW_JAVAC) ... 487 INTERIM_LANGTOOLS_JAR := $(LANGTOOLS_OUTPUTDIR)/dist/interim_langtools.jar 488 INTERIM_LANGTOOLS_ARGS := "-Xbootclasspath/p:$(INTERIM_LANGTOOLS_JAR)" -cp $(INTERIM_LANGTOOLS_JAR) 489 NEW_JAVAC = $(INTERIM_LANGTOOLS_ARGS) com.sun.tools.javac.Main 490 NEW_JAVADOC = $(INTERIM_LANGTOOLS_ARGS) com.sun.tools.javadoc.Main 491 492 # The interim corba jar is needed for running rmic 493 INTERIM_CORBA_JAR := $(CORBA_OUTPUTDIR)/dist/interim_corba.jar 494 495 # Base flags for RC 496 # Guarding this against resetting value. Legacy make files include spec multiple 497 # times. 498 ifndef RC_FLAGS 499 RC_FLAGS:=@RC_FLAGS@ 500 endif 501 502 # Tools adhering to a minimal and common standard of posix compliance. 503 AWK:=@AWK@ 504 BASENAME:=@BASENAME@ 505 BASH:=@BASH@ 506 CAT:=@CAT@ 507 CCACHE:=@CCACHE@ 508 # CD is going away, but remains to cater for legacy makefiles. 509 CD:=cd 510 CHMOD:=@CHMOD@ 511 CODESIGN:=@CODESIGN@ 512 COMM:=@COMM@ 513 CP:=@CP@ 678 USE_EXTERNAL_LIBPNG:=@USE_EXTERNAL_LIBPNG@ 679 PNG_LIBS:=@PNG_LIBS@ 680 PNG_CFLAGS:=@PNG_CFLAGS@ 681 682 683 #################################################### 684 # 685 # Misc 686 # 687 688 # Name of Service Agent library 689 SALIB_NAME=@SALIB_NAME@ 690 691 INCLUDE_SA=@INCLUDE_SA@ 692 693 OS_VERSION_MAJOR:=@OS_VERSION_MAJOR@ 694 OS_VERSION_MINOR:=@OS_VERSION_MINOR@ 695 OS_VERSION_MICRO:=@OS_VERSION_MICRO@ 696 697 # Images directory definitions 698 JDK_IMAGE_SUBDIR:=j2sdk-image 699 JRE_IMAGE_SUBDIR:=j2re-image 700 JDK_OVERLAY_IMAGE_SUBDIR:=j2sdk-overlay-image 701 JRE_OVERLAY_IMAGE_SUBDIR:=j2re-overlay-image 702 # Colon left out to be able to override output dir for bootcycle-images 703 JDK_IMAGE_DIR=$(IMAGES_OUTPUTDIR)/$(JDK_IMAGE_SUBDIR) 704 JRE_IMAGE_DIR=$(IMAGES_OUTPUTDIR)/$(JRE_IMAGE_SUBDIR) 705 JDK_OVERLAY_IMAGE_DIR=$(IMAGES_OUTPUTDIR)/$(JDK_OVERLAY_IMAGE_SUBDIR) 706 JRE_OVERLAY_IMAGE_DIR=$(IMAGES_OUTPUTDIR)/$(JRE_OVERLAY_IMAGE_SUBDIR) 707 708 # Macosx bundles directory definitions 709 JDK_BUNDLE_SUBDIR=j2sdk-bundle/jdk$(JDK_VERSION).jdk/Contents 710 JRE_BUNDLE_SUBDIR=j2re-bundle/jre$(JDK_VERSION).jre/Contents 711 JDK_BUNDLE_DIR=$(IMAGES_OUTPUTDIR)/$(JDK_BUNDLE_SUBDIR) 712 JRE_BUNDLE_DIR=$(IMAGES_OUTPUTDIR)/$(JRE_BUNDLE_SUBDIR) 713 714 # This macro is called to allow inclusion of closed source counterparts. 715 # Unless overridden in closed sources, it expands to nothing. 716 # Usage: This function is called in an open makefile, with the following 717 # arguments: 718 # $1 the name of the repo, or empty if the top-level repo. 719 # $2 the name of the makefile 720 define IncludeCustomExtension 721 endef 722 723 # Include the custom-spec.gmk file if it exists 724 -include $(dir @SPEC@)/custom-spec.gmk | 219 220 # Universal binaries on macosx 221 MACOSX_UNIVERSAL=@MACOSX_UNIVERSAL@ 222 223 # Legacy setting: -debug or -fastdebug 224 # Still used in version string... 225 BUILD_VARIANT_RELEASE:=@BUILD_VARIANT_RELEASE@ 226 227 # JDK_OUTPUTDIR specifies where a working jvm is built. 228 # You can run $(JDK_OUTPUTDIR)/bin/java 229 # Though the layout of the contents of $(JDK_OUTPUTDIR) is not 230 # yet the same as a default installation. 231 # 232 # When you run "make install" it will create the standardized 233 # layout for the jdk and the jre inside the IMAGES_OUTPUTDIR subdir. 234 # Then it will copy the contents of the jdk into the installation 235 # directory. 236 237 BUILD_OUTPUT:=@BUILD_OUTPUT@ 238 # Colon left out to be able to override IMAGES_OUTPUTDIR for bootcycle-images 239 SUPPORT_OUTPUTDIR=$(BUILD_OUTPUT)/support 240 BUILDTOOLS_OUTPUTDIR=$(BUILD_OUTPUT)/buildtools 241 MAKESUPPORT_OUTPUTDIR=$(BUILD_OUTPUT)/makesupport 242 243 HOTSPOT_OUTPUTDIR=$(BUILD_OUTPUT)/hotspot 244 JDK_OUTPUTDIR=$(BUILD_OUTPUT)/jdk 245 IMAGES_OUTPUTDIR=$(BUILD_OUTPUT)/images 246 TESTMAKE_OUTPUTDIR=$(BUILD_OUTPUT)/testmake 247 MAKESUPPORT_OUTPUTDIR=$(BUILD_OUTPUT)/make-support 248 249 HOTSPOT_DIST=@HOTSPOT_DIST@ 250 251 BUILD_HOTSPOT=@BUILD_HOTSPOT@ 252 253 # The boot jdk to use. These are overridden in bootcycle-spec.gmk. Make sure to keep 254 # them in sync. 255 BOOT_JDK:=@BOOT_JDK@ 256 BOOT_RTJAR:=@BOOT_RTJAR@ 257 BOOT_TOOLSJAR=$(BOOT_JDK)/lib/tools.jar 258 259 # When compiling Java source to be run by the boot jdk 260 # use these extra flags, eg -source 6 -target 6 261 BOOT_JDK_SOURCETARGET:=@BOOT_JDK_SOURCETARGET@ 262 263 # Information about the build system 264 NUM_CORES:=@NUM_CORES@ 265 MEMORY_SIZE:=@MEMORY_SIZE@ 266 # Enable sjavac support = use a javac server, 267 # multi core javac compilation and dependency tracking. 268 ENABLE_SJAVAC:=@ENABLE_SJAVAC@ 269 # Store sjavac server synchronization files here, and 461 JARSIGNER_CMD:=@JARSIGNER@ 462 SJAVAC_SERVER_JAVA_CMD:=@SJAVAC_SERVER_JAVA@ 463 # These variables are meant to be used. They are defined with = instead of := to make 464 # it possible to override only the *_CMD variables. 465 JAVA=@FIXPATH@ $(JAVA_CMD) $(JAVA_FLAGS_BIG) $(JAVA_FLAGS) 466 JAVA_SMALL=@FIXPATH@ $(JAVA_CMD) $(JAVA_FLAGS_SMALL) $(JAVA_FLAGS) 467 JAVAC=@FIXPATH@ $(JAVAC_CMD) 468 JAVAH=@FIXPATH@ $(JAVAH_CMD) 469 JAR=@FIXPATH@ $(JAR_CMD) 470 NATIVE2ASCII=@FIXPATH@ $(NATIVE2ASCII_CMD) $(JAVA_TOOL_FLAGS_SMALL) 471 JARSIGNER=@FIXPATH@ $(JARSIGNER_CMD) 472 # A specific java binary with specific options can be used to run 473 # the long running background sjavac servers and other long running tasks. 474 SJAVAC_SERVER_JAVA=@FIXPATH@ $(SJAVAC_SERVER_JAVA_CMD) $(SJAVAC_SERVER_JAVA_FLAGS) 475 476 # Hotspot sets this variable before reading the SPEC when compiling sa-jdi.jar. Avoid 477 # overriding that value by using ?=. 478 JAVAC_FLAGS?=@JAVAC_FLAGS@ 479 480 # You run the new javac using the boot jdk with $(BOOT_JDK)/bin/java $(NEW_JAVAC) ... 481 # Use = assignment to be able to override in bootcycle-spec.gmk 482 INTERIM_LANGTOOLS_JAR = $(BUILDTOOLS_OUTPUTDIR)/interim_langtools.jar 483 INTERIM_LANGTOOLS_ARGS = "-Xbootclasspath/p:$(INTERIM_LANGTOOLS_JAR)" -cp $(INTERIM_LANGTOOLS_JAR) 484 NEW_JAVAC = $(INTERIM_LANGTOOLS_ARGS) com.sun.tools.javac.Main 485 NEW_JAVADOC = $(INTERIM_LANGTOOLS_ARGS) com.sun.tools.javadoc.Main 486 487 # The interim corba jar is needed for running rmic 488 INTERIM_CORBA_JAR = $(BUILDTOOLS_OUTPUTDIR)/interim_corba.jar 489 490 # Base flags for RC 491 # Guarding this against resetting value. Legacy make files include spec multiple 492 # times. 493 ifndef RC_FLAGS 494 RC_FLAGS:=@RC_FLAGS@ 495 endif 496 497 # Tools adhering to a minimal and common standard of posix compliance. 498 AWK:=@AWK@ 499 BASENAME:=@BASENAME@ 500 BASH:=@BASH@ 501 CAT:=@CAT@ 502 CCACHE:=@CCACHE@ 503 # CD is going away, but remains to cater for legacy makefiles. 504 CD:=cd 505 CHMOD:=@CHMOD@ 506 CODESIGN:=@CODESIGN@ 507 COMM:=@COMM@ 508 CP:=@CP@ 673 USE_EXTERNAL_LIBPNG:=@USE_EXTERNAL_LIBPNG@ 674 PNG_LIBS:=@PNG_LIBS@ 675 PNG_CFLAGS:=@PNG_CFLAGS@ 676 677 678 #################################################### 679 # 680 # Misc 681 # 682 683 # Name of Service Agent library 684 SALIB_NAME=@SALIB_NAME@ 685 686 INCLUDE_SA=@INCLUDE_SA@ 687 688 OS_VERSION_MAJOR:=@OS_VERSION_MAJOR@ 689 OS_VERSION_MINOR:=@OS_VERSION_MINOR@ 690 OS_VERSION_MICRO:=@OS_VERSION_MICRO@ 691 692 # Images directory definitions 693 JDK_IMAGE_SUBDIR:=jdk 694 JRE_IMAGE_SUBDIR:=jre 695 # Colon left out to be able to override output dir for bootcycle-images 696 JDK_IMAGE_DIR=$(IMAGES_OUTPUTDIR)/$(JDK_IMAGE_SUBDIR) 697 JRE_IMAGE_DIR=$(IMAGES_OUTPUTDIR)/$(JRE_IMAGE_SUBDIR) 698 699 # Macosx bundles directory definitions 700 JDK_BUNDLE_SUBDIR=jdk-bundle/jdk$(JDK_VERSION).jdk/Contents 701 JRE_BUNDLE_SUBDIR=jre-bundle/jre$(JDK_VERSION).jre/Contents 702 JDK_BUNDLE_DIR=$(IMAGES_OUTPUTDIR)/$(JDK_BUNDLE_SUBDIR) 703 JRE_BUNDLE_DIR=$(IMAGES_OUTPUTDIR)/$(JRE_BUNDLE_SUBDIR) 704 705 # This macro is called to allow inclusion of closed source counterparts. 706 # Unless overridden in closed sources, it expands to nothing. 707 # Usage: This function is called in an open makefile, with the following 708 # arguments: 709 # $1 the name of the repo, or empty if the top-level repo. 710 # $2 the name of the makefile 711 define IncludeCustomExtension 712 endef 713 714 # Include the custom-spec.gmk file if it exists 715 -include $(dir @SPEC@)/custom-spec.gmk |