213 # Param 3 = extra CFLAGS |
213 # Param 3 = extra CFLAGS |
214 # Param 4 = C or C++ (defaults to C) |
214 # Param 4 = C or C++ (defaults to C) |
215 # Param 5 = libs for posix |
215 # Param 5 = libs for posix |
216 # Param 6 = libs for winapi |
216 # Param 6 = libs for winapi |
217 # Param 7 = libs for solaris |
217 # Param 7 = libs for solaris |
218 BUILD_DEMO_JVMTI_$1_EXTRA_SRC:= $$(wildcard $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/demo/jvmti/$1) \ |
218 BUILD_DEMO_JVMTI_$1_EXTRA_SRC:= $$(wildcard $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/demo/jvmti/$1) \ |
219 $$(wildcard $$(addprefix $(JDK_TOPDIR)/src/share/demo/jvmti/,$2)) |
219 $$(wildcard $$(addprefix $(JDK_TOPDIR)/src/share/demo/jvmti/,$2)) |
220 BUILD_DEMO_JVMTI_$1_EXTRA_INC:=$$(addprefix -I,$$(BUILD_DEMO_JVMTI_$1_EXTRA_SRC)) |
220 BUILD_DEMO_JVMTI_$1_EXTRA_INC:=$$(addprefix -I,$$(BUILD_DEMO_JVMTI_$1_EXTRA_SRC)) |
221 BUILD_DEMO_JVMTI_$1_LANG:=C |
221 BUILD_DEMO_JVMTI_$1_LANG:=C |
222 BUILD_DEMO_JVMTI_$1_O_FLAG:=$(C_O_FLAG_NORM) |
222 BUILD_DEMO_JVMTI_$1_O_FLAG:=$(C_O_FLAG_NORM) |
223 ifneq (,$4) |
223 ifneq (,$4) |
225 endif |
225 endif |
226 ifeq (C++,$4) |
226 ifeq (C++,$4) |
227 $1_EXTRA_CXX:=$(LIBCXX) |
227 $1_EXTRA_CXX:=$(LIBCXX) |
228 BUILD_DEMO_JVMTI_$1_O_FLAG:=$(CXX_O_FLAG_NORM) |
228 BUILD_DEMO_JVMTI_$1_O_FLAG:=$(CXX_O_FLAG_NORM) |
229 endif |
229 endif |
|
230 |
|
231 $1_CXXFLAGS:=$(CXXFLAGS_JDKLIB) $$(BUILD_DEMO_JVMTI_$1_O_FLAG) -I$(JDK_TOPDIR)/src/share/demo/jvmti/$1 $$(BUILD_DEMO_JVMTI_$1_EXTRA_INC) $3 |
|
232 ifeq ($1-$(OPENJDK_TARGET_CPU_ARCH),waiters-sparc) |
|
233 $1_FILTER:=-xregs=no%appl |
|
234 $1_CXXFLAGS:=$$(filter-out $$($1_FILTER),$$($1_CXXFLAGS)) |
|
235 endif |
|
236 |
230 $$(eval $$(call SetupNativeCompilation,BUILD_DEMO_JVMTI_$1,\ |
237 $$(eval $$(call SetupNativeCompilation,BUILD_DEMO_JVMTI_$1,\ |
231 SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/$1 $$(BUILD_DEMO_JVMTI_$1_EXTRA_SRC),\ |
238 SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/$1 $$(BUILD_DEMO_JVMTI_$1_EXTRA_SRC),\ |
232 LANG:=$$(BUILD_DEMO_JVMTI_$1_LANG),\ |
239 LANG:=$$(BUILD_DEMO_JVMTI_$1_LANG),\ |
233 CFLAGS:=$(CFLAGS_JDKLIB) $$(BUILD_DEMO_JVMTI_$1_O_FLAG) -I$(JDK_TOPDIR)/src/share/demo/jvmti/$1 $$(BUILD_DEMO_JVMTI_$1_EXTRA_INC) $3,\ |
240 CFLAGS:=$(CFLAGS_JDKLIB) $$(BUILD_DEMO_JVMTI_$1_O_FLAG) -I$(JDK_TOPDIR)/src/share/demo/jvmti/$1 $$(BUILD_DEMO_JVMTI_$1_EXTRA_INC) $3,\ |
234 CXXFLAGS:=$(CXXFLAGS_JDKLIB) $$(BUILD_DEMO_JVMTI_$1_O_FLAG) -I$(JDK_TOPDIR)/src/share/demo/jvmti/$1 $$(BUILD_DEMO_JVMTI_$1_EXTRA_INC) $3,\ |
241 CXXFLAGS:=$$($1_CXXFLAGS),\ |
235 LDFLAGS:=$(LDFLAGS_JDKLIB),\ |
242 LDFLAGS:=$(LDFLAGS_JDKLIB),\ |
236 LDFLAGS_SUFFIX:=$$($1_EXTRA_CXX),\ |
243 LDFLAGS_SUFFIX:=$$($1_EXTRA_CXX),\ |
237 LDFLAGS_SUFFIX_posix:=$5,\ |
244 LDFLAGS_SUFFIX_posix:=$5,\ |
238 LDFLAGS_SUFFIX_winapi:=$6,\ |
245 LDFLAGS_SUFFIX_winapi:=$6,\ |
239 LDFLAGS_SUFFIX_solaris:=-lc $7,\ |
246 LDFLAGS_SUFFIX_solaris:=-lc $7,\ |
240 BIN:=$(JDK_OUTPUTDIR)/newdemoobjs/jvmti/$1,\ |
247 OBJECT_DIR:=$(JDK_OUTPUTDIR)/newdemoobjs/jvmti/$1,\ |
241 LIB:=$(JDK_OUTPUTDIR)/newdemo/jvmti/$1/lib/$(LIBRARY_PREFIX)$1$(SHARED_LIBRARY_SUFFIX))) |
248 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/newdemo/jvmti/$1/lib,\ |
|
249 LIBRARY:=$1)) |
242 |
250 |
243 $$(eval $$(call SetupZipArchive,BUILD_DEMO_JVMTI_SRC_$1,\ |
251 $$(eval $$(call SetupZipArchive,BUILD_DEMO_JVMTI_SRC_$1,\ |
244 SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/$1 $$(BUILD_DEMO_JVMTI_$1_EXTRA_SRC),\ |
252 SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/$1 $$(BUILD_DEMO_JVMTI_$1_EXTRA_SRC),\ |
245 ZIP:=$(JDK_OUTPUTDIR)/newdemo/jvmti/$1/src.zip)) |
253 ZIP:=$(JDK_OUTPUTDIR)/newdemo/jvmti/$1/src.zip)) |
246 |
254 |
260 MANIFEST:=$(JDK_TOPDIR)/make/tools/manifest.mf)) |
268 MANIFEST:=$(JDK_TOPDIR)/make/tools/manifest.mf)) |
261 |
269 |
262 BUILD_DEMOS += $(JDK_OUTPUTDIR)/newdemo/jvmti/$1/$1.jar |
270 BUILD_DEMOS += $(JDK_OUTPUTDIR)/newdemo/jvmti/$1/$1.jar |
263 endif |
271 endif |
264 |
272 |
265 BUILD_DEMOS += $(JDK_OUTPUTDIR)/newdemo/jvmti/$1/lib/$(LIBRARY_PREFIX)$1$(SHARED_LIBRARY_SUFFIX) \ |
273 BUILD_DEMOS += $$(BUILD_DEMO_JVMTI_$1) \ |
266 $(JDK_OUTPUTDIR)/newdemo/jvmti/$1/src.zip \ |
274 $(JDK_OUTPUTDIR)/newdemo/jvmti/$1/src.zip \ |
267 $(JDK_OUTPUTDIR)/newdemo/jvmti/$1/README.txt |
275 $(JDK_OUTPUTDIR)/newdemo/jvmti/$1/README.txt |
268 endef |
276 endef |
269 |
277 |
270 $(eval $(call SetupJVMTIDemo,compiledMethodLoad, agent_util)) |
278 $(eval $(call SetupJVMTIDemo,compiledMethodLoad, agent_util)) |
272 $(eval $(call SetupJVMTIDemo,heapTracker, agent_util java_crw_demo)) |
280 $(eval $(call SetupJVMTIDemo,heapTracker, agent_util java_crw_demo)) |
273 $(eval $(call SetupJVMTIDemo,heapViewer, agent_util)) |
281 $(eval $(call SetupJVMTIDemo,heapViewer, agent_util)) |
274 # hprof contains error messages using __FILE__ macro. These expand to the absolute path |
282 # hprof contains error messages using __FILE__ macro. These expand to the absolute path |
275 # in the new build system and relative in the old, causing the binaries to differ. |
283 # in the new build system and relative in the old, causing the binaries to differ. |
276 $(eval $(call SetupJVMTIDemo,hprof, java_crw_demo,\ |
284 $(eval $(call SetupJVMTIDemo,hprof, java_crw_demo,\ |
277 -I$(JDK_TOPDIR)/src/share/npt -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/npt,C,\ |
285 -I$(JDK_TOPDIR)/src/share/npt -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/npt,C,\ |
278 -ldl,ws2_32.lib winmm.lib,-lsocket -lnsl)) |
286 -ldl,ws2_32.lib winmm.lib,-lsocket -lnsl)) |
279 |
287 |
280 $(eval $(call SetupJVMTIDemo,minst, agent_util java_crw_demo)) |
288 $(eval $(call SetupJVMTIDemo,minst, agent_util java_crw_demo)) |
281 $(eval $(call SetupJVMTIDemo,mtrace, agent_util java_crw_demo)) |
289 $(eval $(call SetupJVMTIDemo,mtrace, agent_util java_crw_demo)) |
282 $(eval $(call SetupJVMTIDemo,waiters, agent_util,,C++)) |
290 $(eval $(call SetupJVMTIDemo,waiters, agent_util,,C++)) |
384 SRC:=$(JDK_TOPDIR)/src/solaris/demo/jni/Poller, \ |
392 SRC:=$(JDK_TOPDIR)/src/solaris/demo/jni/Poller, \ |
385 LANG := C, \ |
393 LANG := C, \ |
386 CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \ |
394 CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \ |
387 -I$(JDK_OUTPUTDIR)/newdemoclasses/jni/Poller, \ |
395 -I$(JDK_OUTPUTDIR)/newdemoclasses/jni/Poller, \ |
388 LDFLAGS:=$(LDFLAGS_JDKLIB), \ |
396 LDFLAGS:=$(LDFLAGS_JDKLIB), \ |
389 BIN:=$(JDK_OUTPUTDIR)/newdemoobjs/jni/Poller,\ |
397 OBJECT_DIR:=$(JDK_OUTPUTDIR)/newdemoobjs/jni/Poller,\ |
390 LIB:=$(JDK_OUTPUTDIR)/newdemoobjs/$(LIBRARY_PREFIX)Poller$(SHARED_LIBRARY_SUFFIX))) |
398 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/newdemoobjs, \ |
|
399 LIBRARY:=Poller)) |
391 |
400 |
392 # |
401 # |
393 # We can only compile native code after jar has been build (since we depend on generated .h files) |
402 # We can only compile native code after jar has been build (since we depend on generated .h files) |
394 # |
403 # |
395 $(JDK_OUTPUTDIR)/newdemoobjs/jni/Poller/Poller.o : $(JDK_OUTPUTDIR)/newdemo/jni/Poller/Poller.jar |
404 $(JDK_OUTPUTDIR)/newdemoobjs/jni/Poller/Poller.o : $(JDK_OUTPUTDIR)/newdemo/jni/Poller/Poller.jar |