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