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