193 $(CHMOD) -f ug+w $@
194 endif
195
196 ##################################################################################################
197
198 # In the old makefiles, j2dbench was not compiled.
199 #$(eval $(call SetupDemo,J2DBench, java2d, /src, , j2dbench/J2DBench))
200
201 # JVMTI demos are a bit strange and share some files, but be careful the
202 # shared files are just the *.c and *.h files, not the README or sample
203 # makefiles. So we always exclude the README.txt and sample.makefile.txt
204 # from the extra sources.
205 define SetupJVMTIDemo
206 # Param 1 = Name of the demo
207 # Param 2 = add these directories to the includes, default is agent_util
208 # Param 3 = extra CFLAGS
209 # Param 4 = C or C++ (defaults to C)
210 # Param 5 = libs for posix
211 # Param 6 = libs for windows
212 # Param 7 = libs for solaris
213 BUILD_DEMO_JVMTI_$1_EXTRA_SRC := \
214 $$(wildcard $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/demo/jvmti/$1) \
215 $$(wildcard $$(addprefix $(JDK_TOPDIR)/src/share/demo/jvmti/, $2))
216 BUILD_DEMO_JVMTI_$1_EXTRA_SRC_EXCLUDE := \
217 $$(wildcard $$(addprefix $(JDK_TOPDIR)/src/share/demo/jvmti/, $2)/README.txt) \
218 $$(wildcard $$(addprefix $(JDK_TOPDIR)/src/share/demo/jvmti/, $2)/sample.makefile.txt)
219 BUILD_DEMO_JVMTI_$1_EXTRA_INC := $$(addprefix -I, $$(BUILD_DEMO_JVMTI_$1_EXTRA_SRC))
220 BUILD_DEMO_JVMTI_$1_LANG := C
221 ifneq (, $4)
222 BUILD_DEMO_JVMTI_$1_LANG := $4
223 endif
224 ifeq (C++, $4)
225 $1_EXTRA_CXX := $(LDFLAGS_CXX_JDK) $(LIBCXX)
226 endif
227
228 $1_CXXFLAGS := $(CXXFLAGS_JDKLIB) -I$(JDK_TOPDIR)/src/share/demo/jvmti/$1 \
229 $$(BUILD_DEMO_JVMTI_$1_EXTRA_INC) $3 \
230 $(CXXFLAGS_DEBUG_SYMBOLS)
231 ifeq ($1-$(OPENJDK_TARGET_CPU_ARCH), waiters-sparc)
232 $1_FILTER := -xregs=no%appl
233 $1_CXXFLAGS := $$(filter-out $$($1_FILTER), $$($1_CXXFLAGS))
234 endif
235
287 $(JDK_OUTPUTDIR)/demo/jvmti/$1/README.txt
288
289 ifeq ($(OPENJDK_TARGET_OS), windows)
290 # These files normally end up in OBJECT_DIR but for demos they
291 # are supposed to be included in the distro.
292 $(JDK_OUTPUTDIR)/demo/jvmti/$1/lib/$1.lib: $$(BUILD_DEMO_JVMTI_$1)
293 $(CP) $(JDK_OUTPUTDIR)/demoobjs/jvmti/$1/$1.lib $$@
294
295 $(JDK_OUTPUTDIR)/demo/jvmti/$1/lib/$1.exp: $$(BUILD_DEMO_JVMTI_$1)
296 $(CP) $(JDK_OUTPUTDIR)/demoobjs/jvmti/$1/$1.exp $$@
297
298 BUILD_DEMOS += $(JDK_OUTPUTDIR)/demo/jvmti/$1/lib/$1.lib \
299 $(JDK_OUTPUTDIR)/demo/jvmti/$1/lib/$1.exp
300 endif
301 endef
302
303 $(eval $(call SetupJVMTIDemo,compiledMethodLoad, agent_util))
304 $(eval $(call SetupJVMTIDemo,gctest, agent_util))
305 $(eval $(call SetupJVMTIDemo,heapTracker, agent_util java_crw_demo))
306 $(eval $(call SetupJVMTIDemo,heapViewer, agent_util))
307 $(eval $(call SetupJVMTIDemo,hprof, java_crw_demo, \
308 -I$(JDK_TOPDIR)/src/share/npt -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt, C, \
309 -ldl, ws2_32.lib winmm.lib, -lsocket -lnsl, -lpthread))
310
311 $(eval $(call SetupJVMTIDemo,minst, agent_util java_crw_demo))
312 $(eval $(call SetupJVMTIDemo,mtrace, agent_util java_crw_demo))
313 $(eval $(call SetupJVMTIDemo,waiters, agent_util, , C++))
314 $(eval $(call SetupJVMTIDemo,versionCheck, agent_util))
315
316 ##################################################################################################
317
318 # The jpda demo (com/sun/tools/example) is oddly enough stored in src/share/classes.
319 # At least, we do not need to compile the jpda demo, just jar/zip up the sources.
320 JPDA_SOURCES := $(call CacheFind, $(JDK_TOPDIR)/src/share/classes/com/sun/tools/example)
321 # The number of files are few enough so that we can use echo safely below to list them.
322 JPDA_FILES := $(subst $(JDK_TOPDIR)/src/share/classes/,,$(JPDA_SOURCES))
323
324 $(JDK_OUTPUTDIR)/demo/jpda/src.zip: $(JPDA_SOURCES)
325 $(MKDIR) -p $(@D)
326 (cd $(JDK_TOPDIR)/src/share/classes && $(ZIP) -qru $@ com -i "com/sun/tools/example/*")
327
328 $(JDK_OUTPUTDIR)/demo/jpda/examples.jar: $(JPDA_SOURCES)
329 $(MKDIR) -p $(@D)
|
193 $(CHMOD) -f ug+w $@
194 endif
195
196 ##################################################################################################
197
198 # In the old makefiles, j2dbench was not compiled.
199 #$(eval $(call SetupDemo,J2DBench, java2d, /src, , j2dbench/J2DBench))
200
201 # JVMTI demos are a bit strange and share some files, but be careful the
202 # shared files are just the *.c and *.h files, not the README or sample
203 # makefiles. So we always exclude the README.txt and sample.makefile.txt
204 # from the extra sources.
205 define SetupJVMTIDemo
206 # Param 1 = Name of the demo
207 # Param 2 = add these directories to the includes, default is agent_util
208 # Param 3 = extra CFLAGS
209 # Param 4 = C or C++ (defaults to C)
210 # Param 5 = libs for posix
211 # Param 6 = libs for windows
212 # Param 7 = libs for solaris
213 # Param 8 = libs for linux
214 # Param 9 = extra directories with required sources
215 BUILD_DEMO_JVMTI_$1_EXTRA_SRC := \
216 $$(wildcard $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/demo/jvmti/$1) \
217 $$(wildcard $$(addprefix $(JDK_TOPDIR)/src/share/demo/jvmti/, $2)) \
218 $9
219 BUILD_DEMO_JVMTI_$1_EXTRA_SRC_EXCLUDE := \
220 $$(wildcard $$(addprefix $(JDK_TOPDIR)/src/share/demo/jvmti/, $2)/README.txt) \
221 $$(wildcard $$(addprefix $(JDK_TOPDIR)/src/share/demo/jvmti/, $2)/sample.makefile.txt)
222 BUILD_DEMO_JVMTI_$1_EXTRA_INC := $$(addprefix -I, $$(BUILD_DEMO_JVMTI_$1_EXTRA_SRC))
223 BUILD_DEMO_JVMTI_$1_LANG := C
224 ifneq (, $4)
225 BUILD_DEMO_JVMTI_$1_LANG := $4
226 endif
227 ifeq (C++, $4)
228 $1_EXTRA_CXX := $(LDFLAGS_CXX_JDK) $(LIBCXX)
229 endif
230
231 $1_CXXFLAGS := $(CXXFLAGS_JDKLIB) -I$(JDK_TOPDIR)/src/share/demo/jvmti/$1 \
232 $$(BUILD_DEMO_JVMTI_$1_EXTRA_INC) $3 \
233 $(CXXFLAGS_DEBUG_SYMBOLS)
234 ifeq ($1-$(OPENJDK_TARGET_CPU_ARCH), waiters-sparc)
235 $1_FILTER := -xregs=no%appl
236 $1_CXXFLAGS := $$(filter-out $$($1_FILTER), $$($1_CXXFLAGS))
237 endif
238
290 $(JDK_OUTPUTDIR)/demo/jvmti/$1/README.txt
291
292 ifeq ($(OPENJDK_TARGET_OS), windows)
293 # These files normally end up in OBJECT_DIR but for demos they
294 # are supposed to be included in the distro.
295 $(JDK_OUTPUTDIR)/demo/jvmti/$1/lib/$1.lib: $$(BUILD_DEMO_JVMTI_$1)
296 $(CP) $(JDK_OUTPUTDIR)/demoobjs/jvmti/$1/$1.lib $$@
297
298 $(JDK_OUTPUTDIR)/demo/jvmti/$1/lib/$1.exp: $$(BUILD_DEMO_JVMTI_$1)
299 $(CP) $(JDK_OUTPUTDIR)/demoobjs/jvmti/$1/$1.exp $$@
300
301 BUILD_DEMOS += $(JDK_OUTPUTDIR)/demo/jvmti/$1/lib/$1.lib \
302 $(JDK_OUTPUTDIR)/demo/jvmti/$1/lib/$1.exp
303 endif
304 endef
305
306 $(eval $(call SetupJVMTIDemo,compiledMethodLoad, agent_util))
307 $(eval $(call SetupJVMTIDemo,gctest, agent_util))
308 $(eval $(call SetupJVMTIDemo,heapTracker, agent_util java_crw_demo))
309 $(eval $(call SetupJVMTIDemo,heapViewer, agent_util))
310
311 # On AIX, hprof requires 'dladdr' from src/aix/porting/porting_aix.cpp
312 BUILD_LIBHPROF_AIX_EXTRA_SRC :=
313 BUILD_LIBHPROF_AIX_EXTRA_CFLAGS :=
314 ifeq ($(OPENJDK_TARGET_OS), aix)
315 BUILD_LIBHPROF_AIX_EXTRA_SRC += $(JDK_TOPDIR)/src/aix/porting
316 BUILD_LIBHPROF_AIX_EXTRA_CFLAGS += -I$(JDK_TOPDIR)/src/aix/porting
317 endif
318
319 $(eval $(call SetupJVMTIDemo,hprof, java_crw_demo, \
320 -I$(JDK_TOPDIR)/src/share/npt -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt \
321 $(BUILD_LIBHPROF_AIX_EXTRA_CFLAGS), C, \
322 -ldl, ws2_32.lib winmm.lib, -lsocket -lnsl, -lpthread, $(BUILD_LIBHPROF_AIX_EXTRA_SRC)))
323
324 $(eval $(call SetupJVMTIDemo,minst, agent_util java_crw_demo))
325 $(eval $(call SetupJVMTIDemo,mtrace, agent_util java_crw_demo))
326 $(eval $(call SetupJVMTIDemo,waiters, agent_util, , C++))
327 $(eval $(call SetupJVMTIDemo,versionCheck, agent_util))
328
329 ##################################################################################################
330
331 # The jpda demo (com/sun/tools/example) is oddly enough stored in src/share/classes.
332 # At least, we do not need to compile the jpda demo, just jar/zip up the sources.
333 JPDA_SOURCES := $(call CacheFind, $(JDK_TOPDIR)/src/share/classes/com/sun/tools/example)
334 # The number of files are few enough so that we can use echo safely below to list them.
335 JPDA_FILES := $(subst $(JDK_TOPDIR)/src/share/classes/,,$(JPDA_SOURCES))
336
337 $(JDK_OUTPUTDIR)/demo/jpda/src.zip: $(JPDA_SOURCES)
338 $(MKDIR) -p $(@D)
339 (cd $(JDK_TOPDIR)/src/share/classes && $(ZIP) -qru $@ com -i "com/sun/tools/example/*")
340
341 $(JDK_OUTPUTDIR)/demo/jpda/examples.jar: $(JPDA_SOURCES)
342 $(MKDIR) -p $(@D)
|