hotspot/make/Makefile
changeset 13975 2f7431485cfa
parent 12503 9df71f999005
child 14294 130e947dfbe6
equal deleted inserted replaced
13951:3fc49366dc15 13975:2f7431485cfa
    74   include defs.make
    74   include defs.make
    75 endif
    75 endif
    76 
    76 
    77 include $(GAMMADIR)/make/altsrc.make
    77 include $(GAMMADIR)/make/altsrc.make
    78 
    78 
       
    79 -include $(HS_ALT_MAKE)/Makefile.make
       
    80 
    79 ifneq ($(ALT_OUTPUTDIR),)
    81 ifneq ($(ALT_OUTPUTDIR),)
    80   ALT_OUT=ALT_OUTPUTDIR=$(ALT_OUTPUTDIR)
    82   ALT_OUT=ALT_OUTPUTDIR=$(ALT_OUTPUTDIR)
    81 else
    83 else
    82   ALT_OUT=
    84   ALT_OUT=
    83 endif
    85 endif
    86 C1_VM_TARGETS=product1 fastdebug1 optimized1 jvmg1
    88 C1_VM_TARGETS=product1 fastdebug1 optimized1 jvmg1
    87 C2_VM_TARGETS=product  fastdebug  optimized  jvmg
    89 C2_VM_TARGETS=product  fastdebug  optimized  jvmg
    88 KERNEL_VM_TARGETS=productkernel fastdebugkernel optimizedkernel jvmgkernel
    90 KERNEL_VM_TARGETS=productkernel fastdebugkernel optimizedkernel jvmgkernel
    89 ZERO_VM_TARGETS=productzero fastdebugzero optimizedzero jvmgzero
    91 ZERO_VM_TARGETS=productzero fastdebugzero optimizedzero jvmgzero
    90 SHARK_VM_TARGETS=productshark fastdebugshark optimizedshark jvmgshark
    92 SHARK_VM_TARGETS=productshark fastdebugshark optimizedshark jvmgshark
    91 
    93 MINIMAL1_VM_TARGETS=productminimal1 fastdebugminimal1 jvmgminimal1
    92 COMMON_VM_PRODUCT_TARGETS=product product1 productkernel docs export_product
    94 
    93 COMMON_VM_FASTDEBUG_TARGETS=fastdebug fastdebug1 fastdebugkernel docs export_fastdebug
    95 COMMON_VM_PRODUCT_TARGETS=product product1 docs export_product
    94 COMMON_VM_DEBUG_TARGETS=jvmg jvmg1 jvmgkernel docs export_debug
    96 COMMON_VM_FASTDEBUG_TARGETS=fastdebug fastdebug1 docs export_fastdebug
       
    97 COMMON_VM_DEBUG_TARGETS=jvmg jvmg1 docs export_debug
    95 
    98 
    96 # JDK directory list
    99 # JDK directory list
    97 JDK_DIRS=bin include jre lib demo
   100 JDK_DIRS=bin include jre lib demo
    98 
   101 
    99 all:           all_product all_fastdebug
   102 all:           all_product all_fastdebug
       
   103 
       
   104 ifeq ($(JVM_VARIANT_MINIMAL1),true)
       
   105 all_product:	productminimal1
       
   106 all_fastdebug:	fastdebugminimal1
       
   107 all_debug:	jvmgminimal1
       
   108 endif
   100 
   109 
   101 ifdef BUILD_CLIENT_ONLY
   110 ifdef BUILD_CLIENT_ONLY
   102 all_product:   product1 docs export_product
   111 all_product:   product1 docs export_product
   103 all_fastdebug: fastdebug1 docs export_fastdebug
   112 all_fastdebug: fastdebug1 docs export_fastdebug
   104 all_debug:     jvmg1 docs export_debug
   113 all_debug:     jvmg1 docs export_debug
   112 all_fastdebug: $(COMMON_VM_FASTDEBUG_TARGETS)
   121 all_fastdebug: $(COMMON_VM_FASTDEBUG_TARGETS)
   113 all_debug:     $(COMMON_VM_DEBUG_TARGETS)
   122 all_debug:     $(COMMON_VM_DEBUG_TARGETS)
   114 endif
   123 endif
   115 endif
   124 endif
   116 
   125 
   117 all_optimized: optimized optimized1 optimizedkernel docs export_optimized
   126 all_optimized: optimized optimized1 docs export_optimized
   118 
   127 
   119 allzero:           all_productzero all_fastdebugzero
   128 allzero:           all_productzero all_fastdebugzero
   120 all_productzero:   productzero docs export_product
   129 all_productzero:   productzero docs export_product
   121 all_fastdebugzero: fastdebugzero docs export_fastdebug
   130 all_fastdebugzero: fastdebugzero docs export_fastdebug
   122 all_debugzero:     jvmgzero docs export_debug
   131 all_debugzero:     jvmgzero docs export_debug
   164 
   173 
   165 $(SHARK_VM_TARGETS):
   174 $(SHARK_VM_TARGETS):
   166 	$(CD) $(GAMMADIR)/make; \
   175 	$(CD) $(GAMMADIR)/make; \
   167 	$(MAKE) BUILD_FLAVOR=$(@:%shark=%) VM_TARGET=$@ \
   176 	$(MAKE) BUILD_FLAVOR=$(@:%shark=%) VM_TARGET=$@ \
   168 	  generic_buildshark $(ALT_OUT)
   177 	  generic_buildshark $(ALT_OUT)
       
   178 
       
   179 $(MINIMAL1_VM_TARGETS):
       
   180 	$(CD) $(GAMMADIR)/make; \
       
   181 	$(MAKE) BUILD_FLAVOR=$(@:%minimal1=%) VM_TARGET=$@ \
       
   182 	  generic_buildminimal1 $(ALT_OUT)
   169 
   183 
   170 # Build compiler1 (client) rule, different for platforms
   184 # Build compiler1 (client) rule, different for platforms
   171 generic_build1:
   185 generic_build1:
   172 	$(MKDIR) -p $(OUTPUTDIR)
   186 	$(MKDIR) -p $(OUTPUTDIR)
   173 ifeq ($(OSNAME),windows)
   187 ifeq ($(OSNAME),windows)
   236 generic_buildshark:
   250 generic_buildshark:
   237 	$(MKDIR) -p $(OUTPUTDIR)
   251 	$(MKDIR) -p $(OUTPUTDIR)
   238 	$(CD) $(OUTPUTDIR); \
   252 	$(CD) $(OUTPUTDIR); \
   239 		$(MAKE) -f $(ABS_OS_MAKEFILE) \
   253 		$(MAKE) -f $(ABS_OS_MAKEFILE) \
   240 			$(MAKE_ARGS) $(VM_TARGET) 
   254 			$(MAKE_ARGS) $(VM_TARGET) 
       
   255 
       
   256 generic_buildminimal1:
       
   257 ifeq ($(JVM_VARIANT_MINIMAL1),true)
       
   258 	$(MKDIR) -p $(OUTPUTDIR)
       
   259   ifeq ($(ARCH_DATA_MODEL), 32)
       
   260     ifeq ($(OSNAME),windows)
       
   261 	$(ECHO) "No ($(VM_TARGET)) for $(OSNAME) ARCH_DATA_MODEL=$(ARCH_DATA_MODEL)" ;
       
   262     else
       
   263       ifeq ($(OSNAME),solaris)
       
   264 	$(ECHO) "No ($(VM_TARGET)) for $(OSNAME) ARCH_DATA_MODEL=$(ARCH_DATA_MODEL)" ;
       
   265       else
       
   266 	$(CD) $(OUTPUTDIR); \
       
   267 	$(MAKE) -f $(ABS_OS_MAKEFILE) $(MAKE_ARGS) $(VM_TARGET) ;
       
   268       endif
       
   269     endif
       
   270   else
       
   271 	    @$(ECHO) "No ($(VM_TARGET)) for $(OSNAME) ARCH_DATA_MODEL=$(ARCH_DATA_MODEL)"
       
   272   endif
       
   273 else
       
   274 	@$(ECHO) "Error: trying to build a minimal target but JVM_VARIANT_MINIMAL1 is not true."
       
   275 endif
   241 
   276 
   242 # Export file rule
   277 # Export file rule
   243 generic_export: $(EXPORT_LIST)
   278 generic_export: $(EXPORT_LIST)
   244 export_product:
   279 export_product:
   245 	$(MAKE) BUILD_FLAVOR=$(@:export_%=%) VM_SUBDIR=$(@:export_%=%) \
   280 	$(MAKE) BUILD_FLAVOR=$(@:export_%=%) VM_SUBDIR=$(@:export_%=%) \
   285 C1_DIR=$(C1_BASE_DIR)/$(VM_SUBDIR)
   320 C1_DIR=$(C1_BASE_DIR)/$(VM_SUBDIR)
   286 C2_DIR=$(C2_BASE_DIR)/$(VM_SUBDIR)
   321 C2_DIR=$(C2_BASE_DIR)/$(VM_SUBDIR)
   287 KERNEL_DIR=$(KERNEL_BASE_DIR)/$(VM_SUBDIR)
   322 KERNEL_DIR=$(KERNEL_BASE_DIR)/$(VM_SUBDIR)
   288 ZERO_DIR=$(ZERO_BASE_DIR)/$(VM_SUBDIR)
   323 ZERO_DIR=$(ZERO_BASE_DIR)/$(VM_SUBDIR)
   289 SHARK_DIR=$(SHARK_BASE_DIR)/$(VM_SUBDIR)
   324 SHARK_DIR=$(SHARK_BASE_DIR)/$(VM_SUBDIR)
       
   325 MINIMAL1_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_minimal1
       
   326 MINIMAL1_DIR=$(MINIMAL1_BASE_DIR)/$(VM_SUBDIR)
   290 
   327 
   291 ifeq ($(JVM_VARIANT_SERVER), true)
   328 ifeq ($(JVM_VARIANT_SERVER), true)
   292     MISC_DIR=$(C2_DIR)
   329     MISC_DIR=$(C2_DIR)
   293     GEN_DIR=$(C2_BASE_DIR)/generated
   330     GEN_DIR=$(C2_BASE_DIR)/generated
   294 endif
   331 endif
   306 endif
   343 endif
   307 ifeq ($(JVM_VARIANT_ZERO), true)
   344 ifeq ($(JVM_VARIANT_ZERO), true)
   308     MISC_DIR=$(ZERO_DIR)
   345     MISC_DIR=$(ZERO_DIR)
   309     GEN_DIR=$(ZERO_BASE_DIR)/generated
   346     GEN_DIR=$(ZERO_BASE_DIR)/generated
   310 endif
   347 endif
       
   348 ifeq ($(JVM_VARIANT_MINIMAL1), true)
       
   349     MISC_DIR=$(MINIMAL1_DIR)
       
   350     GEN_DIR=$(MINIMAL1_BASE_DIR)/generated
       
   351 endif
   311 
   352 
   312 # Bin files (windows)
   353 # Bin files (windows)
   313 ifeq ($(OSNAME),windows)
   354 ifeq ($(OSNAME),windows)
   314 
   355 
   315 # Get jvm.lib 
   356 # Get jvm.lib 
   354 $(EXPORT_KERNEL_DIR)/%.pdb:  $(KERNEL_DIR)/%.pdb
   395 $(EXPORT_KERNEL_DIR)/%.pdb:  $(KERNEL_DIR)/%.pdb
   355 	$(install-file)
   396 	$(install-file)
   356 $(EXPORT_KERNEL_DIR)/%.map:  $(KERNEL_DIR)/%.map
   397 $(EXPORT_KERNEL_DIR)/%.map:  $(KERNEL_DIR)/%.map
   357 	$(install-file)
   398 	$(install-file)
   358 endif
   399 endif
       
   400 
       
   401 # Minimal JVM files always come from minimal area
       
   402 $(EXPORT_MINIMAL_DIR)/%.diz:  $(MINIMAL1_DIR)/%.diz
       
   403 	$(install-file)
       
   404 $(EXPORT_MINIMAL_DIR)/%.dll:  $(MINIMAL1_DIR)/%.dll
       
   405 	$(install-file)
       
   406 $(EXPORT_MINIMAL_DIR)/%.pdb:  $(MINIMAL1_DIR)/%.pdb
       
   407 	$(install-file)
       
   408 $(EXPORT_MINIMAL_DIR)/%.map:  $(MINIMAL1_DIR)/%.map
       
   409 	$(install-file)
   359 
   410 
   360 # Shared Library
   411 # Shared Library
   361 ifneq ($(OSNAME),windows)
   412 ifneq ($(OSNAME),windows)
   362     ifeq ($(JVM_VARIANT_SERVER), true)
   413     ifeq ($(JVM_VARIANT_SERVER), true)
   363         $(EXPORT_JRE_LIB_ARCH_DIR)/%.$(LIBRARY_SUFFIX): $(C2_DIR)/%.$(LIBRARY_SUFFIX)
   414         $(EXPORT_JRE_LIB_ARCH_DIR)/%.$(LIBRARY_SUFFIX): $(C2_DIR)/%.$(LIBRARY_SUFFIX)
   409         $(EXPORT_JRE_LIB_ARCH_DIR)/%.$(LIBRARY_SUFFIX): $(ZERO_DIR)/%.$(LIBRARY_SUFFIX)
   460         $(EXPORT_JRE_LIB_ARCH_DIR)/%.$(LIBRARY_SUFFIX): $(ZERO_DIR)/%.$(LIBRARY_SUFFIX)
   410 		$(install-file)
   461 		$(install-file)
   411         $(EXPORT_SERVER_DIR)/%.$(LIBRARY_SUFFIX):       $(ZERO_DIR)/%.$(LIBRARY_SUFFIX)
   462         $(EXPORT_SERVER_DIR)/%.$(LIBRARY_SUFFIX):       $(ZERO_DIR)/%.$(LIBRARY_SUFFIX)
   412 		$(install-file)
   463 		$(install-file)
   413     endif
   464     endif
       
   465     ifeq ($(JVM_VARIANT_MINIMAL1), true)
       
   466         $(EXPORT_JRE_LIB_ARCH_DIR)/%.$(LIBRARY_SUFFIX):	$(MINIMAL1_DIR)/%.$(LIBRARY_SUFFIX)
       
   467 		$(install-file)
       
   468         $(EXPORT_MINIMAL_DIR)/%.$(LIBRARY_SUFFIX):	$(MINIMAL1_DIR)/%.$(LIBRARY_SUFFIX)
       
   469 		$(install-file)
       
   470         $(EXPORT_MINIMAL_DIR)/64/%.$(LIBRARY_SUFFIX):	$(MINIMAL1_DIR)/%.$(LIBRARY_SUFFIX)
       
   471 		$(install-file)
       
   472         $(EXPORT_JRE_LIB_ARCH_DIR)/%.debuginfo:		$(MINIMAL1_DIR)/%.debuginfo
       
   473 		$(install-file)
       
   474         $(EXPORT_MINIMAL_DIR)/%.debuginfo:		$(MINIMAL1_DIR)/%.debuginfo
       
   475 		$(install-file)
       
   476         $(EXPORT_MINIMAL_DIR)/64/%.debuginfo:		$(MINIMAL1_DIR)/%.debuginfo
       
   477 		$(install-file)
       
   478         $(EXPORT_JRE_LIB_ARCH_DIR)/%.diz:		$(MINIMAL1_DIR)/%.diz
       
   479 		$(install-file)
       
   480         $(EXPORT_MINIMAL_DIR)/%.diz:			$(MINIMAL1_DIR)/%.diz
       
   481 		$(install-file)
       
   482         $(EXPORT_MINIMAL_DIR)/64/%.diz:			$(MINIMAL1_DIR)/%.diz
       
   483 		$(install-file)
       
   484     endif
   414 endif
   485 endif
   415 
   486 
   416 # Jar file (sa-jdi.jar)
   487 # Jar file (sa-jdi.jar)
   417 $(EXPORT_LIB_DIR)/%.jar: $(GEN_DIR)/%.jar
   488 $(EXPORT_LIB_DIR)/%.jar: $(GEN_DIR)/%.jar
   418 	$(install-file)
   489 	$(install-file)
   449 # Doc files (jvmti.html)
   520 # Doc files (jvmti.html)
   450 $(EXPORT_DOCS_DIR)/platform/jvmti/%: $(DOCS_DIR)/%
   521 $(EXPORT_DOCS_DIR)/platform/jvmti/%: $(DOCS_DIR)/%
   451 	$(install-file)
   522 	$(install-file)
   452 
   523 
   453 # Xusage file
   524 # Xusage file
   454 $(EXPORT_SERVER_DIR)/Xusage.txt $(EXPORT_CLIENT_DIR)/Xusage.txt $(EXPORT_KERNEL_DIR)/Xusage.txt: $(XUSAGE)
   525 $(EXPORT_SERVER_DIR)/Xusage.txt $(EXPORT_CLIENT_DIR)/Xusage.txt $(EXPORT_KERNEL_DIR)/Xusage.txt $(EXPORT_MINIMAL_DIR)/Xusage.txt: $(XUSAGE)
   455 	$(prep-target)
   526 	$(prep-target)
   456 	$(RM) $@.temp
   527 	$(RM) $@.temp
   457 	$(SED) 's/\(separated by \)[;:]/\1$(PATH_SEP)/g' $< > $@.temp
   528 	$(SED) 's/\(separated by \)[;:]/\1$(PATH_SEP)/g' $< > $@.temp
   458 	$(MV) $@.temp $@
   529 	$(MV) $@.temp $@
   459 
   530 
   465 	$(RM) -r $(C1_DIR)
   536 	$(RM) -r $(C1_DIR)
   466 	$(RM) -r $(C2_DIR)
   537 	$(RM) -r $(C2_DIR)
   467 	$(RM) -r $(KERNEL_DIR)
   538 	$(RM) -r $(KERNEL_DIR)
   468 	$(RM) -r $(ZERO_DIR)
   539 	$(RM) -r $(ZERO_DIR)
   469 	$(RM) -r $(SHARK_DIR)
   540 	$(RM) -r $(SHARK_DIR)
       
   541 	$(RM) -r $(MINIMAL1_DIR)
   470 clean_export:
   542 clean_export:
   471 	$(RM) -r $(EXPORT_PATH)
   543 	$(RM) -r $(EXPORT_PATH)
   472 clean_jdk:
   544 clean_jdk:
   473 	$(RM) -r $(JDK_IMAGE_DIR)
   545 	$(RM) -r $(JDK_IMAGE_DIR)
   474 
   546 
   572 	@$(ECHO) "export_debug:     Export debug files to EXPORT_PATH"
   644 	@$(ECHO) "export_debug:     Export debug files to EXPORT_PATH"
   573 	@$(ECHO) "export_optimized: Export optimized files to EXPORT_PATH"
   645 	@$(ECHO) "export_optimized: Export optimized files to EXPORT_PATH"
   574 	@$(ECHO) "create_jdk:       Create JDK image, export all files into it"
   646 	@$(ECHO) "create_jdk:       Create JDK image, export all files into it"
   575 	@$(ECHO) "update_jdk:       Update JDK image with fresh exported files"
   647 	@$(ECHO) "update_jdk:       Update JDK image with fresh exported files"
   576 	@$(ECHO) " "
   648 	@$(ECHO) " "
   577 	@$(ECHO) "Others targets are:"
   649 	@$(ECHO) "Other targets are:"
   578 	@$(ECHO) "   $(C1_VM_TARGETS)"
   650 	@$(ECHO) "   $(C1_VM_TARGETS)"
   579 	@$(ECHO) "   $(C2_VM_TARGETS)"
   651 	@$(ECHO) "   $(C2_VM_TARGETS)"
   580 	@$(ECHO) "   $(KERNEL_VM_TARGETS)"
   652 	@$(ECHO) "   $(KERNEL_VM_TARGETS)"
       
   653 	@$(ECHO) "   $(MINIMAL1_VM_TARGETS)"
   581 
   654 
   582 # Variable help (only common ones used by this workspace)
   655 # Variable help (only common ones used by this workspace)
   583 variable_help: variable_help_intro variable_list variable_help_end
   656 variable_help: variable_help_intro variable_list variable_help_end
   584 variable_help_intro:
   657 variable_help_intro:
   585 	@$(ECHO) "--- Common Variables ---"
   658 	@$(ECHO) "--- Common Variables ---"
   670 
   743 
   671 # JPRT rule to build this workspace
   744 # JPRT rule to build this workspace
   672 include $(GAMMADIR)/make/jprt.gmk
   745 include $(GAMMADIR)/make/jprt.gmk
   673 
   746 
   674 .PHONY: all world clobber clean help $(C1_VM_TARGETS) $(C2_VM_TARGETS) \
   747 .PHONY: all world clobber clean help $(C1_VM_TARGETS) $(C2_VM_TARGETS) \
   675         $(KERNEL_VM_TARGETS) \
   748         $(KERNEL_VM_TARGETS) $(MINIMAL1_VM_TARGETS) \
   676 	generic_build1 generic_build2 generic_buildkernel generic_export \
   749 	generic_build1 generic_build2 generic_buildkernel generic_buildminimal1 generic_export \
   677 	export_product export_fastdebug export_debug export_optimized \
   750 	export_product export_fastdebug export_debug export_optimized \
   678 	export_jdk_product export_jdk_fastdebug export_jdk_debug \
   751 	export_jdk_product export_jdk_fastdebug export_jdk_debug \
   679 	create_jdk copy_jdk update_jdk test_jdk \
   752 	create_jdk copy_jdk update_jdk test_jdk \
   680 	copy_product_jdk copy_fastdebug_jdk copy_debug_jdk 
   753 	copy_product_jdk copy_fastdebug_jdk copy_debug_jdk  \
       
   754 	$(HS_ALT_MAKE)/Makefile.make