make/Makefile

changeset 2047
d2ede61b7a12
parent 2036
126ea7725993
child 2508
b92c45f2bc75
equal deleted inserted replaced
2046:4a665be40fd3 2047:d2ede61b7a12
83 # Typical C1/C2 targets made available with this Makefile 83 # Typical C1/C2 targets made available with this Makefile
84 C1_VM_TARGETS=product1 fastdebug1 optimized1 jvmg1 84 C1_VM_TARGETS=product1 fastdebug1 optimized1 jvmg1
85 C2_VM_TARGETS=product fastdebug optimized jvmg 85 C2_VM_TARGETS=product fastdebug optimized jvmg
86 KERNEL_VM_TARGETS=productkernel fastdebugkernel optimizedkernel jvmgkernel 86 KERNEL_VM_TARGETS=productkernel fastdebugkernel optimizedkernel jvmgkernel
87 ZERO_VM_TARGETS=productzero fastdebugzero optimizedzero jvmgzero 87 ZERO_VM_TARGETS=productzero fastdebugzero optimizedzero jvmgzero
88 SHARK_VM_TARGETS=productshark fastdebugshark optimizedshark jvmgshark
88 89
89 # JDK directory list 90 # JDK directory list
90 JDK_DIRS=bin include jre lib demo 91 JDK_DIRS=bin include jre lib demo
91 92
92 all: all_product all_fastdebug 93 all: all_product all_fastdebug
105 all_productzero: productzero docs export_product 106 all_productzero: productzero docs export_product
106 all_fastdebugzero: fastdebugzero docs export_fastdebug 107 all_fastdebugzero: fastdebugzero docs export_fastdebug
107 all_debugzero: jvmgzero docs export_debug 108 all_debugzero: jvmgzero docs export_debug
108 all_optimizedzero: optimizedzero docs export_optimized 109 all_optimizedzero: optimizedzero docs export_optimized
109 110
111 allshark: all_productshark all_fastdebugshark
112 all_productshark: productshark docs export_product
113 all_fastdebugshark: fastdebugshark docs export_fastdebug
114 all_debugshark: jvmgshark docs export_debug
115 all_optimizedshark: optimizedshark docs export_optimized
116
110 # Do everything 117 # Do everything
111 world: all create_jdk 118 world: all create_jdk
112 119
113 # Build or export docs 120 # Build or export docs
114 docs: 121 docs:
134 $(MAKE) VM_TARGET=$@ generic_buildkernel $(ALT_OUT) 141 $(MAKE) VM_TARGET=$@ generic_buildkernel $(ALT_OUT)
135 142
136 $(ZERO_VM_TARGETS): 143 $(ZERO_VM_TARGETS):
137 $(CD) $(GAMMADIR)/make; \ 144 $(CD) $(GAMMADIR)/make; \
138 $(MAKE) VM_TARGET=$@ generic_buildzero $(ALT_OUT) 145 $(MAKE) VM_TARGET=$@ generic_buildzero $(ALT_OUT)
146
147 $(SHARK_VM_TARGETS):
148 $(CD) $(GAMMADIR)/make; \
149 $(MAKE) VM_TARGET=$@ generic_buildshark $(ALT_OUT)
139 150
140 # Build compiler1 (client) rule, different for platforms 151 # Build compiler1 (client) rule, different for platforms
141 generic_build1: 152 generic_build1:
142 $(MKDIR) -p $(OUTPUTDIR) 153 $(MKDIR) -p $(OUTPUTDIR)
143 ifeq ($(OSNAME),windows) 154 ifeq ($(OSNAME),windows)
200 generic_buildzero: 211 generic_buildzero:
201 $(MKDIR) -p $(OUTPUTDIR) 212 $(MKDIR) -p $(OUTPUTDIR)
202 $(CD) $(OUTPUTDIR); \ 213 $(CD) $(OUTPUTDIR); \
203 $(MAKE) -f $(ABS_OS_MAKEFILE) \ 214 $(MAKE) -f $(ABS_OS_MAKEFILE) \
204 $(MAKE_ARGS) $(VM_TARGET) 215 $(MAKE_ARGS) $(VM_TARGET)
216
217 generic_buildshark:
218 $(MKDIR) -p $(OUTPUTDIR)
219 $(CD) $(OUTPUTDIR); \
220 $(MAKE) -f $(ABS_OS_MAKEFILE) \
221 $(MAKE_ARGS) $(VM_TARGET)
205 222
206 # Export file rule 223 # Export file rule
207 generic_export: $(EXPORT_LIST) 224 generic_export: $(EXPORT_LIST)
208 export_product: 225 export_product:
209 $(MAKE) VM_SUBDIR=product generic_export 226 $(MAKE) VM_SUBDIR=product generic_export
232 DOCS_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_docs 249 DOCS_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_docs
233 C1_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_compiler1 250 C1_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_compiler1
234 C2_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_compiler2 251 C2_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_compiler2
235 KERNEL_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_kernel 252 KERNEL_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_kernel
236 ZERO_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_zero 253 ZERO_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_zero
254 SHARK_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_shark
237 C1_DIR=$(C1_BASE_DIR)/$(VM_SUBDIR) 255 C1_DIR=$(C1_BASE_DIR)/$(VM_SUBDIR)
238 C2_DIR=$(C2_BASE_DIR)/$(VM_SUBDIR) 256 C2_DIR=$(C2_BASE_DIR)/$(VM_SUBDIR)
239 KERNEL_DIR=$(KERNEL_BASE_DIR)/$(VM_SUBDIR) 257 KERNEL_DIR=$(KERNEL_BASE_DIR)/$(VM_SUBDIR)
240 ZERO_DIR=$(ZERO_BASE_DIR)/$(VM_SUBDIR) 258 ZERO_DIR=$(ZERO_BASE_DIR)/$(VM_SUBDIR)
259 SHARK_DIR=$(SHARK_BASE_DIR)/$(VM_SUBDIR)
241 260
242 # Misc files and generated files need to come from C1 or C2 area 261 # Misc files and generated files need to come from C1 or C2 area
243 ifeq ($(ZERO_BUILD), true) 262 ifeq ($(ZERO_BUILD), true)
263 ifeq ($(SHARK_BUILD), true)
264 MISC_DIR=$(SHARK_DIR)
265 GEN_DIR=$(SHARK_BASE_DIR)/generated
266 else
244 MISC_DIR=$(ZERO_DIR) 267 MISC_DIR=$(ZERO_DIR)
245 GEN_DIR=$(ZERO_BASE_DIR)/generated 268 GEN_DIR=$(ZERO_BASE_DIR)/generated
269 endif
246 else 270 else
247 ifeq ($(ARCH_DATA_MODEL), 32) 271 ifeq ($(ARCH_DATA_MODEL), 32)
248 MISC_DIR=$(C1_DIR) 272 MISC_DIR=$(C1_DIR)
249 GEN_DIR=$(C1_BASE_DIR)/generated 273 GEN_DIR=$(C1_BASE_DIR)/generated
250 else 274 else
294 endif 318 endif
295 319
296 # Shared Library 320 # Shared Library
297 ifneq ($(OSNAME),windows) 321 ifneq ($(OSNAME),windows)
298 ifeq ($(ZERO_BUILD), true) 322 ifeq ($(ZERO_BUILD), true)
323 ifeq ($(SHARK_BUILD), true)
324 $(EXPORT_JRE_LIB_ARCH_DIR)/%.so: $(SHARK_DIR)/%.so
325 $(install-file)
326 $(EXPORT_SERVER_DIR)/%.so: $(SHARK_DIR)/%.so
327 $(install-file)
328 else
299 $(EXPORT_JRE_LIB_ARCH_DIR)/%.so: $(ZERO_DIR)/%.so 329 $(EXPORT_JRE_LIB_ARCH_DIR)/%.so: $(ZERO_DIR)/%.so
300 $(install-file) 330 $(install-file)
301 $(EXPORT_SERVER_DIR)/%.so: $(ZERO_DIR)/%.so 331 $(EXPORT_SERVER_DIR)/%.so: $(ZERO_DIR)/%.so
302 $(install-file) 332 $(install-file)
333 endif
303 else 334 else
304 $(EXPORT_JRE_LIB_ARCH_DIR)/%.so: $(C1_DIR)/%.so 335 $(EXPORT_JRE_LIB_ARCH_DIR)/%.so: $(C1_DIR)/%.so
305 $(install-file) 336 $(install-file)
306 $(EXPORT_JRE_LIB_ARCH_DIR)/%.so: $(C2_DIR)/%.so 337 $(EXPORT_JRE_LIB_ARCH_DIR)/%.so: $(C2_DIR)/%.so
307 $(install-file) 338 $(install-file)
354 clean_build: 385 clean_build:
355 $(RM) -r $(C1_DIR) 386 $(RM) -r $(C1_DIR)
356 $(RM) -r $(C2_DIR) 387 $(RM) -r $(C2_DIR)
357 $(RM) -r $(KERNEL_DIR) 388 $(RM) -r $(KERNEL_DIR)
358 $(RM) -r $(ZERO_DIR) 389 $(RM) -r $(ZERO_DIR)
390 $(RM) -r $(SHARK_DIR)
359 clean_export: 391 clean_export:
360 $(RM) -r $(EXPORT_PATH) 392 $(RM) -r $(EXPORT_PATH)
361 clean_jdk: 393 clean_jdk:
362 $(RM) -r $(JDK_IMAGE_DIR) 394 $(RM) -r $(JDK_IMAGE_DIR)
363 395

mercurial