make/solaris/makefiles/vm.make

Print this page




  59 ifneq ($(OBJCOPY),)
  60   # always build with debug info when we can create .debuginfo files
  61   # and disable 'lazy debug info' so the .so has everything.
  62   SYMFLAG = -g -xs
  63 else
  64   ifeq (${VERSION}, debug)
  65     SYMFLAG = -g
  66   else
  67     SYMFLAG =
  68   endif
  69 endif
  70 
  71 # The following variables are defined in the generated flags.make file.
  72 BUILD_VERSION = -DHOTSPOT_RELEASE_VERSION="\"$(HS_BUILD_VER)\""
  73 JRE_VERSION   = -DJRE_RELEASE_VERSION="\"$(JRE_RELEASE_VER)\""
  74 HS_LIB_ARCH   = -DHOTSPOT_LIB_ARCH=\"$(LIBARCH)\"
  75 BUILD_TARGET  = -DHOTSPOT_BUILD_TARGET="\"$(TARGET)\""
  76 BUILD_USER    = -DHOTSPOT_BUILD_USER="\"$(HOTSPOT_BUILD_USER)\""
  77 VM_DISTRO     = -DHOTSPOT_VM_DISTRO="\"$(HOTSPOT_VM_DISTRO)\""
  78 
  79 CPPFLAGS =           \
  80   ${SYSDEFS}         \
  81   ${INCLUDES}        \
  82   ${BUILD_VERSION}   \
  83   ${BUILD_TARGET}    \
  84   ${BUILD_USER}      \
  85   ${HS_LIB_ARCH}     \
  86   ${VM_DISTRO}
  87 
  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
  90 # a time and date. 
  91 vm_version.o: CPPFLAGS += ${JRE_VERSION} 
  92 
  93 # CFLAGS_WARN holds compiler options to suppress/enable warnings.
  94 CFLAGS += $(CFLAGS_WARN)
  95 
  96 # Do not use C++ exception handling
  97 CFLAGS += $(CFLAGS/NOEX)
  98 
  99 # Extra flags from gnumake's invocation or environment
 100 CFLAGS += $(EXTRA_CFLAGS) -DINCLUDE_TRACE
 101 
 102 # Math Library (libm.so), do not use -lm.
 103 #    There might be two versions of libm.so on the build system:
 104 #    libm.so.1 and libm.so.2, and we want libm.so.1.
 105 #    Depending on the Solaris release being used to build with,
 106 #    /usr/lib/libm.so could point at a libm.so.2, so we are
 107 #    explicit here so that the libjvm.so you have built will work on an
 108 #    older Solaris release that might not have libm.so.2.
 109 #    This is a critical factor in allowing builds on Solaris 10 or newer
 110 #    to run on Solaris 8 or 9.
 111 #


 252   LIBJVM.o                 =
 253   LIBJVM_MAPFILE           =
 254   LIBS_VM                  = $(LIBS)
 255 else
 256   LIBJVM.o                 = $(JVM_OBJ_FILES)
 257   LIBJVM_MAPFILE$(LDNOMAP) = mapfile_reorder
 258   LFLAGS_VM$(LDNOMAP)      += $(MAPFLAG:FILENAME=$(LIBJVM_MAPFILE))
 259   LFLAGS_VM                += $(SONAMEFLAG:SONAME=$(LIBJVM))
 260 ifndef USE_GCC
 261   LIBS_VM                  = $(LIBS)
 262 else
 263   # JVM is statically linked with libgcc[_s] and libstdc++; this is needed to
 264   # get around library dependency and compatibility issues. Must use gcc not
 265   # g++ to link.
 266   LFLAGS_VM                += $(STATIC_LIBGCC)
 267   LIBS_VM                  += $(STATIC_STDCXX) $(LIBS)
 268 endif
 269 endif
 270 
 271 ifdef USE_GCC
 272 LINK_VM = $(LINK_LIB.c)
 273 else
 274 LINK_VM = $(LINK_LIB.CC)


 275 endif
 276 # making the library:
 277 $(LIBJVM): $(LIBJVM.o) $(LIBJVM_MAPFILE) 
 278 ifeq ($(filter -sbfast -xsbfast, $(CFLAGS_BROWSE)),)
 279         @echo Linking vm...
 280         $(QUIETLY) $(LINK_LIB.CC/PRE_HOOK)
 281         $(QUIETLY) $(LINK_VM) $(LFLAGS_VM) -o $@ $(LIBJVM.o) $(LIBS_VM)
 282         $(QUIETLY) $(LINK_LIB.CC/POST_HOOK)
 283         $(QUIETLY) rm -f $@.1 && ln -s $@ $@.1
 284         $(QUIETLY) [ -f $(LIBJVM_G) ] || ln -s $@ $(LIBJVM_G)
 285         $(QUIETLY) [ -f $(LIBJVM_G).1 ] || ln -s $@.1 $(LIBJVM_G).1
 286 ifneq ($(OBJCOPY),)
 287         $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJVM_DEBUGINFO)
 288         $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DEBUGINFO) $@
 289   ifeq ($(STRIP_POLICY),all_strip)
 290         $(QUIETLY) $(STRIP) $@
 291   else
 292     ifeq ($(STRIP_POLICY),min_strip)
 293         $(QUIETLY) $(STRIP) -x $@
 294     # implied else here is no stripping at all
 295     endif
 296   endif
 297         $(QUIETLY) [ -f $(LIBJVM_G_DEBUGINFO) ] || ln -s $(LIBJVM_DEBUGINFO) $(LIBJVM_G_DEBUGINFO)
 298 endif
 299 endif # filter -sbfast -xsbfast
 300 
 301 
 302 DEST_SUBDIR        = $(JDK_LIBDIR)/$(VM_SUBDIR)




  59 ifneq ($(OBJCOPY),)
  60   # always build with debug info when we can create .debuginfo files
  61   # and disable 'lazy debug info' so the .so has everything.
  62   SYMFLAG = -g -xs
  63 else
  64   ifeq (${VERSION}, debug)
  65     SYMFLAG = -g
  66   else
  67     SYMFLAG =
  68   endif
  69 endif
  70 
  71 # The following variables are defined in the generated flags.make file.
  72 BUILD_VERSION = -DHOTSPOT_RELEASE_VERSION="\"$(HS_BUILD_VER)\""
  73 JRE_VERSION   = -DJRE_RELEASE_VERSION="\"$(JRE_RELEASE_VER)\""
  74 HS_LIB_ARCH   = -DHOTSPOT_LIB_ARCH=\"$(LIBARCH)\"
  75 BUILD_TARGET  = -DHOTSPOT_BUILD_TARGET="\"$(TARGET)\""
  76 BUILD_USER    = -DHOTSPOT_BUILD_USER="\"$(HOTSPOT_BUILD_USER)\""
  77 VM_DISTRO     = -DHOTSPOT_VM_DISTRO="\"$(HOTSPOT_VM_DISTRO)\""
  78 
  79 CXXFLAGS =           \
  80   ${SYSDEFS}         \
  81   ${INCLUDES}        \
  82   ${BUILD_VERSION}   \
  83   ${BUILD_TARGET}    \
  84   ${BUILD_USER}      \
  85   ${HS_LIB_ARCH}     \
  86   ${VM_DISTRO}
  87 
  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
  90 # a time and date. 
  91 vm_version.o: CXXFLAGS += ${JRE_VERSION} 
  92 
  93 # CFLAGS_WARN holds compiler options to suppress/enable warnings.
  94 CFLAGS += $(CFLAGS_WARN)
  95 
  96 # Do not use C++ exception handling
  97 CFLAGS += $(CFLAGS/NOEX)
  98 
  99 # Extra flags from gnumake's invocation or environment
 100 CFLAGS += $(EXTRA_CFLAGS) -DINCLUDE_TRACE
 101 
 102 # Math Library (libm.so), do not use -lm.
 103 #    There might be two versions of libm.so on the build system:
 104 #    libm.so.1 and libm.so.2, and we want libm.so.1.
 105 #    Depending on the Solaris release being used to build with,
 106 #    /usr/lib/libm.so could point at a libm.so.2, so we are
 107 #    explicit here so that the libjvm.so you have built will work on an
 108 #    older Solaris release that might not have libm.so.2.
 109 #    This is a critical factor in allowing builds on Solaris 10 or newer
 110 #    to run on Solaris 8 or 9.
 111 #


 252   LIBJVM.o                 =
 253   LIBJVM_MAPFILE           =
 254   LIBS_VM                  = $(LIBS)
 255 else
 256   LIBJVM.o                 = $(JVM_OBJ_FILES)
 257   LIBJVM_MAPFILE$(LDNOMAP) = mapfile_reorder
 258   LFLAGS_VM$(LDNOMAP)      += $(MAPFLAG:FILENAME=$(LIBJVM_MAPFILE))
 259   LFLAGS_VM                += $(SONAMEFLAG:SONAME=$(LIBJVM))
 260 ifndef USE_GCC
 261   LIBS_VM                  = $(LIBS)
 262 else
 263   # JVM is statically linked with libgcc[_s] and libstdc++; this is needed to
 264   # get around library dependency and compatibility issues. Must use gcc not
 265   # g++ to link.
 266   LFLAGS_VM                += $(STATIC_LIBGCC)
 267   LIBS_VM                  += $(STATIC_STDCXX) $(LIBS)
 268 endif
 269 endif
 270 
 271 ifdef USE_GCC


 272 LINK_VM = $(LINK_LIB.CC)
 273 else
 274 LINK_VM = $(LINK_LIB.CXX)
 275 endif
 276 # making the library:
 277 $(LIBJVM): $(LIBJVM.o) $(LIBJVM_MAPFILE) 
 278 ifeq ($(filter -sbfast -xsbfast, $(CFLAGS_BROWSE)),)
 279         @echo Linking vm...
 280         $(QUIETLY) $(LINK_LIB.CXX/PRE_HOOK)
 281         $(QUIETLY) $(LINK_VM) $(LFLAGS_VM) -o $@ $(LIBJVM.o) $(LIBS_VM)
 282         $(QUIETLY) $(LINK_LIB.CXX/POST_HOOK)
 283         $(QUIETLY) rm -f $@.1 && ln -s $@ $@.1
 284         $(QUIETLY) [ -f $(LIBJVM_G) ] || ln -s $@ $(LIBJVM_G)
 285         $(QUIETLY) [ -f $(LIBJVM_G).1 ] || ln -s $@.1 $(LIBJVM_G).1
 286 ifneq ($(OBJCOPY),)
 287         $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJVM_DEBUGINFO)
 288         $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DEBUGINFO) $@
 289   ifeq ($(STRIP_POLICY),all_strip)
 290         $(QUIETLY) $(STRIP) $@
 291   else
 292     ifeq ($(STRIP_POLICY),min_strip)
 293         $(QUIETLY) $(STRIP) -x $@
 294     # implied else here is no stripping at all
 295     endif
 296   endif
 297         $(QUIETLY) [ -f $(LIBJVM_G_DEBUGINFO) ] || ln -s $(LIBJVM_DEBUGINFO) $(LIBJVM_G_DEBUGINFO)
 298 endif
 299 endif # filter -sbfast -xsbfast
 300 
 301 
 302 DEST_SUBDIR        = $(JDK_LIBDIR)/$(VM_SUBDIR)