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) |