make/Makefile

changeset 4165
fb19af007ffc
parent 3726
74c359c4a9e5
child 4237
a3e2f723f2a5
     1.1 --- a/make/Makefile	Fri Oct 05 13:37:08 2012 -0700
     1.2 +++ b/make/Makefile	Wed Oct 10 14:35:58 2012 -0400
     1.3 @@ -76,6 +76,8 @@
     1.4  
     1.5  include $(GAMMADIR)/make/altsrc.make
     1.6  
     1.7 +-include $(HS_ALT_MAKE)/Makefile.make
     1.8 +
     1.9  ifneq ($(ALT_OUTPUTDIR),)
    1.10    ALT_OUT=ALT_OUTPUTDIR=$(ALT_OUTPUTDIR)
    1.11  else
    1.12 @@ -88,16 +90,23 @@
    1.13  KERNEL_VM_TARGETS=productkernel fastdebugkernel optimizedkernel jvmgkernel
    1.14  ZERO_VM_TARGETS=productzero fastdebugzero optimizedzero jvmgzero
    1.15  SHARK_VM_TARGETS=productshark fastdebugshark optimizedshark jvmgshark
    1.16 +MINIMAL1_VM_TARGETS=productminimal1 fastdebugminimal1 jvmgminimal1
    1.17  
    1.18 -COMMON_VM_PRODUCT_TARGETS=product product1 productkernel docs export_product
    1.19 -COMMON_VM_FASTDEBUG_TARGETS=fastdebug fastdebug1 fastdebugkernel docs export_fastdebug
    1.20 -COMMON_VM_DEBUG_TARGETS=jvmg jvmg1 jvmgkernel docs export_debug
    1.21 +COMMON_VM_PRODUCT_TARGETS=product product1 docs export_product
    1.22 +COMMON_VM_FASTDEBUG_TARGETS=fastdebug fastdebug1 docs export_fastdebug
    1.23 +COMMON_VM_DEBUG_TARGETS=jvmg jvmg1 docs export_debug
    1.24  
    1.25  # JDK directory list
    1.26  JDK_DIRS=bin include jre lib demo
    1.27  
    1.28  all:           all_product all_fastdebug
    1.29  
    1.30 +ifeq ($(JVM_VARIANT_MINIMAL1),true)
    1.31 +all_product:	productminimal1
    1.32 +all_fastdebug:	fastdebugminimal1
    1.33 +all_debug:	jvmgminimal1
    1.34 +endif
    1.35 +
    1.36  ifdef BUILD_CLIENT_ONLY
    1.37  all_product:   product1 docs export_product
    1.38  all_fastdebug: fastdebug1 docs export_fastdebug
    1.39 @@ -114,7 +123,7 @@
    1.40  endif
    1.41  endif
    1.42  
    1.43 -all_optimized: optimized optimized1 optimizedkernel docs export_optimized
    1.44 +all_optimized: optimized optimized1 docs export_optimized
    1.45  
    1.46  allzero:           all_productzero all_fastdebugzero
    1.47  all_productzero:   productzero docs export_product
    1.48 @@ -167,6 +176,11 @@
    1.49  	$(MAKE) BUILD_FLAVOR=$(@:%shark=%) VM_TARGET=$@ \
    1.50  	  generic_buildshark $(ALT_OUT)
    1.51  
    1.52 +$(MINIMAL1_VM_TARGETS):
    1.53 +	$(CD) $(GAMMADIR)/make; \
    1.54 +	$(MAKE) BUILD_FLAVOR=$(@:%minimal1=%) VM_TARGET=$@ \
    1.55 +	  generic_buildminimal1 $(ALT_OUT)
    1.56 +
    1.57  # Build compiler1 (client) rule, different for platforms
    1.58  generic_build1:
    1.59  	$(MKDIR) -p $(OUTPUTDIR)
    1.60 @@ -239,6 +253,27 @@
    1.61  		$(MAKE) -f $(ABS_OS_MAKEFILE) \
    1.62  			$(MAKE_ARGS) $(VM_TARGET) 
    1.63  
    1.64 +generic_buildminimal1:
    1.65 +ifeq ($(JVM_VARIANT_MINIMAL1),true)
    1.66 +	$(MKDIR) -p $(OUTPUTDIR)
    1.67 +  ifeq ($(ARCH_DATA_MODEL), 32)
    1.68 +    ifeq ($(OSNAME),windows)
    1.69 +	$(ECHO) "No ($(VM_TARGET)) for $(OSNAME) ARCH_DATA_MODEL=$(ARCH_DATA_MODEL)" ;
    1.70 +    else
    1.71 +      ifeq ($(OSNAME),solaris)
    1.72 +	$(ECHO) "No ($(VM_TARGET)) for $(OSNAME) ARCH_DATA_MODEL=$(ARCH_DATA_MODEL)" ;
    1.73 +      else
    1.74 +	$(CD) $(OUTPUTDIR); \
    1.75 +	$(MAKE) -f $(ABS_OS_MAKEFILE) $(MAKE_ARGS) $(VM_TARGET) ;
    1.76 +      endif
    1.77 +    endif
    1.78 +  else
    1.79 +	    @$(ECHO) "No ($(VM_TARGET)) for $(OSNAME) ARCH_DATA_MODEL=$(ARCH_DATA_MODEL)"
    1.80 +  endif
    1.81 +else
    1.82 +	@$(ECHO) "Error: trying to build a minimal target but JVM_VARIANT_MINIMAL1 is not true."
    1.83 +endif
    1.84 +
    1.85  # Export file rule
    1.86  generic_export: $(EXPORT_LIST)
    1.87  export_product:
    1.88 @@ -287,6 +322,8 @@
    1.89  KERNEL_DIR=$(KERNEL_BASE_DIR)/$(VM_SUBDIR)
    1.90  ZERO_DIR=$(ZERO_BASE_DIR)/$(VM_SUBDIR)
    1.91  SHARK_DIR=$(SHARK_BASE_DIR)/$(VM_SUBDIR)
    1.92 +MINIMAL1_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_minimal1
    1.93 +MINIMAL1_DIR=$(MINIMAL1_BASE_DIR)/$(VM_SUBDIR)
    1.94  
    1.95  ifeq ($(JVM_VARIANT_SERVER), true)
    1.96      MISC_DIR=$(C2_DIR)
    1.97 @@ -308,6 +345,10 @@
    1.98      MISC_DIR=$(ZERO_DIR)
    1.99      GEN_DIR=$(ZERO_BASE_DIR)/generated
   1.100  endif
   1.101 +ifeq ($(JVM_VARIANT_MINIMAL1), true)
   1.102 +    MISC_DIR=$(MINIMAL1_DIR)
   1.103 +    GEN_DIR=$(MINIMAL1_BASE_DIR)/generated
   1.104 +endif
   1.105  
   1.106  # Bin files (windows)
   1.107  ifeq ($(OSNAME),windows)
   1.108 @@ -357,6 +398,16 @@
   1.109  	$(install-file)
   1.110  endif
   1.111  
   1.112 +# Minimal JVM files always come from minimal area
   1.113 +$(EXPORT_MINIMAL_DIR)/%.diz:  $(MINIMAL1_DIR)/%.diz
   1.114 +	$(install-file)
   1.115 +$(EXPORT_MINIMAL_DIR)/%.dll:  $(MINIMAL1_DIR)/%.dll
   1.116 +	$(install-file)
   1.117 +$(EXPORT_MINIMAL_DIR)/%.pdb:  $(MINIMAL1_DIR)/%.pdb
   1.118 +	$(install-file)
   1.119 +$(EXPORT_MINIMAL_DIR)/%.map:  $(MINIMAL1_DIR)/%.map
   1.120 +	$(install-file)
   1.121 +
   1.122  # Shared Library
   1.123  ifneq ($(OSNAME),windows)
   1.124      ifeq ($(JVM_VARIANT_SERVER), true)
   1.125 @@ -411,6 +462,26 @@
   1.126          $(EXPORT_SERVER_DIR)/%.$(LIBRARY_SUFFIX):       $(ZERO_DIR)/%.$(LIBRARY_SUFFIX)
   1.127  		$(install-file)
   1.128      endif
   1.129 +    ifeq ($(JVM_VARIANT_MINIMAL1), true)
   1.130 +        $(EXPORT_JRE_LIB_ARCH_DIR)/%.$(LIBRARY_SUFFIX):	$(MINIMAL1_DIR)/%.$(LIBRARY_SUFFIX)
   1.131 +		$(install-file)
   1.132 +        $(EXPORT_MINIMAL_DIR)/%.$(LIBRARY_SUFFIX):	$(MINIMAL1_DIR)/%.$(LIBRARY_SUFFIX)
   1.133 +		$(install-file)
   1.134 +        $(EXPORT_MINIMAL_DIR)/64/%.$(LIBRARY_SUFFIX):	$(MINIMAL1_DIR)/%.$(LIBRARY_SUFFIX)
   1.135 +		$(install-file)
   1.136 +        $(EXPORT_JRE_LIB_ARCH_DIR)/%.debuginfo:		$(MINIMAL1_DIR)/%.debuginfo
   1.137 +		$(install-file)
   1.138 +        $(EXPORT_MINIMAL_DIR)/%.debuginfo:		$(MINIMAL1_DIR)/%.debuginfo
   1.139 +		$(install-file)
   1.140 +        $(EXPORT_MINIMAL_DIR)/64/%.debuginfo:		$(MINIMAL1_DIR)/%.debuginfo
   1.141 +		$(install-file)
   1.142 +        $(EXPORT_JRE_LIB_ARCH_DIR)/%.diz:		$(MINIMAL1_DIR)/%.diz
   1.143 +		$(install-file)
   1.144 +        $(EXPORT_MINIMAL_DIR)/%.diz:			$(MINIMAL1_DIR)/%.diz
   1.145 +		$(install-file)
   1.146 +        $(EXPORT_MINIMAL_DIR)/64/%.diz:			$(MINIMAL1_DIR)/%.diz
   1.147 +		$(install-file)
   1.148 +    endif
   1.149  endif
   1.150  
   1.151  # Jar file (sa-jdi.jar)
   1.152 @@ -451,7 +522,7 @@
   1.153  	$(install-file)
   1.154  
   1.155  # Xusage file
   1.156 -$(EXPORT_SERVER_DIR)/Xusage.txt $(EXPORT_CLIENT_DIR)/Xusage.txt $(EXPORT_KERNEL_DIR)/Xusage.txt: $(XUSAGE)
   1.157 +$(EXPORT_SERVER_DIR)/Xusage.txt $(EXPORT_CLIENT_DIR)/Xusage.txt $(EXPORT_KERNEL_DIR)/Xusage.txt $(EXPORT_MINIMAL_DIR)/Xusage.txt: $(XUSAGE)
   1.158  	$(prep-target)
   1.159  	$(RM) $@.temp
   1.160  	$(SED) 's/\(separated by \)[;:]/\1$(PATH_SEP)/g' $< > $@.temp
   1.161 @@ -467,6 +538,7 @@
   1.162  	$(RM) -r $(KERNEL_DIR)
   1.163  	$(RM) -r $(ZERO_DIR)
   1.164  	$(RM) -r $(SHARK_DIR)
   1.165 +	$(RM) -r $(MINIMAL1_DIR)
   1.166  clean_export:
   1.167  	$(RM) -r $(EXPORT_PATH)
   1.168  clean_jdk:
   1.169 @@ -574,10 +646,11 @@
   1.170  	@$(ECHO) "create_jdk:       Create JDK image, export all files into it"
   1.171  	@$(ECHO) "update_jdk:       Update JDK image with fresh exported files"
   1.172  	@$(ECHO) " "
   1.173 -	@$(ECHO) "Others targets are:"
   1.174 +	@$(ECHO) "Other targets are:"
   1.175  	@$(ECHO) "   $(C1_VM_TARGETS)"
   1.176  	@$(ECHO) "   $(C2_VM_TARGETS)"
   1.177  	@$(ECHO) "   $(KERNEL_VM_TARGETS)"
   1.178 +	@$(ECHO) "   $(MINIMAL1_VM_TARGETS)"
   1.179  
   1.180  # Variable help (only common ones used by this workspace)
   1.181  variable_help: variable_help_intro variable_list variable_help_end
   1.182 @@ -672,9 +745,10 @@
   1.183  include $(GAMMADIR)/make/jprt.gmk
   1.184  
   1.185  .PHONY: all world clobber clean help $(C1_VM_TARGETS) $(C2_VM_TARGETS) \
   1.186 -        $(KERNEL_VM_TARGETS) \
   1.187 -	generic_build1 generic_build2 generic_buildkernel generic_export \
   1.188 +        $(KERNEL_VM_TARGETS) $(MINIMAL1_VM_TARGETS) \
   1.189 +	generic_build1 generic_build2 generic_buildkernel generic_buildminimal1 generic_export \
   1.190  	export_product export_fastdebug export_debug export_optimized \
   1.191  	export_jdk_product export_jdk_fastdebug export_jdk_debug \
   1.192  	create_jdk copy_jdk update_jdk test_jdk \
   1.193 -	copy_product_jdk copy_fastdebug_jdk copy_debug_jdk 
   1.194 +	copy_product_jdk copy_fastdebug_jdk copy_debug_jdk  \
   1.195 +	$(HS_ALT_MAKE)/Makefile.make

mercurial