hotspot/make/Makefile
changeset 17006 b9bfa72b7dda
parent 16381 806d87cb0cc7
child 17010 62219bdec449
equal deleted inserted replaced
17004:4d2371d76a19 17006:b9bfa72b7dda
    17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    18 #
    18 #
    19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    20 # or visit www.oracle.com if you need additional information or have any
    20 # or visit www.oracle.com if you need additional information or have any
    21 # questions.
    21 # questions.
    22 #  
    22 #
    23 #
    23 #
    24 
    24 
    25 # Top level gnumake file for hotspot builds
    25 # Top level gnumake file for hotspot builds
    26 #
    26 #
    27 # Default is to build the both product images and construct an export dir.
    27 # Default is to build the both product images and construct an export dir.
    83 else
    83 else
    84   ALT_OUT=
    84   ALT_OUT=
    85 endif
    85 endif
    86 
    86 
    87 # Typical C1/C2 targets made available with this Makefile
    87 # Typical C1/C2 targets made available with this Makefile
    88 C1_VM_TARGETS=product1 fastdebug1 optimized1 jvmg1
    88 C1_VM_TARGETS=product1 fastdebug1 optimized1 debug1
    89 C2_VM_TARGETS=product  fastdebug  optimized  jvmg
    89 C2_VM_TARGETS=product  fastdebug  optimized  debug
    90 ZERO_VM_TARGETS=productzero fastdebugzero optimizedzero jvmgzero
    90 ZERO_VM_TARGETS=productzero fastdebugzero optimizedzero debugzero
    91 SHARK_VM_TARGETS=productshark fastdebugshark optimizedshark jvmgshark
    91 SHARK_VM_TARGETS=productshark fastdebugshark optimizedshark debugshark
    92 MINIMAL1_VM_TARGETS=productminimal1 fastdebugminimal1 jvmgminimal1
    92 MINIMAL1_VM_TARGETS=productminimal1 fastdebugminimal1 debugminimal1
    93 
    93 
    94 COMMON_VM_PRODUCT_TARGETS=product product1 docs export_product
    94 COMMON_VM_PRODUCT_TARGETS=product product1 docs export_product
    95 COMMON_VM_FASTDEBUG_TARGETS=fastdebug fastdebug1 docs export_fastdebug
    95 COMMON_VM_FASTDEBUG_TARGETS=fastdebug fastdebug1 docs export_fastdebug
    96 COMMON_VM_DEBUG_TARGETS=jvmg jvmg1 docs export_debug
    96 COMMON_VM_DEBUG_TARGETS=debug debug1 docs export_debug
    97 
    97 
    98 # JDK directory list
    98 # JDK directory list
    99 JDK_DIRS=bin include jre lib demo
    99 JDK_DIRS=bin include jre lib demo
   100 
   100 
   101 all:           all_product all_fastdebug
   101 all:           all_product all_fastdebug
   102 
   102 
   103 ifeq ($(JVM_VARIANT_MINIMAL1),true)
   103 ifeq ($(JVM_VARIANT_MINIMAL1),true)
   104 all_product:	productminimal1
   104 all_product:	productminimal1
   105 all_fastdebug:	fastdebugminimal1
   105 all_fastdebug:	fastdebugminimal1
   106 all_debug:	jvmgminimal1
   106 all_debug:	debugminimal1
   107 endif
   107 endif
   108 
   108 
   109 ifdef BUILD_CLIENT_ONLY
   109 ifdef BUILD_CLIENT_ONLY
   110 all_product:   product1 docs export_product
   110 all_product:   product1 docs export_product
   111 all_fastdebug: fastdebug1 docs export_fastdebug
   111 all_fastdebug: fastdebug1 docs export_fastdebug
   112 all_debug:     jvmg1 docs export_debug
   112 all_debug:     debug1 docs export_debug
   113 else
   113 else
   114 ifeq ($(MACOSX_UNIVERSAL),true)
   114 ifeq ($(MACOSX_UNIVERSAL),true)
   115 all_product:   universal_product
   115 all_product:   universal_product
   116 all_fastdebug: universal_fastdebug
   116 all_fastdebug: universal_fastdebug
   117 all_debug:     universal_debug
   117 all_debug:     universal_debug
   125 all_optimized: optimized optimized1 docs export_optimized
   125 all_optimized: optimized optimized1 docs export_optimized
   126 
   126 
   127 allzero:           all_productzero all_fastdebugzero
   127 allzero:           all_productzero all_fastdebugzero
   128 all_productzero:   productzero docs export_product
   128 all_productzero:   productzero docs export_product
   129 all_fastdebugzero: fastdebugzero docs export_fastdebug
   129 all_fastdebugzero: fastdebugzero docs export_fastdebug
   130 all_debugzero:     jvmgzero docs export_debug
   130 all_debugzero:     debugzero docs export_debug
   131 all_optimizedzero: optimizedzero docs export_optimized
   131 all_optimizedzero: optimizedzero docs export_optimized
   132 
   132 
   133 allshark:           all_productshark all_fastdebugshark
   133 allshark:           all_productshark all_fastdebugshark
   134 all_productshark:   productshark docs export_product
   134 all_productshark:   productshark docs export_product
   135 all_fastdebugshark: fastdebugshark docs export_fastdebug
   135 all_fastdebugshark: fastdebugshark docs export_fastdebug
   136 all_debugshark:     jvmgshark docs export_debug
   136 all_debugshark:     debugshark docs export_debug
   137 all_optimizedshark: optimizedshark docs export_optimized
   137 all_optimizedshark: optimizedshark docs export_optimized
   138 
   138 
   139 # Do everything
   139 # Do everything
   140 world:         all create_jdk
   140 world:         all create_jdk
   141 
   141 
   225 
   225 
   226 generic_buildshark:
   226 generic_buildshark:
   227 	$(MKDIR) -p $(OUTPUTDIR)
   227 	$(MKDIR) -p $(OUTPUTDIR)
   228 	$(CD) $(OUTPUTDIR); \
   228 	$(CD) $(OUTPUTDIR); \
   229 		$(MAKE) -f $(ABS_OS_MAKEFILE) \
   229 		$(MAKE) -f $(ABS_OS_MAKEFILE) \
   230 			$(MAKE_ARGS) $(VM_TARGET) 
   230 			$(MAKE_ARGS) $(VM_TARGET)
   231 
   231 
   232 generic_buildminimal1:
   232 generic_buildminimal1:
   233 ifeq ($(JVM_VARIANT_MINIMAL1),true)
   233 ifeq ($(JVM_VARIANT_MINIMAL1),true)
   234 	$(MKDIR) -p $(OUTPUTDIR)
   234 	$(MKDIR) -p $(OUTPUTDIR)
   235   ifeq ($(ARCH_DATA_MODEL), 32)
   235   ifeq ($(ARCH_DATA_MODEL), 32)
   258 export_fastdebug:
   258 export_fastdebug:
   259 	$(MAKE) BUILD_FLAVOR=$(@:export_%=%) VM_SUBDIR=$(@:export_%=%) \
   259 	$(MAKE) BUILD_FLAVOR=$(@:export_%=%) VM_SUBDIR=$(@:export_%=%) \
   260 	  EXPORT_SUBDIR=/$(@:export_%=%) \
   260 	  EXPORT_SUBDIR=/$(@:export_%=%) \
   261 	  generic_export
   261 	  generic_export
   262 export_debug:
   262 export_debug:
   263 	$(MAKE) BUILD_FLAVOR=$(@:export_%=%) VM_SUBDIR=${VM_DEBUG} \
   263 	$(MAKE) BUILD_FLAVOR=$(@:export_%=%) VM_SUBDIR=$(@:export_%=%) \
   264 	  EXPORT_SUBDIR=/$(@:export_%=%) \
   264 	  EXPORT_SUBDIR=/$(@:export_%=%) \
   265 	  generic_export
   265 	  generic_export
   266 export_optimized:
   266 export_optimized:
   267 	$(MAKE) BUILD_FLAVOR=$(@:export_%=%) VM_SUBDIR=$(@:export_%=%) \
   267 	$(MAKE) BUILD_FLAVOR=$(@:export_%=%) VM_SUBDIR=$(@:export_%=%) \
   268 	  EXPORT_SUBDIR=/$(@:export_%=%) \
   268 	  EXPORT_SUBDIR=/$(@:export_%=%) \
   279 	$(MAKE) BUILD_FLAVOR=$(@:export_%_jdk=%) \
   279 	$(MAKE) BUILD_FLAVOR=$(@:export_%_jdk=%) \
   280 	  VM_SUBDIR=$(@:export_%_jdk=%)  \
   280 	  VM_SUBDIR=$(@:export_%_jdk=%)  \
   281 	  ALT_EXPORT_PATH=$(JDK_IMAGE_DIR)/$(@:export_%_jdk=%) \
   281 	  ALT_EXPORT_PATH=$(JDK_IMAGE_DIR)/$(@:export_%_jdk=%) \
   282 	  generic_export
   282 	  generic_export
   283 export_debug_jdk::
   283 export_debug_jdk::
   284 	$(MAKE) BUILD_FLAVOR=$(@:export_%_jdk=%) VM_SUBDIR=${VM_DEBUG} \
   284 	$(MAKE) BUILD_FLAVOR=$(@:export_%_jdk=%) VM_SUBDIR=$(@:export_%_jdk=%) \
   285 	  ALT_EXPORT_PATH=$(JDK_IMAGE_DIR)/$(@:export_%_jdk=%) \
   285 	  ALT_EXPORT_PATH=$(JDK_IMAGE_DIR)/$(@:export_%_jdk=%) \
   286 	  generic_export
   286 	  generic_export
   287 
   287 
   288 # Export file copy rules
   288 # Export file copy rules
   289 XUSAGE=$(HS_SRC_DIR)/share/vm/Xusage.txt
   289 XUSAGE=$(HS_SRC_DIR)/share/vm/Xusage.txt
   321 endif
   321 endif
   322 
   322 
   323 # Bin files (windows)
   323 # Bin files (windows)
   324 ifeq ($(OSNAME),windows)
   324 ifeq ($(OSNAME),windows)
   325 
   325 
   326 # Get jvm.lib 
   326 # Get jvm.lib
   327 $(EXPORT_LIB_DIR)/%.lib:  $(MISC_DIR)/%.lib
   327 $(EXPORT_LIB_DIR)/%.lib:  $(MISC_DIR)/%.lib
   328 	$(install-file)
   328 	$(install-file)
   329 
   329 
   330 # Other libraries (like SA)
   330 # Other libraries (like SA)
   331 $(EXPORT_JRE_BIN_DIR)/%.diz: $(MISC_DIR)/%.diz
   331 $(EXPORT_JRE_BIN_DIR)/%.diz: $(MISC_DIR)/%.diz
   539 	@$(ECHO) "Running with: $(ALTJVM_DIR)"
   539 	@$(ECHO) "Running with: $(ALTJVM_DIR)"
   540 	@$(RUN_JVM) -XXaltjvm=$(ALTJVM_DIR) -Xinternalversion
   540 	@$(RUN_JVM) -XXaltjvm=$(ALTJVM_DIR) -Xinternalversion
   541 	@$(RUN_JVM) -XXaltjvm=$(ALTJVM_DIR) -showversion -help
   541 	@$(RUN_JVM) -XXaltjvm=$(ALTJVM_DIR) -showversion -help
   542 
   542 
   543 # C2 test targets
   543 # C2 test targets
   544 test_product test_optimized test_fastdebug test_jvmg:
   544 test_product test_optimized test_fastdebug test_debug:
   545 	@$(MAKE) generic_test ALTJVM_DIR="$(C2_DIR)/$(@:test_%=%)"
   545 	@$(MAKE) generic_test ALTJVM_DIR="$(C2_DIR)/$(@:test_%=%)"
   546 
   546 
   547 # C1 test targets
   547 # C1 test targets
   548 test_product1 test_optimized1 test_fastdebug1 test_jvmg1:
   548 test_product1 test_optimized1 test_fastdebug1 test_debug1:
   549   ifeq ($(ARCH_DATA_MODEL), 32)
   549   ifeq ($(ARCH_DATA_MODEL), 32)
   550 	@$(MAKE) generic_test ALTJVM_DIR="$(C1_DIR)/$(@:test_%1=%)"
   550 	@$(MAKE) generic_test ALTJVM_DIR="$(C1_DIR)/$(@:test_%1=%)"
   551   else
   551   else
   552 	@$(ECHO) "No compiler1 ($(@:test_%=%)) for ARCH_DATA_MODEL=$(ARCH_DATA_MODEL)"
   552 	@$(ECHO) "No compiler1 ($(@:test_%=%)) for ARCH_DATA_MODEL=$(ARCH_DATA_MODEL)"
   553   endif
   553   endif
   554 
   554 
   555 # Zero test targets
   555 # Zero test targets
   556 test_productzero test_optimizedzero test_fastdebugzero test_jvmgzero:
   556 test_productzero test_optimizedzero test_fastdebugzero test_debugzero:
   557 	@$(MAKE) generic_test ALTJVM_DIR="$(ZERO_DIR)/$(@:test_%zero=%)"
   557 	@$(MAKE) generic_test ALTJVM_DIR="$(ZERO_DIR)/$(@:test_%zero=%)"
   558 
   558 
   559 # Shark test targets
   559 # Shark test targets
   560 test_productshark test_optimizedshark test_fastdebugshark test_jvmgshark:
   560 test_productshark test_optimizedshark test_fastdebugshark test_debugshark:
   561 	@$(MAKE) generic_test ALTJVM_DIR="$(SHARK_DIR)/$(@:test_%shark=%)"
   561 	@$(MAKE) generic_test ALTJVM_DIR="$(SHARK_DIR)/$(@:test_%shark=%)"
   562 
   562 
   563 # Minimal1 test targets
   563 # Minimal1 test targets
   564 test_productminimal1 test_optimizedminimal1 test_fastdebugminimal1 test_jvmgminimal1:
   564 test_productminimal1 test_optimizedminimal1 test_fastdebugminimal1 test_debugminimal1:
   565 	@$(MAKE) generic_test ALTJVM_DIR="$(MINIMAL1_DIR)/$(@:test_%minimal1=%)"
   565 	@$(MAKE) generic_test ALTJVM_DIR="$(MINIMAL1_DIR)/$(@:test_%minimal1=%)"
   566 
   566 
   567 
   567 
   568 test_jdk:
   568 test_jdk:
   569   ifeq ($(JVM_VARIANT_CLIENT), true)
   569   ifeq ($(JVM_VARIANT_CLIENT), true)
   624 help: intro_help target_help variable_help notes_help examples_help
   624 help: intro_help target_help variable_help notes_help examples_help
   625 
   625 
   626 # Intro help message
   626 # Intro help message
   627 intro_help:
   627 intro_help:
   628 	@$(ECHO) \
   628 	@$(ECHO) \
   629 "Makefile for the Hotspot workspace." 
   629 "Makefile for the Hotspot workspace."
   630 	@$(ECHO) \
   630 	@$(ECHO) \
   631 "Default behavior is to build and create an export area for the j2se builds."
   631 "Default behavior is to build and create an export area for the j2se builds."
   632 
   632 
   633 # Target help
   633 # Target help
   634 target_help:
   634 target_help:
   635 	@$(ECHO) "help:             This help message"
   635 	@$(ECHO) "help:             This help message"
   636 	@$(ECHO) "all:              Same as: all_product all_fastdebug"
   636 	@$(ECHO) "all:              Same as: all_product all_fastdebug"
   637 	@$(ECHO) "world:            Same as: all create_jdk"
   637 	@$(ECHO) "world:            Same as: all create_jdk"
   638 	@$(ECHO) "all_product:      Same as: product product1 export_product"
   638 	@$(ECHO) "all_product:      Same as: product product1 export_product"
   639 	@$(ECHO) "all_fastdebug:    Same as: fastdebug fastdebug1 export_fastdebug"
   639 	@$(ECHO) "all_fastdebug:    Same as: fastdebug fastdebug1 export_fastdebug"
   640 	@$(ECHO) "all_debug:        Same as: jvmg jvmg1 export_debug"
   640 	@$(ECHO) "all_debug:        Same as: debug debug1 export_debug"
   641 	@$(ECHO) "all_optimized:    Same as: optimized optimized1 export_optimized"
   641 	@$(ECHO) "all_optimized:    Same as: optimized optimized1 export_optimized"
   642 	@$(ECHO) "clean:            Clean all areas"
   642 	@$(ECHO) "clean:            Clean all areas"
   643 	@$(ECHO) "export_product:   Export product files to EXPORT_PATH"
   643 	@$(ECHO) "export_product:   Export product files to EXPORT_PATH"
   644 	@$(ECHO) "export_fastdebug: Export fastdebug files to EXPORT_PATH"
   644 	@$(ECHO) "export_fastdebug: Export fastdebug files to EXPORT_PATH"
   645 	@$(ECHO) "export_debug:     Export debug files to EXPORT_PATH"
   645 	@$(ECHO) "export_debug:     Export debug files to EXPORT_PATH"
   728 	@$(ECHO) \
   728 	@$(ECHO) \
   729 "  $(MAKE) all"
   729 "  $(MAKE) all"
   730 	@$(ECHO) \
   730 	@$(ECHO) \
   731 "  $(MAKE) world"
   731 "  $(MAKE) world"
   732 	@$(ECHO) \
   732 	@$(ECHO) \
   733 "  $(MAKE) ALT_BOOTDIR=/opt/java/jdk$(PREVIOUS_JDK_VERSION)" 
   733 "  $(MAKE) ALT_BOOTDIR=/opt/java/jdk$(PREVIOUS_JDK_VERSION)"
   734 	@$(ECHO) \
   734 	@$(ECHO) \
   735 "  $(MAKE) ALT_JDK_IMPORT_PATH=/opt/java/jdk$(JDK_VERSION)"
   735 "  $(MAKE) ALT_JDK_IMPORT_PATH=/opt/java/jdk$(JDK_VERSION)"
   736 
   736 
   737 # Universal build support
   737 # Universal build support
   738 ifeq ($(OS_VENDOR), Darwin)
   738 ifeq ($(OS_VENDOR), Darwin)
   739 ifeq ($(MACOSX_UNIVERSAL),true)
   739 ifeq ($(MACOSX_UNIVERSAL),true)
   740 include $(GAMMADIR)/make/$(OSNAME)/makefiles/universal.gmk
   740 include $(GAMMADIR)/make/$(OSNAME)/makefiles/universal.gmk
   741 endif
   741 endif
   742 endif
   742 endif
       
   743 
       
   744 # Compatibility for transition to new naming
       
   745 warn_jvmg_deprecated:
       
   746 	echo "Warning: The jvmg target has been replaced with debug"
       
   747 	echo "Warning: Please update your usage"
       
   748 
       
   749 jvmg: warn_jvmg_deprecated debug
       
   750 
       
   751 jvmg1: warn_jvmg_deprecated debug1
       
   752 
       
   753 jvmgminimal1: warn_jvmg_deprecated debugminimal1
       
   754 
       
   755 jvmgcore: warn_jvmg_deprecated debugcore
       
   756 
       
   757 jvmgzero: warn_jvmg_deprecated debugzero
       
   758 
       
   759 jvmgshark: warn_jvmg_deprecated debugshark
   743 
   760 
   744 # JPRT rule to build this workspace
   761 # JPRT rule to build this workspace
   745 include $(GAMMADIR)/make/jprt.gmk
   762 include $(GAMMADIR)/make/jprt.gmk
   746 
   763 
   747 .PHONY: all world clobber clean help $(C1_VM_TARGETS) $(C2_VM_TARGETS) \
   764 .PHONY: all world clobber clean help $(C1_VM_TARGETS) $(C2_VM_TARGETS) \