hotspot/make/solaris/makefiles/vm.make
changeset 18025 b7bcf7497f93
parent 17382 bba473b81ec0
child 18441 1f6241296fda
equal deleted inserted replaced
18024:f9e300086063 18025:b7bcf7497f93
     1 #
     1 #
     2 # Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
     2 # Copyright (c) 1998, 2013, 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.
    17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    18 #
    18 #
    19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    20 # or visit www.oracle.com if you need additional information or have any
    20 # or visit www.oracle.com if you need additional information or have any
    21 # questions.
    21 # questions.
    22 #  
    22 #
    23 #
    23 #
    24 
    24 
    25 # Rules to build JVM and related libraries, included from vm.make in the build
    25 # Rules to build JVM and related libraries, included from vm.make in the build
    26 # directory.
    26 # directory.
    27 
    27 
    46 
    46 
    47 # set VPATH so make knows where to look for source files
    47 # set VPATH so make knows where to look for source files
    48 # Src_Dirs_V is everything in src/share/vm/*, plus the right os/*/vm and cpu/*/vm
    48 # Src_Dirs_V is everything in src/share/vm/*, plus the right os/*/vm and cpu/*/vm
    49 # The adfiles directory contains ad_<arch>.[ch]pp.
    49 # The adfiles directory contains ad_<arch>.[ch]pp.
    50 # The jvmtifiles directory contains jvmti*.[ch]pp
    50 # The jvmtifiles directory contains jvmti*.[ch]pp
    51 Src_Dirs_V += $(GENERATED)/adfiles $(GENERATED)/jvmtifiles
    51 Src_Dirs_V += $(GENERATED)/adfiles $(GENERATED)/jvmtifiles $(GENERATED)/tracefiles
    52 VPATH += $(Src_Dirs_V:%=%:)
    52 VPATH += $(Src_Dirs_V:%=%:)
    53 
    53 
    54 # set INCLUDES for C preprocessor
    54 # set INCLUDES for C preprocessor
    55 Src_Dirs_I += $(GENERATED)
    55 Src_Dirs_I += $(GENERATED)
    56 INCLUDES += $(Src_Dirs_I:%=-I%)
    56 INCLUDES += $(Src_Dirs_I:%=-I%)
    85   ${HS_LIB_ARCH}     \
    85   ${HS_LIB_ARCH}     \
    86   ${VM_DISTRO}
    86   ${VM_DISTRO}
    87 
    87 
    88 # This is VERY important! The version define must only be supplied to vm_version.o
    88 # This is VERY important! The version define must only be supplied to vm_version.o
    89 # If not, ccache will not re-use the cache at all, since the version string might contain
    89 # If not, ccache will not re-use the cache at all, since the version string might contain
    90 # a time and date. 
    90 # a time and date.
    91 CXXFLAGS/vm_version.o += ${JRE_VERSION}
    91 CXXFLAGS/vm_version.o += ${JRE_VERSION}
    92 
    92 
    93 CXXFLAGS/BYFILE = $(CXXFLAGS/$@)
    93 CXXFLAGS/BYFILE = $(CXXFLAGS/$@)
    94 
    94 
    95 # File specific flags
    95 # File specific flags
   101 
   101 
   102 # Do not use C++ exception handling
   102 # Do not use C++ exception handling
   103 CFLAGS += $(CFLAGS/NOEX)
   103 CFLAGS += $(CFLAGS/NOEX)
   104 
   104 
   105 # Extra flags from gnumake's invocation or environment
   105 # Extra flags from gnumake's invocation or environment
   106 CFLAGS += $(EXTRA_CFLAGS) -DINCLUDE_TRACE
   106 CFLAGS += $(EXTRA_CFLAGS)
   107 
   107 
   108 # Math Library (libm.so), do not use -lm.
   108 # Math Library (libm.so), do not use -lm.
   109 #    There might be two versions of libm.so on the build system:
   109 #    There might be two versions of libm.so on the build system:
   110 #    libm.so.1 and libm.so.2, and we want libm.so.1.
   110 #    libm.so.1 and libm.so.2, and we want libm.so.1.
   111 #    Depending on the Solaris release being used to build with,
   111 #    Depending on the Solaris release being used to build with,
   135 endif # 505
   135 endif # 505
   136 else
   136 else
   137 LIBS += -lsocket -lsched -ldl $(LIBM) -lthread -lc -ldemangle
   137 LIBS += -lsocket -lsched -ldl $(LIBM) -lthread -lc -ldemangle
   138 endif # sparcWorks
   138 endif # sparcWorks
   139 
   139 
   140 ifeq ("${Platform_arch}", "sparc")
       
   141 LIBS += -lkstat
   140 LIBS += -lkstat
   142 endif
       
   143 
   141 
   144 # By default, link the *.o into the library, not the executable.
   142 # By default, link the *.o into the library, not the executable.
   145 LINK_INTO$(LINK_INTO) = LIBJVM
   143 LINK_INTO$(LINK_INTO) = LIBJVM
   146 
   144 
   147 JDK_LIBDIR = $(JAVA_HOME)/jre/lib/$(LIBARCH)
   145 JDK_LIBDIR = $(JAVA_HOME)/jre/lib/$(LIBARCH)
   175 SOURCE_PATHS+=$(HS_COMMON_SRC)/os/$(Platform_os_family)/vm
   173 SOURCE_PATHS+=$(HS_COMMON_SRC)/os/$(Platform_os_family)/vm
   176 SOURCE_PATHS+=$(HS_COMMON_SRC)/os/posix/vm
   174 SOURCE_PATHS+=$(HS_COMMON_SRC)/os/posix/vm
   177 SOURCE_PATHS+=$(HS_COMMON_SRC)/cpu/$(Platform_arch)/vm
   175 SOURCE_PATHS+=$(HS_COMMON_SRC)/cpu/$(Platform_arch)/vm
   178 SOURCE_PATHS+=$(HS_COMMON_SRC)/os_cpu/$(Platform_os_arch)/vm
   176 SOURCE_PATHS+=$(HS_COMMON_SRC)/os_cpu/$(Platform_os_arch)/vm
   179 
   177 
   180 SOURCE_PATHS+=$(shell if [ -d $(HS_ALT_SRC)/share/vm/jfr ]; then \
   178 CORE_PATHS=$(foreach path,$(SOURCE_PATHS),$(call altsrc,$(path)) $(path))
       
   179 CORE_PATHS+=$(GENERATED)/jvmtifiles $(GENERATED)/tracefiles
       
   180 
       
   181 ifneq ($(INCLUDE_TRACE), false)
       
   182 CORE_PATHS+=$(shell if [ -d $(HS_ALT_SRC)/share/vm/jfr ]; then \
   181   find $(HS_ALT_SRC)/share/vm/jfr -type d; \
   183   find $(HS_ALT_SRC)/share/vm/jfr -type d; \
   182   fi)
   184   fi)
   183 
   185 endif
   184 CORE_PATHS=$(foreach path,$(SOURCE_PATHS),$(call altsrc,$(path)) $(path))
       
   185 CORE_PATHS+=$(GENERATED)/jvmtifiles
       
   186 
   186 
   187 COMPILER1_PATHS := $(call altsrc,$(HS_COMMON_SRC)/share/vm/c1)
   187 COMPILER1_PATHS := $(call altsrc,$(HS_COMMON_SRC)/share/vm/c1)
   188 COMPILER1_PATHS += $(HS_COMMON_SRC)/share/vm/c1
   188 COMPILER1_PATHS += $(HS_COMMON_SRC)/share/vm/c1
   189 
   189 
   190 COMPILER2_PATHS := $(call altsrc,$(HS_COMMON_SRC)/share/vm/opto)
   190 COMPILER2_PATHS := $(call altsrc,$(HS_COMMON_SRC)/share/vm/opto)
   285 LINK_VM = $(LINK_LIB.CC)
   285 LINK_VM = $(LINK_LIB.CC)
   286 else
   286 else
   287 LINK_VM = $(LINK_LIB.CXX)
   287 LINK_VM = $(LINK_LIB.CXX)
   288 endif
   288 endif
   289 # making the library:
   289 # making the library:
   290 $(LIBJVM): $(ADD_GNU_DEBUGLINK) $(FIX_EMPTY_SEC_HDR_FLAGS) $(LIBJVM.o) $(LIBJVM_MAPFILE) 
   290 $(LIBJVM): $(ADD_GNU_DEBUGLINK) $(FIX_EMPTY_SEC_HDR_FLAGS) $(LIBJVM.o) $(LIBJVM_MAPFILE)
   291 ifeq ($(filter -sbfast -xsbfast, $(CFLAGS_BROWSE)),)
   291 ifeq ($(filter -sbfast -xsbfast, $(CFLAGS_BROWSE)),)
   292 	@echo Linking vm...
   292 	@echo Linking vm...
   293 	$(QUIETLY) $(LINK_LIB.CXX/PRE_HOOK)
   293 	$(QUIETLY) $(LINK_LIB.CXX/PRE_HOOK)
   294 	$(QUIETLY) $(LINK_VM) $(LFLAGS_VM) -o $@ $(sort $(LIBJVM.o)) $(LIBS_VM)
   294 	$(QUIETLY) $(LINK_VM) $(LFLAGS_VM) -o $@ $(sort $(LIBJVM.o)) $(LIBS_VM)
   295 	$(QUIETLY) $(LINK_LIB.CXX/POST_HOOK)
   295 	$(QUIETLY) $(LINK_LIB.CXX/POST_HOOK)