Mercurial > hg > truffle
comparison make/Makefile @ 1692:d2ede61b7a12
6976186: integrate Shark HotSpot changes
Summary: Shark is a JIT compiler for Zero that uses the LLVM compiler infrastructure.
Reviewed-by: kvn, twisti
Contributed-by: Gary Benson <gbenson@redhat.com>
author | twisti |
---|---|
date | Wed, 11 Aug 2010 05:51:21 -0700 |
parents | 126ea7725993 |
children | 2d26b0046e0d b92c45f2bc75 |
comparison
equal
deleted
inserted
replaced
1691:4a665be40fd3 | 1692: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 |