1.1 --- a/make/Makefile Wed Oct 07 15:38:37 2009 -0700 1.2 +++ b/make/Makefile Tue Oct 13 12:04:21 2009 -0700 1.3 @@ -84,6 +84,7 @@ 1.4 C1_VM_TARGETS=product1 fastdebug1 optimized1 jvmg1 1.5 C2_VM_TARGETS=product fastdebug optimized jvmg 1.6 KERNEL_VM_TARGETS=productkernel fastdebugkernel optimizedkernel jvmgkernel 1.7 +ZERO_VM_TARGETS=productzero fastdebugzero optimizedzero jvmgzero 1.8 1.9 # JDK directory list 1.10 JDK_DIRS=bin include jre lib demo 1.11 @@ -94,6 +95,12 @@ 1.12 all_debug: jvmg jvmg1 jvmgkernel docs export_debug 1.13 all_optimized: optimized optimized1 optimizedkernel docs export_optimized 1.14 1.15 +allzero: all_productzero all_fastdebugzero 1.16 +all_productzero: productzero docs export_product 1.17 +all_fastdebugzero: fastdebugzero docs export_fastdebug 1.18 +all_debugzero: jvmgzero docs export_debug 1.19 +all_optimizedzero: optimizedzero docs export_optimized 1.20 + 1.21 # Do everything 1.22 world: all create_jdk 1.23 1.24 @@ -120,6 +127,10 @@ 1.25 $(CD) $(GAMMADIR)/make; \ 1.26 $(MAKE) VM_TARGET=$@ generic_buildkernel $(ALT_OUT) 1.27 1.28 +$(ZERO_VM_TARGETS): 1.29 + $(CD) $(GAMMADIR)/make; \ 1.30 + $(MAKE) VM_TARGET=$@ generic_buildzero $(ALT_OUT) 1.31 + 1.32 # Build compiler1 (client) rule, different for platforms 1.33 generic_build1: 1.34 $(MKDIR) -p $(OUTPUTDIR) 1.35 @@ -180,6 +191,12 @@ 1.36 @$(ECHO) "No kernel ($(VM_TARGET)) for OS_NAME=$(OSNAME)" 1.37 endif 1.38 1.39 +generic_buildzero: 1.40 + $(MKDIR) -p $(OUTPUTDIR) 1.41 + $(CD) $(OUTPUTDIR); \ 1.42 + $(MAKE) -f $(ABS_OS_MAKEFILE) \ 1.43 + $(MAKE_ARGS) $(VM_TARGET) 1.44 + 1.45 # Export file rule 1.46 generic_export: $(EXPORT_LIST) 1.47 export_product: 1.48 @@ -210,11 +227,17 @@ 1.49 C1_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_compiler1 1.50 C2_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_compiler2 1.51 KERNEL_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_kernel 1.52 +ZERO_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_zero 1.53 C1_DIR=$(C1_BASE_DIR)/$(VM_SUBDIR) 1.54 C2_DIR=$(C2_BASE_DIR)/$(VM_SUBDIR) 1.55 KERNEL_DIR=$(KERNEL_BASE_DIR)/$(VM_SUBDIR) 1.56 +ZERO_DIR=$(ZERO_BASE_DIR)/$(VM_SUBDIR) 1.57 1.58 # Misc files and generated files need to come from C1 or C2 area 1.59 +ifeq ($(ZERO_BUILD), true) 1.60 + MISC_DIR=$(ZERO_DIR) 1.61 + GEN_DIR=$(ZERO_BASE_DIR)/generated 1.62 +else 1.63 ifeq ($(ARCH_DATA_MODEL), 32) 1.64 MISC_DIR=$(C1_DIR) 1.65 GEN_DIR=$(C1_BASE_DIR)/generated 1.66 @@ -222,6 +245,7 @@ 1.67 MISC_DIR=$(C2_DIR) 1.68 GEN_DIR=$(C2_BASE_DIR)/generated 1.69 endif 1.70 +endif 1.71 1.72 # Bin files (windows) 1.73 ifeq ($(OSNAME),windows) 1.74 @@ -265,6 +289,12 @@ 1.75 1.76 # Shared Library 1.77 ifneq ($(OSNAME),windows) 1.78 + ifeq ($(ZERO_BUILD), true) 1.79 +$(EXPORT_JRE_LIB_ARCH_DIR)/%.so: $(ZERO_DIR)/%.so 1.80 + $(install-file) 1.81 +$(EXPORT_SERVER_DIR)/%.so: $(ZERO_DIR)/%.so 1.82 + $(install-file) 1.83 + else 1.84 $(EXPORT_JRE_LIB_ARCH_DIR)/%.so: $(C2_DIR)/%.so 1.85 $(install-file) 1.86 $(EXPORT_CLIENT_DIR)/%.so: $(C1_DIR)/%.so 1.87 @@ -275,6 +305,7 @@ 1.88 $(install-file) 1.89 $(EXPORT_SERVER_DIR)/64/%.so: $(C2_DIR)/%.so 1.90 $(install-file) 1.91 + endif 1.92 endif 1.93 1.94 # Jar file (sa-jdi.jar) 1.95 @@ -313,6 +344,7 @@ 1.96 $(RM) -r $(C1_DIR) 1.97 $(RM) -r $(C2_DIR) 1.98 $(RM) -r $(KERNEL_DIR) 1.99 + $(RM) -r $(ZERO_DIR) 1.100 clean_export: 1.101 $(RM) -r $(EXPORT_PATH) 1.102 clean_jdk: 1.103 @@ -335,8 +367,10 @@ 1.104 ($(CD) $(JDK_IMAGE_DIR) && $(TAR) -xf -) 1.105 1.106 test_jdk: 1.107 - ifeq ($(ARCH_DATA_MODEL), 32) 1.108 + ifneq ($(ZERO_BUILD), true) 1.109 + ifeq ($(ARCH_DATA_MODEL), 32) 1.110 $(JDK_IMAGE_DIR)/bin/java -client -version 1.111 + endif 1.112 endif 1.113 $(JDK_IMAGE_DIR)/bin/java -server -version 1.114