hotspot/make/linux/makefiles/vm.make

Print this page




 119 
 120 JVM_OBJ_FILES = $(Obj_Files)
 121 
 122 vm_version.o: $(filter-out vm_version.o,$(JVM_OBJ_FILES))
 123 
 124 mapfile : $(MAPFILE) vm.def
 125         rm -f $@
 126         awk '{ if ($$0 ~ "INSERT VTABLE SYMBOLS HERE")  \
 127                  { system ("cat vm.def"); }             \
 128                else                                     \
 129                  { print $$0 }                          \
 130              }' > $@ < $(MAPFILE)
 131 
 132 mapfile_reorder : mapfile $(REORDERFILE)
 133         rm -f $@
 134         cat $^ > $@
 135 
 136 vm.def: $(Res_Files) $(Obj_Files)
 137         sh $(GAMMADIR)/make/linux/makefiles/build_vm_def.sh *.o > $@
 138 
 139 ifeq ($(ZERO_LIBARCH), ppc64)
 140   STATIC_CXX = false
 141 else



 142   STATIC_CXX = true

 143 endif
 144 
 145 ifeq ($(LINK_INTO),AOUT)
 146   LIBJVM.o                 =
 147   LIBJVM_MAPFILE           =
 148   LIBS_VM                  = $(LIBS)
 149 else
 150   LIBJVM.o                 = $(JVM_OBJ_FILES)
 151   LIBJVM_MAPFILE$(LDNOMAP) = mapfile_reorder
 152   LFLAGS_VM$(LDNOMAP)      += $(MAPFLAG:FILENAME=$(LIBJVM_MAPFILE))
 153   LFLAGS_VM                += $(SONAMEFLAG:SONAME=$(LIBJVM))
 154 
 155   # JVM is statically linked with libgcc[_s] and libstdc++; this is needed to
 156   # get around library dependency and compatibility issues. Must use gcc not
 157   # g++ to link.
 158   ifeq ($(STATIC_CXX), true)
 159     LFLAGS_VM              += $(STATIC_LIBGCC)
 160     LIBS_VM                += $(STATIC_STDCXX)
 161   else
 162     LIBS_VM                += -lstdc++
 163   endif
 164 
 165   LIBS_VM                  += $(LIBS)
 166 endif
 167 ifeq ($(ZERO_BUILD), true)
 168   LIBS_VM += $(LIBFFI_LIBS)
 169 endif




 170 
 171 LINK_VM = $(LINK_LIB.c)
 172 
 173 # rule for building precompiled header
 174 $(PRECOMPILED_HEADER): $(Precompiled_Files)
 175         $(QUIETLY) echo Generating precompiled header $@
 176         $(QUIETLY) mkdir -p $(PRECOMPILED_HEADER_DIR)/incls
 177         $(QUIETLY) $(COMPILE.CC) -x c++-header -c $(GENERATED)/incls/_precompiled.incl -o $@ $(COMPILE_DONE)
 178 
 179 # making the library:
 180 
 181 ifneq ($(JVM_BASE_ADDR),)
 182 # By default shared library is linked at base address == 0. Modify the
 183 # linker script if JVM prefers a different base location. It can also be
 184 # implemented with 'prelink -r'. But 'prelink' is not (yet) available on
 185 # our build platform (AS-2.1).
 186 LD_SCRIPT = libjvm.so.lds
 187 $(LD_SCRIPT): $(LIBJVM_MAPFILE)
 188         $(QUIETLY) {                                                \
 189           rm -rf $@;                                                \




 119 
 120 JVM_OBJ_FILES = $(Obj_Files)
 121 
 122 vm_version.o: $(filter-out vm_version.o,$(JVM_OBJ_FILES))
 123 
 124 mapfile : $(MAPFILE) vm.def
 125         rm -f $@
 126         awk '{ if ($$0 ~ "INSERT VTABLE SYMBOLS HERE")  \
 127                  { system ("cat vm.def"); }             \
 128                else                                     \
 129                  { print $$0 }                          \
 130              }' > $@ < $(MAPFILE)
 131 
 132 mapfile_reorder : mapfile $(REORDERFILE)
 133         rm -f $@
 134         cat $^ > $@
 135 
 136 vm.def: $(Res_Files) $(Obj_Files)
 137         sh $(GAMMADIR)/make/linux/makefiles/build_vm_def.sh *.o > $@
 138 
 139 ifeq ($(SHARK_BUILD), true)
 140   STATIC_CXX = false
 141 else
 142   ifeq ($(ZERO_LIBARCH), ppc64)
 143     STATIC_CXX = false
 144   else
 145     STATIC_CXX = true
 146   endif
 147 endif
 148 
 149 ifeq ($(LINK_INTO),AOUT)
 150   LIBJVM.o                 =
 151   LIBJVM_MAPFILE           =
 152   LIBS_VM                  = $(LIBS)
 153 else
 154   LIBJVM.o                 = $(JVM_OBJ_FILES)
 155   LIBJVM_MAPFILE$(LDNOMAP) = mapfile_reorder
 156   LFLAGS_VM$(LDNOMAP)      += $(MAPFLAG:FILENAME=$(LIBJVM_MAPFILE))
 157   LFLAGS_VM                += $(SONAMEFLAG:SONAME=$(LIBJVM))
 158 
 159   # JVM is statically linked with libgcc[_s] and libstdc++; this is needed to
 160   # get around library dependency and compatibility issues. Must use gcc not
 161   # g++ to link.
 162   ifeq ($(STATIC_CXX), true)
 163     LFLAGS_VM              += $(STATIC_LIBGCC)
 164     LIBS_VM                += $(STATIC_STDCXX)
 165   else
 166     LIBS_VM                += -lstdc++
 167   endif
 168 
 169   LIBS_VM                  += $(LIBS)
 170 endif
 171 ifeq ($(ZERO_BUILD), true)
 172   LIBS_VM += $(LIBFFI_LIBS)
 173 endif
 174 ifeq ($(SHARK_BUILD), true)
 175   LFLAGS_VM += $(LLVM_LDFLAGS)
 176   LIBS_VM   += $(LLVM_LIBS)
 177 endif
 178 
 179 LINK_VM = $(LINK_LIB.c)
 180 
 181 # rule for building precompiled header
 182 $(PRECOMPILED_HEADER): $(Precompiled_Files)
 183         $(QUIETLY) echo Generating precompiled header $@
 184         $(QUIETLY) mkdir -p $(PRECOMPILED_HEADER_DIR)/incls
 185         $(QUIETLY) $(COMPILE.CC) -x c++-header -c $(GENERATED)/incls/_precompiled.incl -o $@ $(COMPILE_DONE)
 186 
 187 # making the library:
 188 
 189 ifneq ($(JVM_BASE_ADDR),)
 190 # By default shared library is linked at base address == 0. Modify the
 191 # linker script if JVM prefers a different base location. It can also be
 192 # implemented with 'prelink -r'. But 'prelink' is not (yet) available on
 193 # our build platform (AS-2.1).
 194 LD_SCRIPT = libjvm.so.lds
 195 $(LD_SCRIPT): $(LIBJVM_MAPFILE)
 196         $(QUIETLY) {                                                \
 197           rm -rf $@;                                                \