Mercurial > hg > truffle
comparison make/linux/makefiles/vm.make @ 6275:957c266d8bc5
Merge with http://hg.openjdk.java.net/hsx/hsx24/hotspot/
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Tue, 21 Aug 2012 10:39:19 +0200 |
parents | 33df1aeaebbf 35e504cb49a6 |
children | e522a00b91aa |
comparison
equal
deleted
inserted
replaced
5891:fd8832ae511d | 6275:957c266d8bc5 |
---|---|
1 # | 1 # |
2 # Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved. | 2 # Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. |
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | 3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 # | 4 # |
5 # This code is free software; you can redistribute it and/or modify it | 5 # This code is free software; you can redistribute it and/or modify it |
6 # under the terms of the GNU General Public License version 2 only, as | 6 # under the terms of the GNU General Public License version 2 only, as |
7 # published by the Free Software Foundation. | 7 # published by the Free Software Foundation. |
40 | 40 |
41 # reads the generated files defining the set of .o's and the .o .h dependencies | 41 # reads the generated files defining the set of .o's and the .o .h dependencies |
42 -include $(DEP_DIR)/*.d | 42 -include $(DEP_DIR)/*.d |
43 | 43 |
44 # read machine-specific adjustments (%%% should do this via buildtree.make?) | 44 # read machine-specific adjustments (%%% should do this via buildtree.make?) |
45 ifeq ($(ZERO_BUILD), true) | 45 ifeq ($(findstring true, $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK)), true) |
46 include $(MAKEFILES_DIR)/zeroshark.make | 46 include $(MAKEFILES_DIR)/zeroshark.make |
47 else | 47 else |
48 include $(MAKEFILES_DIR)/$(BUILDARCH).make | 48 include $(MAKEFILES_DIR)/$(BUILDARCH).make |
49 endif | 49 endif |
50 | 50 |
59 Src_Dirs_I += $(GENERATED) | 59 Src_Dirs_I += $(GENERATED) |
60 # The order is important for the precompiled headers to work. | 60 # The order is important for the precompiled headers to work. |
61 INCLUDES += $(PRECOMPILED_HEADER_DIR:%=-I%) $(Src_Dirs_I:%=-I%) | 61 INCLUDES += $(PRECOMPILED_HEADER_DIR:%=-I%) $(Src_Dirs_I:%=-I%) |
62 | 62 |
63 # SYMFLAG is used by {jsig,saproc}.make | 63 # SYMFLAG is used by {jsig,saproc}.make |
64 ifneq ($(OBJCOPY),) | 64 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) |
65 # always build with debug info when we can create .debuginfo files | 65 # always build with debug info when we can create .debuginfo files |
66 SYMFLAG = -g | 66 SYMFLAG = -g |
67 else | 67 else |
68 ifeq (${VERSION}, debug) | 68 ifeq (${VERSION}, debug) |
69 SYMFLAG = -g | 69 SYMFLAG = -g |
100 # This is VERY important! The version define must only be supplied to vm_version.o | 100 # This is VERY important! The version define must only be supplied to vm_version.o |
101 # If not, ccache will not re-use the cache at all, since the version string might contain | 101 # If not, ccache will not re-use the cache at all, since the version string might contain |
102 # a time and date. | 102 # a time and date. |
103 vm_version.o: CXXFLAGS += ${JRE_VERSION} | 103 vm_version.o: CXXFLAGS += ${JRE_VERSION} |
104 | 104 |
105 ifndef JAVASE_EMBEDDED | 105 ifndef JAVASE_EMBEDDED |
106 ifneq (${ARCH},arm) | |
106 CFLAGS += -DINCLUDE_TRACE | 107 CFLAGS += -DINCLUDE_TRACE |
108 endif | |
107 endif | 109 endif |
108 | 110 |
109 # CFLAGS_WARN holds compiler options to suppress/enable warnings. | 111 # CFLAGS_WARN holds compiler options to suppress/enable warnings. |
110 CFLAGS += $(CFLAGS_WARN/BYFILE) | 112 CFLAGS += $(CFLAGS_WARN/BYFILE) |
111 | 113 |
137 JVM = jvm | 139 JVM = jvm |
138 LIBJVM = lib$(JVM).so | 140 LIBJVM = lib$(JVM).so |
139 LIBJVM_G = lib$(JVM)$(G_SUFFIX).so | 141 LIBJVM_G = lib$(JVM)$(G_SUFFIX).so |
140 | 142 |
141 LIBJVM_DEBUGINFO = lib$(JVM).debuginfo | 143 LIBJVM_DEBUGINFO = lib$(JVM).debuginfo |
144 LIBJVM_DIZ = lib$(JVM).diz | |
142 LIBJVM_G_DEBUGINFO = lib$(JVM)$(G_SUFFIX).debuginfo | 145 LIBJVM_G_DEBUGINFO = lib$(JVM)$(G_SUFFIX).debuginfo |
146 LIBJVM_G_DIZ = lib$(JVM)$(G_SUFFIX).diz | |
143 | 147 |
144 SPECIAL_PATHS:=adlc c1 gc_implementation opto shark libadt graal | 148 SPECIAL_PATHS:=adlc c1 gc_implementation opto shark libadt graal |
145 | 149 |
146 SOURCE_PATHS=\ | 150 SOURCE_PATHS=\ |
147 $(shell find $(HS_COMMON_SRC)/share/vm/* -type d \! \ | 151 $(shell find $(HS_COMMON_SRC)/share/vm/* -type d \! \ |
149 SOURCE_PATHS+=$(HS_COMMON_SRC)/os/$(Platform_os_family)/vm | 153 SOURCE_PATHS+=$(HS_COMMON_SRC)/os/$(Platform_os_family)/vm |
150 SOURCE_PATHS+=$(HS_COMMON_SRC)/os/posix/vm | 154 SOURCE_PATHS+=$(HS_COMMON_SRC)/os/posix/vm |
151 SOURCE_PATHS+=$(HS_COMMON_SRC)/cpu/$(Platform_arch)/vm | 155 SOURCE_PATHS+=$(HS_COMMON_SRC)/cpu/$(Platform_arch)/vm |
152 SOURCE_PATHS+=$(HS_COMMON_SRC)/os_cpu/$(Platform_os_arch)/vm | 156 SOURCE_PATHS+=$(HS_COMMON_SRC)/os_cpu/$(Platform_os_arch)/vm |
153 | 157 |
154 ifndef JAVASE_EMBEDDED | 158 ifndef JAVASE_EMBEDDED |
159 ifneq (${ARCH},arm) | |
155 SOURCE_PATHS+=$(shell if [ -d $(HS_ALT_SRC)/share/vm/jfr ]; then \ | 160 SOURCE_PATHS+=$(shell if [ -d $(HS_ALT_SRC)/share/vm/jfr ]; then \ |
156 find $(HS_ALT_SRC)/share/vm/jfr -type d; \ | 161 find $(HS_ALT_SRC)/share/vm/jfr -type d; \ |
157 fi) | 162 fi) |
163 endif | |
158 endif | 164 endif |
159 | 165 |
160 CORE_PATHS=$(foreach path,$(SOURCE_PATHS),$(call altsrc,$(path)) $(path)) | 166 CORE_PATHS=$(foreach path,$(SOURCE_PATHS),$(call altsrc,$(path)) $(path)) |
161 CORE_PATHS+=$(GENERATED)/jvmtifiles | 167 CORE_PATHS+=$(GENERATED)/jvmtifiles |
162 | 168 |
242 cat $^ > $@ | 248 cat $^ > $@ |
243 | 249 |
244 vm.def: $(Res_Files) $(Obj_Files) | 250 vm.def: $(Res_Files) $(Obj_Files) |
245 sh $(GAMMADIR)/make/linux/makefiles/build_vm_def.sh *.o > $@ | 251 sh $(GAMMADIR)/make/linux/makefiles/build_vm_def.sh *.o > $@ |
246 | 252 |
247 ifeq ($(SHARK_BUILD), true) | 253 ifeq ($(JVM_VARIANT_ZEROSHARK), true) |
248 STATIC_CXX = false | 254 STATIC_CXX = false |
249 else | 255 else |
250 ifeq ($(ZERO_LIBARCH), ppc64) | 256 ifeq ($(ZERO_LIBARCH), ppc64) |
251 STATIC_CXX = false | 257 STATIC_CXX = false |
252 else | 258 else |
274 LIBS_VM += -lstdc++ | 280 LIBS_VM += -lstdc++ |
275 endif | 281 endif |
276 | 282 |
277 LIBS_VM += $(LIBS) | 283 LIBS_VM += $(LIBS) |
278 endif | 284 endif |
279 ifeq ($(ZERO_BUILD), true) | 285 ifeq ($(JVM_VARIANT_ZERO), true) |
280 LIBS_VM += $(LIBFFI_LIBS) | 286 LIBS_VM += $(LIBFFI_LIBS) |
281 endif | 287 endif |
282 ifeq ($(SHARK_BUILD), true) | 288 ifeq ($(JVM_VARIANT_ZEROSHARK), true) |
289 LIBS_VM += $(LIBFFI_LIBS) $(LLVM_LIBS) | |
283 LFLAGS_VM += $(LLVM_LDFLAGS) | 290 LFLAGS_VM += $(LLVM_LDFLAGS) |
284 LIBS_VM += $(LLVM_LIBS) | |
285 endif | 291 endif |
286 | 292 |
287 LINK_VM = $(LINK_LIB.CC) | 293 LINK_VM = $(LINK_LIB.CC) |
288 | 294 |
289 # rule for building precompiled header | 295 # rule for building precompiled header |
337 fi \ | 343 fi \ |
338 fi \ | 344 fi \ |
339 fi \ | 345 fi \ |
340 } | 346 } |
341 ifeq ($(CROSS_COMPILE_ARCH),) | 347 ifeq ($(CROSS_COMPILE_ARCH),) |
342 ifneq ($(OBJCOPY),) | 348 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) |
343 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJVM_DEBUGINFO) | 349 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJVM_DEBUGINFO) |
344 $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DEBUGINFO) $@ | 350 $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DEBUGINFO) $@ |
345 ifeq ($(STRIP_POLICY),all_strip) | 351 ifeq ($(STRIP_POLICY),all_strip) |
346 $(QUIETLY) $(STRIP) $@ | 352 $(QUIETLY) $(STRIP) $@ |
347 else | 353 else |
349 $(QUIETLY) $(STRIP) -g $@ | 355 $(QUIETLY) $(STRIP) -g $@ |
350 # implied else here is no stripping at all | 356 # implied else here is no stripping at all |
351 endif | 357 endif |
352 endif | 358 endif |
353 $(QUIETLY) [ -f $(LIBJVM_G_DEBUGINFO) ] || ln -s $(LIBJVM_DEBUGINFO) $(LIBJVM_G_DEBUGINFO) | 359 $(QUIETLY) [ -f $(LIBJVM_G_DEBUGINFO) ] || ln -s $(LIBJVM_DEBUGINFO) $(LIBJVM_G_DEBUGINFO) |
360 ifeq ($(ZIP_DEBUGINFO_FILES),1) | |
361 $(ZIPEXE) -q -y $(LIBJVM_DIZ) $(LIBJVM_DEBUGINFO) $(LIBJVM_G_DEBUGINFO) | |
362 $(RM) $(LIBJVM_DEBUGINFO) $(LIBJVM_G_DEBUGINFO) | |
363 [ -f $(LIBJVM_G_DIZ) ] || { ln -s $(LIBJVM_DIZ) $(LIBJVM_G_DIZ); } | |
364 endif | |
354 endif | 365 endif |
355 endif | 366 endif |
356 | 367 |
357 DEST_SUBDIR = $(JDK_LIBDIR)/$(VM_SUBDIR) | 368 DEST_SUBDIR = $(JDK_LIBDIR)/$(VM_SUBDIR) |
358 DEST_JVM = $(DEST_SUBDIR)/$(LIBJVM) | 369 DEST_JVM = $(DEST_SUBDIR)/$(LIBJVM) |
359 DEST_JVM_DEBUGINFO = $(DEST_SUBDIR)/$(LIBJVM_DEBUGINFO) | 370 DEST_JVM_DEBUGINFO = $(DEST_SUBDIR)/$(LIBJVM_DEBUGINFO) |
371 DEST_JVM_DIZ = $(DEST_SUBDIR)/$(LIBJVM_DIZ) | |
360 | 372 |
361 install_jvm: $(LIBJVM) | 373 install_jvm: $(LIBJVM) |
362 @echo "Copying $(LIBJVM) to $(DEST_JVM)" | 374 @echo "Copying $(LIBJVM) to $(DEST_JVM)" |
363 $(QUIETLY) test -f $(LIBJVM_DEBUGINFO) && \ | 375 -$(QUIETLY) test -f $(LIBJVM_DEBUGINFO) && \ |
364 cp -f $(LIBJVM_DEBUGINFO) $(DEST_JVM_DEBUGINFO) | 376 cp -f $(LIBJVM_DEBUGINFO) $(DEST_JVM_DEBUGINFO) |
377 -$(QUIETLY) test -f $(LIBJVM_DIZ) && \ | |
378 cp -f $(LIBJVM_DIZ) $(DEST_JVM_DIZ) | |
365 $(QUIETLY) cp -f $(LIBJVM) $(DEST_JVM) && echo "Done" | 379 $(QUIETLY) cp -f $(LIBJVM) $(DEST_JVM) && echo "Done" |
366 | 380 |
367 #---------------------------------------------------------------------- | 381 #---------------------------------------------------------------------- |
368 # Other files | 382 # Other files |
369 | 383 |
374 include $(MAKEFILES_DIR)/jsig.make | 388 include $(MAKEFILES_DIR)/jsig.make |
375 | 389 |
376 # Serviceability agent | 390 # Serviceability agent |
377 include $(MAKEFILES_DIR)/saproc.make | 391 include $(MAKEFILES_DIR)/saproc.make |
378 | 392 |
393 # Whitebox testing API | |
394 include $(MAKEFILES_DIR)/wb.make | |
395 | |
379 #---------------------------------------------------------------------- | 396 #---------------------------------------------------------------------- |
380 | 397 |
381 build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(LIBJVM_DB) $(BUILDLIBSAPROC) | 398 build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(LIBJVM_DB) $(BUILDLIBSAPROC) $(WB_JAR) |
382 | 399 |
383 install: install_jvm install_jsig install_saproc | 400 install: install_jvm install_jsig install_saproc |
384 | 401 |
385 .PHONY: default build install install_jvm | 402 .PHONY: default build install install_jvm |