jdk/makefiles/CompileDemos.gmk
changeset 13164 72c5d01a857d
parent 12892 3ef14bab6254
child 13702 efd6a05935b2
equal deleted inserted replaced
13082:9b19b2302c28 13164:72c5d01a857d
   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++))
   347 
   355 
   348 BUILD_DEMOS += $(JDK_OUTPUTDIR)/newdemo/README
   356 BUILD_DEMOS += $(JDK_OUTPUTDIR)/newdemo/README
   349 
   357 
   350 ##################################################################################################
   358 ##################################################################################################
   351 
   359 
   352 ifeq ($(PLATFORM), solaris)
   360 ifeq ($(OPENJDK_TARGET_OS), solaris)
   353 
   361 
   354 $(JDK_OUTPUTDIR)/newdemoclasses/jni/Poller/% : $(JDK_TOPDIR)/src/solaris/demo/jni/Poller/%
   362 $(JDK_OUTPUTDIR)/newdemoclasses/jni/Poller/% : $(JDK_TOPDIR)/src/solaris/demo/jni/Poller/%
   355 		$(MKDIR) -p $(@D)
   363 		$(MKDIR) -p $(@D)
   356 		$(CP) $< $@
   364 		$(CP) $< $@
   357 		$(CHMOD) -f ug+w $@
   365 		$(CHMOD) -f ug+w $@
   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