121 LFLAGS += -Xlinker -z -Xlinker noexecstack
122 endif
123
124 LIBS += -lm -pthread
125
126 # By default, link the *.o into the library, not the executable.
127 LINK_INTO$(LINK_INTO) = LIBJVM
128
129 JDK_LIBDIR = $(JAVA_HOME)/jre/lib/$(LIBARCH)
130
131 #----------------------------------------------------------------------
132 # jvm_db & dtrace
133 include $(MAKEFILES_DIR)/dtrace.make
134
135 #----------------------------------------------------------------------
136 # JVM
137
138 JVM = jvm
139 ifeq ($(OS_VENDOR), Darwin)
140 LIBJVM = lib$(JVM).dylib
141 LIBJVM_G = lib$(JVM)$(G_SUFFIX).dylib
142 CFLAGS += -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE
143 else
144 LIBJVM = lib$(JVM).so
145 LIBJVM_G = lib$(JVM)$(G_SUFFIX).so
146 endif
147
148 SPECIAL_PATHS:=adlc c1 gc_implementation opto shark libadt
149
150 SOURCE_PATHS=\
151 $(shell find $(HS_COMMON_SRC)/share/vm/* -type d \! \
152 \( -name DUMMY $(foreach dir,$(SPECIAL_PATHS),-o -name $(dir)) \))
153 SOURCE_PATHS+=$(HS_COMMON_SRC)/os/$(Platform_os_family)/vm
154 SOURCE_PATHS+=$(HS_COMMON_SRC)/os/posix/vm
155 SOURCE_PATHS+=$(HS_COMMON_SRC)/cpu/$(Platform_arch)/vm
156 SOURCE_PATHS+=$(HS_COMMON_SRC)/os_cpu/$(Platform_os_arch)/vm
157
158 ifndef JAVASE_EMBEDDED
159 SOURCE_PATHS+=$(shell if [ -d $(HS_ALT_SRC)/share/vm/jfr ]; then \
160 find $(HS_ALT_SRC)/share/vm/jfr -type d; \
161 fi)
162 endif
163
164 CORE_PATHS=$(foreach path,$(SOURCE_PATHS),$(call altsrc,$(path)) $(path))
165 CORE_PATHS+=$(GENERATED)/jvmtifiles
297 $(LD_SCRIPT): $(LIBJVM_MAPFILE)
298 $(QUIETLY) { \
299 rm -rf $@; \
300 $(LINK_VM) -Wl,--verbose $(LFLAGS_VM) 2>&1 | \
301 sed -e '/^======/,/^======/!d' \
302 -e '/^======/d' \
303 -e 's/0\( + SIZEOF_HEADERS\)/$(JVM_BASE_ADDR)\1/' \
304 > $@; \
305 }
306 LD_SCRIPT_FLAG = -Wl,-T,$(LD_SCRIPT)
307 endif
308
309 $(LIBJVM): $(LIBJVM.o) $(LIBJVM_MAPFILE) $(LD_SCRIPT)
310 $(QUIETLY) { \
311 echo Linking vm...; \
312 $(LINK_LIB.CXX/PRE_HOOK) \
313 $(LINK_VM) $(LD_SCRIPT_FLAG) \
314 $(LFLAGS_VM) -o $@ $(sort $(LIBJVM.o)) $(LIBS_VM); \
315 $(LINK_LIB.CXX/POST_HOOK) \
316 rm -f $@.1; ln -s $@ $@.1; \
317 [ -f $(LIBJVM_G) ] || { ln -s $@ $(LIBJVM_G); ln -s $@.1 $(LIBJVM_G).1; }; \
318 }
319
320 DEST_JVM = $(JDK_LIBDIR)/$(VM_SUBDIR)/$(LIBJVM)
321
322 install_jvm: $(LIBJVM)
323 @echo "Copying $(LIBJVM) to $(DEST_JVM)"
324 $(QUIETLY) cp -f $(LIBJVM) $(DEST_JVM) && echo "Done"
325
326 #----------------------------------------------------------------------
327 # Other files
328
329 # Gamma launcher
330 include $(MAKEFILES_DIR)/launcher.make
331
332 # Signal interposition library
333 include $(MAKEFILES_DIR)/jsig.make
334
335 # Serviceability agent
336 include $(MAKEFILES_DIR)/saproc.make
337
|
121 LFLAGS += -Xlinker -z -Xlinker noexecstack
122 endif
123
124 LIBS += -lm -pthread
125
126 # By default, link the *.o into the library, not the executable.
127 LINK_INTO$(LINK_INTO) = LIBJVM
128
129 JDK_LIBDIR = $(JAVA_HOME)/jre/lib/$(LIBARCH)
130
131 #----------------------------------------------------------------------
132 # jvm_db & dtrace
133 include $(MAKEFILES_DIR)/dtrace.make
134
135 #----------------------------------------------------------------------
136 # JVM
137
138 JVM = jvm
139 ifeq ($(OS_VENDOR), Darwin)
140 LIBJVM = lib$(JVM).dylib
141 CFLAGS += -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE
142 else
143 LIBJVM = lib$(JVM).so
144 endif
145
146 SPECIAL_PATHS:=adlc c1 gc_implementation opto shark libadt
147
148 SOURCE_PATHS=\
149 $(shell find $(HS_COMMON_SRC)/share/vm/* -type d \! \
150 \( -name DUMMY $(foreach dir,$(SPECIAL_PATHS),-o -name $(dir)) \))
151 SOURCE_PATHS+=$(HS_COMMON_SRC)/os/$(Platform_os_family)/vm
152 SOURCE_PATHS+=$(HS_COMMON_SRC)/os/posix/vm
153 SOURCE_PATHS+=$(HS_COMMON_SRC)/cpu/$(Platform_arch)/vm
154 SOURCE_PATHS+=$(HS_COMMON_SRC)/os_cpu/$(Platform_os_arch)/vm
155
156 ifndef JAVASE_EMBEDDED
157 SOURCE_PATHS+=$(shell if [ -d $(HS_ALT_SRC)/share/vm/jfr ]; then \
158 find $(HS_ALT_SRC)/share/vm/jfr -type d; \
159 fi)
160 endif
161
162 CORE_PATHS=$(foreach path,$(SOURCE_PATHS),$(call altsrc,$(path)) $(path))
163 CORE_PATHS+=$(GENERATED)/jvmtifiles
295 $(LD_SCRIPT): $(LIBJVM_MAPFILE)
296 $(QUIETLY) { \
297 rm -rf $@; \
298 $(LINK_VM) -Wl,--verbose $(LFLAGS_VM) 2>&1 | \
299 sed -e '/^======/,/^======/!d' \
300 -e '/^======/d' \
301 -e 's/0\( + SIZEOF_HEADERS\)/$(JVM_BASE_ADDR)\1/' \
302 > $@; \
303 }
304 LD_SCRIPT_FLAG = -Wl,-T,$(LD_SCRIPT)
305 endif
306
307 $(LIBJVM): $(LIBJVM.o) $(LIBJVM_MAPFILE) $(LD_SCRIPT)
308 $(QUIETLY) { \
309 echo Linking vm...; \
310 $(LINK_LIB.CXX/PRE_HOOK) \
311 $(LINK_VM) $(LD_SCRIPT_FLAG) \
312 $(LFLAGS_VM) -o $@ $(sort $(LIBJVM.o)) $(LIBS_VM); \
313 $(LINK_LIB.CXX/POST_HOOK) \
314 rm -f $@.1; ln -s $@ $@.1; \
315 }
316
317 DEST_JVM = $(JDK_LIBDIR)/$(VM_SUBDIR)/$(LIBJVM)
318
319 install_jvm: $(LIBJVM)
320 @echo "Copying $(LIBJVM) to $(DEST_JVM)"
321 $(QUIETLY) cp -f $(LIBJVM) $(DEST_JVM) && echo "Done"
322
323 #----------------------------------------------------------------------
324 # Other files
325
326 # Gamma launcher
327 include $(MAKEFILES_DIR)/launcher.make
328
329 # Signal interposition library
330 include $(MAKEFILES_DIR)/jsig.make
331
332 # Serviceability agent
333 include $(MAKEFILES_DIR)/saproc.make
334
|