make/Makefile

changeset 1445
354d3184f6b2
parent 631
d1605aabd0a1
child 1620
3908ad124838
     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  

mercurial