changeset 26691:40ea2c41f53b

8056999: Make hotspot builds less verbose on default log level Reviewed-by: dholmes, erikj
author ihse
date Tue, 16 Sep 2014 12:13:13 +0200
parents 905d970d7537
children 36bff23b2c2e 605b2e146fa5 fd74c05c4a7e e4d9c51281a1
files hotspot/make/aix/makefiles/adlc.make hotspot/make/aix/makefiles/buildtree.make hotspot/make/aix/makefiles/defs.make hotspot/make/aix/makefiles/jsig.make hotspot/make/aix/makefiles/jvmti.make hotspot/make/aix/makefiles/rules.make hotspot/make/aix/makefiles/sa.make hotspot/make/aix/makefiles/saproc.make hotspot/make/aix/makefiles/trace.make hotspot/make/aix/makefiles/vm.make hotspot/make/bsd/makefiles/adlc.make hotspot/make/bsd/makefiles/buildtree.make hotspot/make/bsd/makefiles/defs.make hotspot/make/bsd/makefiles/dtrace.make hotspot/make/bsd/makefiles/jsig.make hotspot/make/bsd/makefiles/jvmti.make hotspot/make/bsd/makefiles/rules.make hotspot/make/bsd/makefiles/sa.make hotspot/make/bsd/makefiles/saproc.make hotspot/make/bsd/makefiles/trace.make hotspot/make/bsd/makefiles/vm.make hotspot/make/defs.make hotspot/make/linux/makefiles/adlc.make hotspot/make/linux/makefiles/buildtree.make hotspot/make/linux/makefiles/defs.make hotspot/make/linux/makefiles/dtrace.make hotspot/make/linux/makefiles/jsig.make hotspot/make/linux/makefiles/jvmti.make hotspot/make/linux/makefiles/rules.make hotspot/make/linux/makefiles/sa.make hotspot/make/linux/makefiles/saproc.make hotspot/make/linux/makefiles/trace.make hotspot/make/linux/makefiles/vm.make hotspot/make/solaris/makefiles/adlc.make hotspot/make/solaris/makefiles/buildtree.make hotspot/make/solaris/makefiles/defs.make hotspot/make/solaris/makefiles/dtrace.make hotspot/make/solaris/makefiles/jsig.make hotspot/make/solaris/makefiles/jvmti.make hotspot/make/solaris/makefiles/rules.make hotspot/make/solaris/makefiles/sa.make hotspot/make/solaris/makefiles/saproc.make hotspot/make/solaris/makefiles/trace.make hotspot/make/solaris/makefiles/vm.make
diffstat 44 files changed, 213 insertions(+), 212 deletions(-) [+]
line wrap: on
line diff
--- a/hotspot/make/aix/makefiles/adlc.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/aix/makefiles/adlc.make	Tue Sep 16 12:13:13 2014 +0200
@@ -106,7 +106,7 @@
 all: $(EXEC)
 
 $(EXEC) : $(OBJECTS)
-	@echo Making adlc
+	@echo $(LOG_INFO) Making adlc
 	$(QUIETLY) $(HOST.LINK_NOPROF.CXX) -o $(EXEC) $(OBJECTS)
 
 # Random dependencies:
@@ -189,7 +189,7 @@
 	$(QUIETLY) ./$(ADLC_UPDATER) adGlobals_$(Platform_arch_model).hpp $(TEMPDIR) $(OUTDIR)
 	$(QUIETLY) ./$(ADLC_UPDATER) dfa_$(Platform_arch_model).cpp $(TEMPDIR) $(OUTDIR)
 	$(QUIETLY) [ -f $(TEMPDIR)/made-change ] \
-		|| echo "Rescanned $(SOURCE.AD) but encountered no changes."
+		|| echo $(LOG_INFO) "Rescanned $(SOURCE.AD) but encountered no changes."
 	$(QUIETLY) rm -rf $(TEMPDIR)
 
 
@@ -207,14 +207,14 @@
     print }'
 
 $(OUTDIR)/%.o: %.cpp
-	@echo Compiling $<
+	@echo $(LOG_INFO) Compiling $<
 	$(QUIETLY) $(REMOVE_TARGET)
 	$(QUIETLY) $(HOST.COMPILE.CXX) -o $@ $< $(COMPILE_DONE)
 
 # Some object files are given a prefix, to disambiguate
 # them from objects of the same name built for the VM.
 $(OUTDIR)/adlc-%.o: %.cpp
-	@echo Compiling $<
+	@echo $(LOG_INFO) Compiling $<
 	$(QUIETLY) $(REMOVE_TARGET)
 	$(QUIETLY) $(HOST.COMPILE.CXX) -o $@ $< $(COMPILE_DONE)
 
--- a/hotspot/make/aix/makefiles/buildtree.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/aix/makefiles/buildtree.make	Tue Sep 16 12:13:13 2014 +0200
@@ -195,7 +195,7 @@
 DATA_MODE = $(DATA_MODE/$(BUILDARCH))
 
 flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
-	@echo Creating $@ ...
+	@echo $(LOG_INFO) Creating $@ ...
 	$(QUIETLY) ( \
 	$(BUILDTREE_COMMENT); \
 	echo; \
@@ -282,7 +282,7 @@
 	) > $@
 
 flags_vm.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
-	@echo Creating $@ ...
+	@echo $(LOG_INFO) Creating $@ ...
 	$(QUIETLY) ( \
 	$(BUILDTREE_COMMENT); \
 	echo; \
@@ -290,7 +290,7 @@
 	) > $@
 
 ../shared_dirs.lst:  $(BUILDTREE_MAKE) $(GAMMADIR)/src/share/vm
-	@echo Creating directory list $@
+	@echo $(LOG_INFO) Creating directory list $@
 	$(QUIETLY) if [ -d $(HS_ALT_SRC)/share/vm ]; then \
           find $(HS_ALT_SRC)/share/vm/* -prune \
 	  -type d \! \( $(TOPLEVEL_EXCLUDE_DIRS) \) -exec find {} \
@@ -301,7 +301,7 @@
         \( $(ALWAYS_EXCLUDE_DIRS) \) -prune -o -type d -print \; >> $@
 
 Makefile: $(BUILDTREE_MAKE)
-	@echo Creating $@ ...
+	@echo $(LOG_INFO) Creating $@ ...
 	$(QUIETLY) ( \
 	$(BUILDTREE_COMMENT); \
 	echo; \
@@ -311,7 +311,7 @@
 	) > $@
 
 vm.make: $(BUILDTREE_MAKE)
-	@echo Creating $@ ...
+	@echo $(LOG_INFO) Creating $@ ...
 	$(QUIETLY) ( \
 	$(BUILDTREE_COMMENT); \
 	echo; \
@@ -322,7 +322,7 @@
 	) > $@
 
 adlc.make: $(BUILDTREE_MAKE)
-	@echo Creating $@ ...
+	@echo $(LOG_INFO) Creating $@ ...
 	$(QUIETLY) ( \
 	$(BUILDTREE_COMMENT); \
 	echo; \
@@ -332,7 +332,7 @@
 	) > $@
 
 jvmti.make: $(BUILDTREE_MAKE)
-	@echo Creating $@ ...
+	@echo $(LOG_INFO) Creating $@ ...
 	$(QUIETLY) ( \
 	$(BUILDTREE_COMMENT); \
 	echo; \
@@ -342,7 +342,7 @@
 	) > $@
 
 trace.make: $(BUILDTREE_MAKE)
-	@echo Creating $@ ...
+	@echo $(LOG_INFO) Creating $@ ...
 	$(QUIETLY) ( \
 	$(BUILDTREE_COMMENT); \
 	echo; \
@@ -352,7 +352,7 @@
 	) > $@
 
 sa.make: $(BUILDTREE_MAKE)
-	@echo Creating $@ ...
+	@echo $(LOG_INFO) Creating $@ ...
 	$(QUIETLY) ( \
 	$(BUILDTREE_COMMENT); \
 	echo; \
--- a/hotspot/make/aix/makefiles/defs.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/aix/makefiles/defs.make	Tue Sep 16 12:13:13 2014 +0200
@@ -29,6 +29,12 @@
 
 SLASH_JAVA ?= /java
 
+define print_info
+  ifneq ($$(LOG_LEVEL), warn)
+    $$(shell echo >&2 "INFO: $1")
+  endif
+endef
+
 # Need PLATFORM (os-arch combo names) for jdk and hotspot, plus libarch name
 #ARCH:=$(shell uname -m)
 PATH_SEP = :
@@ -122,8 +128,7 @@
       # debug variants always get Full Debug Symbols (if available)
       ENABLE_FULL_DEBUG_SYMBOLS = 1
     endif
-    _JUNK_ := $(shell \
-      echo >&2 "INFO: ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)")
+    $(eval $(call print_info, "ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)"))
     # since objcopy is optional, we set ZIP_DEBUGINFO_FILES later
 
     ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
@@ -138,19 +143,16 @@
       endif
       OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY))
       ifneq ($(ALT_OBJCOPY),)
-        _JUNK_ := $(shell echo >&2 "INFO: ALT_OBJCOPY=$(ALT_OBJCOPY)")
+        $(eval $(call print_info, "ALT_OBJCOPY=$(ALT_OBJCOPY)"))
         OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY))
       endif
 
       ifeq ($(OBJCOPY),)
-        _JUNK_ := $(shell \
-          echo >&2 "INFO: no objcopy cmd found so cannot create .debuginfo files. You may need to set ALT_OBJCOPY.")
+        $(eval $(call print_info, "no objcopy cmd found so cannot create .debuginfo files. You may need to set ALT_OBJCOPY."))
         ENABLE_FULL_DEBUG_SYMBOLS=0
-        _JUNK_ := $(shell \
-          echo >&2 "INFO: ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)")
+        $(eval $(call print_info, "ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)"))
       else
-        _JUNK_ := $(shell \
-          echo >&2 "INFO: $(OBJCOPY) cmd found so will create .debuginfo files.")
+        $(eval $(call print_info, "$(OBJCOPY) cmd found so will create .debuginfo files."))
 
         # Library stripping policies for .debuginfo configs:
         #   all_strip - strips everything from the library
@@ -164,13 +166,11 @@
         #
         STRIP_POLICY ?= min_strip
 
-        _JUNK_ := $(shell \
-          echo >&2 "INFO: STRIP_POLICY=$(STRIP_POLICY)")
+        $(eval $(call print_info, "STRIP_POLICY=$(STRIP_POLICY)"))
 
         ZIP_DEBUGINFO_FILES ?= 1
 
-        _JUNK_ := $(shell \
-          echo >&2 "INFO: ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)")
+        $(eval $(call print_info, "ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)"))
       endif
     endif # ENABLE_FULL_DEBUG_SYMBOLS=1
   endif # BUILD_FLAVOR
@@ -227,5 +227,3 @@
 ADD_SA_BINARIES/zero  =
 
 EXPORT_LIST += $(ADD_SA_BINARIES/$(HS_ARCH))
-
-
--- a/hotspot/make/aix/makefiles/jsig.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/aix/makefiles/jsig.make	Tue Sep 16 12:13:13 2014 +0200
@@ -55,7 +55,7 @@
 endif
 
 $(LIBJSIG): $(JSIGSRCDIR)/jsig.c $(LIBJSIG_MAPFILE)
-	@echo Making signal interposition lib...
+	@echo $(LOG_INFO) Making signal interposition lib...
 	$(QUIETLY) $(CXX) $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \
                          $(LFLAGS_JSIG) $(JSIG_DEBUG_CFLAGS) -o $@ $< -ldl
 
--- a/hotspot/make/aix/makefiles/jvmti.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/aix/makefiles/jvmti.make	Tue Sep 16 12:13:13 2014 +0200
@@ -76,34 +76,34 @@
 	$(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -d $(JvmtiOutDir) $(JvmtiEnvFillSource)
 
 $(JvmtiOutDir)/jvmtiEnter.cpp: $(both) $(JvmtiSrcDir)/jvmtiEnter.xsl
-	@echo Generating $@
+	@echo $(LOG_INFO) Generating $@
 	$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiEnter.xsl -OUT $(JvmtiOutDir)/jvmtiEnter.cpp -PARAM interface jvmti
 
 $(JvmtiOutDir)/bytecodeInterpreterWithChecks.cpp: $(JvmtiGenClass) $(InterpreterSrcDir)/bytecodeInterpreter.cpp $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xml $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xsl
-	@echo Generating $@
+	@echo $(LOG_INFO) Generating $@
 	$(XSLT) -IN $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xml -XSL $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xsl -OUT $(JvmtiOutDir)/bytecodeInterpreterWithChecks.cpp 
 
 $(JvmtiOutDir)/jvmtiEnterTrace.cpp: $(both) $(JvmtiSrcDir)/jvmtiEnter.xsl
-	@echo Generating $@
+	@echo $(LOG_INFO) Generating $@
 	$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiEnter.xsl -OUT $(JvmtiOutDir)/jvmtiEnterTrace.cpp -PARAM interface jvmti -PARAM trace Trace
 
 $(JvmtiOutDir)/jvmtiEnvRecommended.cpp: $(both) $(JvmtiSrcDir)/jvmtiEnv.xsl $(JvmtiSrcDir)/jvmtiEnv.cpp $(JvmtiEnvFillClass)
-	@echo Generating $@
+	@echo $(LOG_INFO) Generating $@
 	$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiEnv.xsl -OUT $(JvmtiOutDir)/jvmtiEnvStub.cpp
 	$(QUIETLY) $(REMOTE) $(RUN.JAVA) -classpath $(JvmtiOutDir) jvmtiEnvFill $(JvmtiSrcDir)/jvmtiEnv.cpp $(JvmtiOutDir)/jvmtiEnvStub.cpp $(JvmtiOutDir)/jvmtiEnvRecommended.cpp
 
 $(JvmtiOutDir)/jvmtiEnv.hpp: $(both) $(JvmtiSrcDir)/jvmtiHpp.xsl
-	@echo Generating $@
+	@echo $(LOG_INFO) Generating $@
 	$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiHpp.xsl -OUT $(JvmtiOutDir)/jvmtiEnv.hpp
 
 $(JvmtiOutDir)/jvmti.h: $(both) $(JvmtiSrcDir)/jvmtiH.xsl
-	@echo Generating $@
+	@echo $(LOG_INFO) Generating $@
 	$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiH.xsl -OUT $(JvmtiOutDir)/jvmti.h
 
 jvmtidocs:  $(JvmtiOutDir)/jvmti.html 
 
 $(JvmtiOutDir)/jvmti.html: $(both) $(JvmtiSrcDir)/jvmti.xsl
-	@echo Generating $@
+	@echo $(LOG_INFO) Generating $@
 	$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmti.xsl -OUT $(JvmtiOutDir)/jvmti.html
 
 # #########################################################################
@@ -115,4 +115,3 @@
 	rm $(JvmtiGenClass) $(JvmtiEnvFillClass) $(JvmtiGeneratedFiles)
 
 # #########################################################################
-
--- a/hotspot/make/aix/makefiles/rules.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/aix/makefiles/rules.make	Tue Sep 16 12:13:13 2014 +0200
@@ -146,12 +146,12 @@
 # The non-PIC object files are only generated for 32 bit platforms.
 ifdef LP64
 %.o: %.cpp
-	@echo Compiling $<
+	@echo $(LOG_INFO) Compiling $<
 	$(QUIETLY) $(REMOVE_TARGET)
 	$(QUIETLY) $(COMPILE.CXX) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE)
 else
 %.o: %.cpp
-	@echo Compiling $<
+	@echo $(LOG_INFO) Compiling $<
 	$(QUIETLY) $(REMOVE_TARGET)
 	$(QUIETLY) $(if $(findstring $@, $(NONPIC_OBJ_FILES)), \
 	   $(subst $(VM_PICFLAG), ,$(COMPILE.CXX)) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE), \
@@ -159,18 +159,18 @@
 endif
 
 %.o: %.s
-	@echo Assembling $<
+	@echo $(LOG_INFO) Assembling $<
 	$(QUIETLY) $(REMOVE_TARGET)
 	$(QUIETLY) $(AS.S) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE)
 
 %.s: %.cpp
-	@echo Generating assembly for $<
+	@echo $(LOG_INFO) Generating assembly for $<
 	$(QUIETLY) $(GENASM.CXX) -o $@ $<
 	$(QUIETLY) $(DEMANGLE) $(COMPILE_DONE)
 
 # Intermediate files (for debugging macros)
 %.i: %.cpp
-	@echo Preprocessing $< to $@
+	@echo $(LOG_INFO) Preprocessing $< to $@
 	$(QUIETLY) $(PREPROCESS.CXX) $< > $@ $(COMPILE_DONE)
 
 #  Override gnumake built-in rules which do sccs get operations badly.
--- a/hotspot/make/aix/makefiles/sa.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/aix/makefiles/sa.make	Tue Sep 16 12:13:13 2014 +0200
@@ -66,7 +66,7 @@
 	fi
 
 $(GENERATED)/sa-jdi.jar: $(AGENT_FILES)
-	$(QUIETLY) echo "Making $@"
+	$(QUIETLY) echo $(LOG_INFO) "Making $@"
 	$(QUIETLY) if [ "$(BOOT_JAVA_HOME)" = "" ]; then \
 	  echo "ALT_BOOTDIR, BOOTDIR or JAVA_HOME needs to be defined to build SA"; \
 	  exit 1; \
--- a/hotspot/make/aix/makefiles/saproc.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/aix/makefiles/saproc.make	Tue Sep 16 12:13:13 2014 +0200
@@ -73,7 +73,7 @@
 	  echo "ALT_BOOTDIR, BOOTDIR or JAVA_HOME needs to be defined to build SA"; \
 	  exit 1; \
 	fi
-	@echo Making SA debugger back-end...
+	@echo $(LOG_INFO) Making SA debugger back-end...
 	$(QUIETLY) $(CC) -D$(BUILDARCH) -D_GNU_SOURCE                   \
 		   -D_FILE_OFFSET_BITS=64                               \
                    $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG)     \
--- a/hotspot/make/aix/makefiles/trace.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/aix/makefiles/trace.make	Tue Sep 16 12:13:13 2014 +0200
@@ -81,7 +81,7 @@
 all: $(TraceGeneratedFiles)
 
 GENERATE_CODE= \
-  $(QUIETLY) echo Generating $@; \
+  $(QUIETLY) echo $(LOG_INFO) Generating $@; \
   $(XSLT) -IN $(word 1,$^) -XSL $(word 2,$^) -OUT $@; \
   test -f $@
 
@@ -116,5 +116,3 @@
 
 clean cleanall:
 	rm $(TraceGeneratedFiles)
-
-
--- a/hotspot/make/aix/makefiles/vm.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/aix/makefiles/vm.make	Tue Sep 16 12:13:13 2014 +0200
@@ -269,7 +269,7 @@
 
 # rule for building precompiled header
 $(PRECOMPILED_HEADER):
-	$(QUIETLY) echo Generating precompiled header $@
+	$(QUIETLY) echo $(LOG_INFO) Generating precompiled header $@
 	$(QUIETLY) mkdir -p $(PRECOMPILED_HEADER_DIR)
 	$(QUIETLY) $(COMPILE.CXX) $(DEPFLAGS) -x c++-header $(PRECOMPILED_HEADER_SRC) -o $@ $(COMPILE_DONE)
 
@@ -300,7 +300,7 @@
 # details in bug 6538311.
 $(LIBJVM): $(LIBJVM.o) $(LIBJVM_MAPFILE) $(LD_SCRIPT)
 	$(QUIETLY) {                                                      \
-	    echo Linking vm...;                                           \
+	    echo $(LOG_INFO) Linking vm...;                                           \
 	    $(LINK_LIB.CXX/PRE_HOOK)                                      \
 	    $(LINK_VM) $(LD_SCRIPT_FLAG)                                  \
 		       $(LFLAGS_VM) -o $@ $(sort $(LIBJVM.o)) $(LIBS_VM); \
--- a/hotspot/make/bsd/makefiles/adlc.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/bsd/makefiles/adlc.make	Tue Sep 16 12:13:13 2014 +0200
@@ -108,7 +108,7 @@
 all: $(EXEC)
 
 $(EXEC) : $(OBJECTS)
-	@echo Making adlc
+	@echo $(LOG_INFO) Making adlc
 	$(QUIETLY) $(HOST.LINK_NOPROF.CXX) -o $(EXEC) $(OBJECTS)
 
 # Random dependencies:
@@ -191,7 +191,7 @@
 	$(QUIETLY) ./$(ADLC_UPDATER) adGlobals_$(Platform_arch_model).hpp $(TEMPDIR) $(OUTDIR)
 	$(QUIETLY) ./$(ADLC_UPDATER) dfa_$(Platform_arch_model).cpp $(TEMPDIR) $(OUTDIR)
 	$(QUIETLY) [ -f $(TEMPDIR)/made-change ] \
-		|| echo "Rescanned $(SOURCE.AD) but encountered no changes."
+		|| echo $(LOG_INFO) "Rescanned $(SOURCE.AD) but encountered no changes."
 	$(QUIETLY) rm -rf $(TEMPDIR)
 
 
@@ -209,14 +209,14 @@
     print }'
 
 $(OUTDIR)/%.o: %.cpp
-	@echo Compiling $<
+	@echo $(LOG_INFO) Compiling $<
 	$(QUIETLY) $(REMOVE_TARGET)
 	$(QUIETLY) $(HOST.COMPILE.CXX) -o $@ $< $(COMPILE_DONE)
 
 # Some object files are given a prefix, to disambiguate
 # them from objects of the same name built for the VM.
 $(OUTDIR)/adlc-%.o: %.cpp
-	@echo Compiling $<
+	@echo $(LOG_INFO) Compiling $<
 	$(QUIETLY) $(REMOVE_TARGET)
 	$(QUIETLY) $(HOST.COMPILE.CXX) -o $@ $< $(COMPILE_DONE)
 
--- a/hotspot/make/bsd/makefiles/buildtree.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/bsd/makefiles/buildtree.make	Tue Sep 16 12:13:13 2014 +0200
@@ -201,7 +201,7 @@
 DATA_MODE = $(DATA_MODE/$(BUILDARCH))
 
 flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
-	@echo Creating $@ ...
+	@echo $(LOG_INFO) Creating $@ ...
 	$(QUIETLY) ( \
 	$(BUILDTREE_COMMENT); \
 	echo; \
@@ -286,7 +286,7 @@
 	) > $@
 
 flags_vm.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
-	@echo Creating $@ ...
+	@echo $(LOG_INFO) Creating $@ ...
 	$(QUIETLY) ( \
 	$(BUILDTREE_COMMENT); \
 	echo; \
@@ -294,7 +294,7 @@
 	) > $@
 
 ../shared_dirs.lst:  $(BUILDTREE_MAKE) $(GAMMADIR)/src/share/vm
-	@echo Creating directory list $@
+	@echo $(LOG_INFO) Creating directory list $@
 	$(QUIETLY) if [ -d $(HS_ALT_SRC)/share/vm ]; then \
           find $(HS_ALT_SRC)/share/vm/* -prune \
 	  -type d \! \( $(TOPLEVEL_EXCLUDE_DIRS) \) -exec find {} \
@@ -305,7 +305,7 @@
         \( $(ALWAYS_EXCLUDE_DIRS) \) -prune -o -type d -print \; >> $@
 
 Makefile: $(BUILDTREE_MAKE)
-	@echo Creating $@ ...
+	@echo $(LOG_INFO) Creating $@ ...
 	$(QUIETLY) ( \
 	$(BUILDTREE_COMMENT); \
 	echo; \
@@ -315,7 +315,7 @@
 	) > $@
 
 vm.make: $(BUILDTREE_MAKE)
-	@echo Creating $@ ...
+	@echo $(LOG_INFO) Creating $@ ...
 	$(QUIETLY) ( \
 	$(BUILDTREE_COMMENT); \
 	echo; \
@@ -326,7 +326,7 @@
 	) > $@
 
 adlc.make: $(BUILDTREE_MAKE)
-	@echo Creating $@ ...
+	@echo $(LOG_INFO) Creating $@ ...
 	$(QUIETLY) ( \
 	$(BUILDTREE_COMMENT); \
 	echo; \
@@ -336,7 +336,7 @@
 	) > $@
 
 jvmti.make: $(BUILDTREE_MAKE)
-	@echo Creating $@ ...
+	@echo $(LOG_INFO) Creating $@ ...
 	$(QUIETLY) ( \
 	$(BUILDTREE_COMMENT); \
 	echo; \
@@ -346,7 +346,7 @@
 	) > $@
 
 trace.make: $(BUILDTREE_MAKE)
-	@echo Creating $@ ...
+	@echo $(LOG_INFO) Creating $@ ...
 	$(QUIETLY) ( \
 	$(BUILDTREE_COMMENT); \
 	echo; \
@@ -356,7 +356,7 @@
 	) > $@
 
 sa.make: $(BUILDTREE_MAKE)
-	@echo Creating $@ ...
+	@echo $(LOG_INFO) Creating $@ ...
 	$(QUIETLY) ( \
 	$(BUILDTREE_COMMENT); \
 	echo; \
@@ -366,7 +366,7 @@
 	) > $@
 
 dtrace.make: $(BUILDTREE_MAKE)
-	@echo Creating $@ ...
+	@echo $(LOG_INFO) Creating $@ ...
 	$(QUIETLY) ( \
 	$(BUILDTREE_COMMENT); \
 	echo; \
--- a/hotspot/make/bsd/makefiles/defs.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/bsd/makefiles/defs.make	Tue Sep 16 12:13:13 2014 +0200
@@ -28,6 +28,12 @@
 
 SLASH_JAVA ?= /java
 
+define print_info
+  ifneq ($$(LOG_LEVEL), warn)
+    $$(shell echo >&2 "INFO: $1")
+  endif
+endef
+
 # Need PLATFORM (os-arch combo names) for jdk and hotspot, plus libarch name
 ARCH:=$(shell uname -m)
 PATH_SEP = :
@@ -187,8 +193,7 @@
       # debug variants always get Full Debug Symbols (if available)
       ENABLE_FULL_DEBUG_SYMBOLS = 1
     endif
-    _JUNK_ := $(shell \
-      echo >&2 "INFO: ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)")
+    $(eval $(call print_info, "ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)"))
     # since objcopy is optional, we set ZIP_DEBUGINFO_FILES later
 
     ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
@@ -209,22 +214,18 @@
         endif
         OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY))
         ifneq ($(ALT_OBJCOPY),)
-          _JUNK_ := $(shell echo >&2 "INFO: ALT_OBJCOPY=$(ALT_OBJCOPY)")
+          $(eval $(call print_info, "ALT_OBJCOPY=$(ALT_OBJCOPY)"))
           OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY))
         endif
 
         ifeq ($(OBJCOPY),)
-          _JUNK_ := $(shell \
-            echo >&2 "INFO: no objcopy cmd found so cannot create .debuginfo" \
-              "files. You may need to set ALT_OBJCOPY.")
+          $(eval $(call print_info, "no objcopy cmd found so cannot create .debuginfo" \
+              "files. You may need to set ALT_OBJCOPY."))
           ENABLE_FULL_DEBUG_SYMBOLS=0
-          _JUNK_ := $(shell \
-            echo >&2 "INFO:" \
-              "ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)")
+          $(eval $(call print_info, "ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)"))
         else
-          _JUNK_ := $(shell \
-            echo >&2 "INFO: $(OBJCOPY) cmd found so will create .debuginfo" \
-              "files.")
+          $(eval $(call print_info, "$(OBJCOPY) cmd found so will create .debuginfo" \
+              "files."))
 
           # Library stripping policies for .debuginfo configs:
           #   all_strip - strips everything from the library
@@ -241,14 +242,12 @@
           #
           STRIP_POLICY ?= min_strip
 
-          _JUNK_ := $(shell \
-            echo >&2 "INFO: STRIP_POLICY=$(STRIP_POLICY)")
+          $(eval $(call print_info, "STRIP_POLICY=$(STRIP_POLICY)"))
 
           ZIP_DEBUGINFO_FILES ?= 1
         endif
 
-        _JUNK_ := $(shell \
-          echo >&2 "INFO: ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)")
+        $(eval $(call print_info, "ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)"))
       endif
     endif # ENABLE_FULL_DEBUG_SYMBOLS=1
   endif # BUILD_FLAVOR
--- a/hotspot/make/bsd/makefiles/dtrace.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/bsd/makefiles/dtrace.make	Tue Sep 16 12:13:13 2014 +0200
@@ -92,7 +92,7 @@
 XLIBJVM_DTRACE_DIZ         = $(XLIBJVM_DIR)/$(LIBJVM_DTRACE_DIZ)
 
 $(XLIBJVM_DB): $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS).h $(LIBJVM_DB_MAPFILE)
-	@echo Making $@
+	@echo $(LOG_INFO) Making $@
 	$(QUIETLY) mkdir -p $(XLIBJVM_DIR) ; \
 	$(CC) $(SYMFLAG) -xarch=$(XARCH) -D$(TYPE) -I. -I$(GENERATED) \
 		$(SHARED_FLAG) $(LFLAGS_JVM_DB) -o $@ $(DTRACE_SRCDIR)/$(JVM_DB).c #-lc
@@ -128,7 +128,7 @@
 endif
 
 $(XLIBJVM_DTRACE): $(DTRACE_SRCDIR)/$(JVM_DTRACE).c $(DTRACE_SRCDIR)/$(JVM_DTRACE).h $(LIBJVM_DTRACE_MAPFILE)
-	@echo Making $@
+	@echo $(LOG_INFO) Making $@
 	$(QUIETLY) mkdir -p $(XLIBJVM_DIR) ; \
 	$(CC) $(SYMFLAG) -xarch=$(XARCH) -D$(TYPE) -I. \
 		$(SHARED_FLAG) $(LFLAGS_JVM_DTRACE) -o $@ $(DTRACE_SRCDIR)/$(JVM_DTRACE).c #-lc -lthread -ldoor
@@ -202,7 +202,7 @@
 	$(QUIETLY) $(CXX) -c -I. -o $@ $(ARCHFLAG) -D$(TYPE) $(JVMOFFS).cpp
 
 $(LIBJVM_DB): $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS.o) $(XLIBJVM_DB) $(LIBJVM_DB_MAPFILE)
-	@echo Making $@
+	@echo $(LOG_INFO) Making $@
 	$(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) -D$(TYPE) -I. -I$(GENERATED) \
 		$(SHARED_FLAG) $(LFLAGS_JVM_DB) -o $@ $(DTRACE_SRCDIR)/$(JVM_DB).c -Wall # -lc
 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
@@ -231,7 +231,7 @@
 endif
 
 $(LIBJVM_DTRACE): $(DTRACE_SRCDIR)/$(JVM_DTRACE).c $(XLIBJVM_DTRACE) $(DTRACE_SRCDIR)/$(JVM_DTRACE).h $(LIBJVM_DTRACE_MAPFILE)
-	@echo Making $@
+	@echo $(LOG_INFO) Making $@
 	$(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) -D$(TYPE) -I.  \
 		$(SHARED_FLAG) $(LFLAGS_JVM_DTRACE) -o $@ $(DTRACE_SRCDIR)/$(JVM_DTRACE).c #-lc -lthread -ldoor
 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
@@ -296,13 +296,13 @@
 dtraceCheck:
 
 dtrace_stuff: dtrace_gen_headers
-	$(QUIETLY) echo "dtrace headers generated"
+	$(QUIETLY) echo $(LOG_INFO) "dtrace headers generated"
 
 
 else # manually disabled
 
 dtraceCheck:
-	$(QUIETLY) echo "**NOTICE** Dtrace support disabled via environment variable"
+	$(QUIETLY) echo $(LOG_INFO) "**NOTICE** Dtrace support disabled via environment variable"
 
 dtrace_stuff:
 
@@ -311,7 +311,7 @@
 else # No dtrace program found
 
 dtraceCheck:
-	$(QUIETLY) echo "**NOTICE** Dtrace support disabled: not supported by system"
+	$(QUIETLY) echo $(LOG_INFO) "**NOTICE** Dtrace support disabled: not supported by system"
 
 dtrace_stuff:
 
@@ -323,6 +323,6 @@
 else # CORE build
 
 dtraceCheck:
-	$(QUIETLY) echo "**NOTICE** Dtrace support disabled for CORE builds"
+	$(QUIETLY) echo $(LOG_INFO) "**NOTICE** Dtrace support disabled for CORE builds"
 
 endif # ifneq ("${TYPE}", "CORE")
--- a/hotspot/make/bsd/makefiles/jsig.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/bsd/makefiles/jsig.make	Tue Sep 16 12:13:13 2014 +0200
@@ -60,7 +60,7 @@
 endif
 
 $(LIBJSIG): $(JSIGSRCDIR)/jsig.c $(LIBJSIG_MAPFILE)
-	@echo Making signal interposition lib...
+	@echo $(LOG_INFO) Making signal interposition lib...
 	$(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \
                          $(LFLAGS_JSIG) $(JSIG_DEBUG_CFLAGS) -o $@ $<
 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
--- a/hotspot/make/bsd/makefiles/jvmti.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/bsd/makefiles/jvmti.make	Tue Sep 16 12:13:13 2014 +0200
@@ -75,34 +75,34 @@
 	$(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -d $(JvmtiOutDir) $(JvmtiEnvFillSource)
 
 $(JvmtiOutDir)/jvmtiEnter.cpp: $(both) $(JvmtiSrcDir)/jvmtiEnter.xsl
-	@echo Generating $@
+	@echo $(LOG_INFO) Generating $@
 	$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiEnter.xsl -OUT $(JvmtiOutDir)/jvmtiEnter.cpp -PARAM interface jvmti
 
 $(JvmtiOutDir)/bytecodeInterpreterWithChecks.cpp: $(JvmtiGenClass) $(InterpreterSrcDir)/bytecodeInterpreter.cpp $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xml $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xsl
-	@echo Generating $@
+	@echo $(LOG_INFO) Generating $@
 	$(XSLT) -IN $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xml -XSL $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xsl -OUT $(JvmtiOutDir)/bytecodeInterpreterWithChecks.cpp 
 
 $(JvmtiOutDir)/jvmtiEnterTrace.cpp: $(both) $(JvmtiSrcDir)/jvmtiEnter.xsl
-	@echo Generating $@
+	@echo $(LOG_INFO) Generating $@
 	$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiEnter.xsl -OUT $(JvmtiOutDir)/jvmtiEnterTrace.cpp -PARAM interface jvmti -PARAM trace Trace
 
 $(JvmtiOutDir)/jvmtiEnvRecommended.cpp: $(both) $(JvmtiSrcDir)/jvmtiEnv.xsl $(JvmtiSrcDir)/jvmtiEnv.cpp $(JvmtiEnvFillClass)
-	@echo Generating $@
+	@echo $(LOG_INFO) Generating $@
 	$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiEnv.xsl -OUT $(JvmtiOutDir)/jvmtiEnvStub.cpp
 	$(QUIETLY) $(REMOTE) $(RUN.JAVA) -classpath $(JvmtiOutDir) jvmtiEnvFill $(JvmtiSrcDir)/jvmtiEnv.cpp $(JvmtiOutDir)/jvmtiEnvStub.cpp $(JvmtiOutDir)/jvmtiEnvRecommended.cpp
 
 $(JvmtiOutDir)/jvmtiEnv.hpp: $(both) $(JvmtiSrcDir)/jvmtiHpp.xsl
-	@echo Generating $@
+	@echo $(LOG_INFO) Generating $@
 	$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiHpp.xsl -OUT $(JvmtiOutDir)/jvmtiEnv.hpp
 
 $(JvmtiOutDir)/jvmti.h: $(both) $(JvmtiSrcDir)/jvmtiH.xsl
-	@echo Generating $@
+	@echo $(LOG_INFO) Generating $@
 	$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiH.xsl -OUT $(JvmtiOutDir)/jvmti.h
 
 jvmtidocs:  $(JvmtiOutDir)/jvmti.html 
 
 $(JvmtiOutDir)/jvmti.html: $(both) $(JvmtiSrcDir)/jvmti.xsl
-	@echo Generating $@
+	@echo $(LOG_INFO) Generating $@
 	$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmti.xsl -OUT $(JvmtiOutDir)/jvmti.html
 
 # #########################################################################
@@ -114,4 +114,3 @@
 	rm $(JvmtiGenClass) $(JvmtiEnvFillClass) $(JvmtiGeneratedFiles)
 
 # #########################################################################
-
--- a/hotspot/make/bsd/makefiles/rules.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/bsd/makefiles/rules.make	Tue Sep 16 12:13:13 2014 +0200
@@ -146,12 +146,12 @@
 # The non-PIC object files are only generated for 32 bit platforms.
 ifdef LP64
 %.o: %.cpp
-	@echo Compiling $<
+	@echo $(LOG_INFO) Compiling $<
 	$(QUIETLY) $(REMOVE_TARGET)
 	$(QUIETLY) $(COMPILE.CXX) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE)
 else
 %.o: %.cpp
-	@echo Compiling $<
+	@echo $(LOG_INFO) Compiling $<
 	$(QUIETLY) $(REMOVE_TARGET)
 	$(QUIETLY) $(if $(findstring $@, $(NONPIC_OBJ_FILES)), \
 	   $(subst $(VM_PICFLAG), ,$(COMPILE.CXX)) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE), \
@@ -159,18 +159,18 @@
 endif
 
 %.o: %.s
-	@echo Assembling $<
+	@echo $(LOG_INFO) Assembling $<
 	$(QUIETLY) $(REMOVE_TARGET)
 	$(QUIETLY) $(AS.S) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE)
 
 %.s: %.cpp
-	@echo Generating assembly for $<
+	@echo $(LOG_INFO) Generating assembly for $<
 	$(QUIETLY) $(GENASM.CXX) -o $@ $<
 	$(QUIETLY) $(DEMANGLE) $(COMPILE_DONE)
 
 # Intermediate files (for debugging macros)
 %.i: %.cpp
-	@echo Preprocessing $< to $@
+	@echo $(LOG_INFO) Preprocessing $< to $@
 	$(QUIETLY) $(PREPROCESS.CXX) $< > $@ $(COMPILE_DONE)
 
 #  Override gnumake built-in rules which do sccs get operations badly.
--- a/hotspot/make/bsd/makefiles/sa.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/bsd/makefiles/sa.make	Tue Sep 16 12:13:13 2014 +0200
@@ -25,6 +25,12 @@
 # This makefile (sa.make) is included from the sa.make in the
 # build directories.
 
+define print_info
+  ifneq ($$(LOG_LEVEL), warn)
+    $$(shell echo >&2 "INFO: $1")
+  endif
+endef
+
 # This makefile is used to build Serviceability Agent java code
 # and generate JNI header file for native methods.
 
@@ -53,7 +59,7 @@
     endif
   endif
 else
-  _JUNK_ := $(shell echo >&2 "INFO: ALT_SA_CLASSPATH=$(ALT_SA_CLASSPATH)")
+  $(eval $(call print_info, "ALT_SA_CLASSPATH=$(ALT_SA_CLASSPATH)"))
   SA_CLASSPATH=$(shell test -f $(ALT_SA_CLASSPATH) && echo $(ALT_SA_CLASSPATH))
 endif
 
@@ -80,7 +86,7 @@
 	fi
 
 $(GENERATED)/sa-jdi.jar: $(AGENT_FILES)
-	$(QUIETLY) echo "Making $@"
+	$(QUIETLY) echo $(LOG_INFO) "Making $@"
 	$(QUIETLY) if [ "$(BOOT_JAVA_HOME)" = "" ]; then \
 	  echo "ALT_BOOTDIR, BOOTDIR or JAVA_HOME needs to be defined to build SA"; \
 	  exit 1; \
--- a/hotspot/make/bsd/makefiles/saproc.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/bsd/makefiles/saproc.make	Tue Sep 16 12:13:13 2014 +0200
@@ -122,7 +122,7 @@
 	  echo "ALT_BOOTDIR, BOOTDIR or JAVA_HOME needs to be defined to build SA"; \
 	  exit 1; \
 	fi
-	@echo Making SA debugger back-end...
+	@echo $(LOG_INFO) Making SA debugger back-end...
 	$(QUIETLY) $(CC) -D$(BUILDARCH) -D_GNU_SOURCE                   \
 	           $(SA_SYSROOT_FLAGS)                                  \
 	           $(SYMFLAG) $(SAARCH) $(SHARED_FLAG) $(PICFLAG)       \
--- a/hotspot/make/bsd/makefiles/trace.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/bsd/makefiles/trace.make	Tue Sep 16 12:13:13 2014 +0200
@@ -82,7 +82,7 @@
 all: $(TraceGeneratedFiles)
 
 GENERATE_CODE= \
-  $(QUIETLY) echo Generating $@; \
+  $(QUIETLY) echo $(LOG_INFO) Generating $@; \
   $(XSLT) -IN $(word 1,$^) -XSL $(word 2,$^) -OUT $@; \
   test -f $@
 
@@ -118,4 +118,3 @@
 
 clean cleanall:
 	rm $(TraceGeneratedFiles)
-
--- a/hotspot/make/bsd/makefiles/vm.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/bsd/makefiles/vm.make	Tue Sep 16 12:13:13 2014 +0200
@@ -291,7 +291,7 @@
 
 # rule for building precompiled header
 $(PRECOMPILED_HEADER):
-	$(QUIETLY) echo Generating precompiled header $@
+	$(QUIETLY) echo $(LOG_INFO) Generating precompiled header $@
 	$(QUIETLY) mkdir -p $(PRECOMPILED_HEADER_DIR)
 	$(QUIETLY) rm -f $@
 	$(QUIETLY) $(COMPILE.CXX) $(DEPFLAGS) -x c++-header $(PRECOMPILED_HEADER_SRC) -o $@ $(COMPILE_DONE)
@@ -318,7 +318,7 @@
 
 $(LIBJVM): $(LIBJVM.o) $(LIBJVM_MAPFILE) $(LD_SCRIPT)
 	$(QUIETLY) {                                                    \
-	    echo Linking vm...;                                         \
+	    echo $(LOG_INFO) Linking vm...;                                         \
 	    $(LINK_LIB.CXX/PRE_HOOK)                                     \
 	    $(LINK_VM) $(LD_SCRIPT_FLAG)                                \
 		       $(LFLAGS_VM) -o $@ $(sort $(LIBJVM.o)) $(LIBS_VM); \
--- a/hotspot/make/defs.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/defs.make	Tue Sep 16 12:13:13 2014 +0200
@@ -29,6 +29,12 @@
   include $(SPEC)
 endif
 
+ifeq ($(LOG_LEVEL),warn)
+  LOG_INFO := > /dev/null
+else
+  LOG_INFO :=
+endif
+
 # Directory paths and user name
 # Unless GAMMADIR is set on the command line, search upward from
 # the current directory for a parent directory containing "src/share/vm".
--- a/hotspot/make/linux/makefiles/adlc.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/linux/makefiles/adlc.make	Tue Sep 16 12:13:13 2014 +0200
@@ -106,7 +106,7 @@
 all: $(EXEC)
 
 $(EXEC) : $(OBJECTS)
-	@echo Making adlc
+	@echo $(LOG_INFO) Making adlc
 	$(QUIETLY) $(filter-out $(ARCHFLAG),$(HOST.LINK_NOPROF.CXX)) -o $(EXEC) $(OBJECTS)
 
 # Random dependencies:
@@ -191,7 +191,7 @@
 	$(QUIETLY) ./$(ADLC_UPDATER) adGlobals_$(Platform_arch_model).hpp $(TEMPDIR) $(OUTDIR)
 	$(QUIETLY) ./$(ADLC_UPDATER) dfa_$(Platform_arch_model).cpp $(TEMPDIR) $(OUTDIR)
 	$(QUIETLY) [ -f $(TEMPDIR)/made-change ] \
-		|| echo "Rescanned $(SOURCE.AD) but encountered no changes."
+		|| echo $(LOG_INFO) "Rescanned $(SOURCE.AD) but encountered no changes."
 	$(QUIETLY) rm -rf $(TEMPDIR)
 
 
@@ -209,14 +209,14 @@
     print }'
 
 $(OUTDIR)/%.o: %.cpp
-	@echo Compiling $<
+	@echo $(LOG_INFO) Compiling $<
 	$(QUIETLY) $(REMOVE_TARGET)
 	$(QUIETLY) $(filter-out $(ARCHFLAG),$(HOST.COMPILE.CXX)) -o $@ $< $(COMPILE_DONE)
 
 # Some object files are given a prefix, to disambiguate
 # them from objects of the same name built for the VM.
 $(OUTDIR)/adlc-%.o: %.cpp
-	@echo Compiling $<
+	@echo $(LOG_INFO) Compiling $<
 	$(QUIETLY) $(REMOVE_TARGET)
 	$(QUIETLY) $(filter-out $(ARCHFLAG),$(HOST.COMPILE.CXX)) -o $@ $< $(COMPILE_DONE)
 
--- a/hotspot/make/linux/makefiles/buildtree.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/linux/makefiles/buildtree.make	Tue Sep 16 12:13:13 2014 +0200
@@ -198,7 +198,7 @@
 DATA_MODE = $(DATA_MODE/$(BUILDARCH))
 
 flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
-	@echo Creating $@ ...
+	@echo $(LOG_INFO) Creating $@ ...
 	$(QUIETLY) ( \
 	$(BUILDTREE_COMMENT); \
 	echo; \
@@ -285,7 +285,7 @@
 	) > $@
 
 flags_vm.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
-	@echo Creating $@ ...
+	@echo $(LOG_INFO) Creating $@ ...
 	$(QUIETLY) ( \
 	$(BUILDTREE_COMMENT); \
 	echo; \
@@ -293,7 +293,7 @@
 	) > $@
 
 ../shared_dirs.lst:  $(BUILDTREE_MAKE) $(GAMMADIR)/src/share/vm
-	@echo Creating directory list $@
+	@echo $(LOG_INFO) Creating directory list $@
 	$(QUIETLY) if [ -d $(HS_ALT_SRC)/share/vm ]; then \
           find $(HS_ALT_SRC)/share/vm/* -prune \
 	  -type d \! \( $(TOPLEVEL_EXCLUDE_DIRS) \) -exec find {} \
@@ -304,7 +304,7 @@
         \( $(ALWAYS_EXCLUDE_DIRS) \) -prune -o -type d -print \; >> $@
 
 Makefile: $(BUILDTREE_MAKE)
-	@echo Creating $@ ...
+	@echo $(LOG_INFO) Creating $@ ...
 	$(QUIETLY) ( \
 	$(BUILDTREE_COMMENT); \
 	echo; \
@@ -314,7 +314,7 @@
 	) > $@
 
 vm.make: $(BUILDTREE_MAKE)
-	@echo Creating $@ ...
+	@echo $(LOG_INFO) Creating $@ ...
 	$(QUIETLY) ( \
 	$(BUILDTREE_COMMENT); \
 	echo; \
@@ -325,7 +325,7 @@
 	) > $@
 
 adlc.make: $(BUILDTREE_MAKE)
-	@echo Creating $@ ...
+	@echo $(LOG_INFO) Creating $@ ...
 	$(QUIETLY) ( \
 	$(BUILDTREE_COMMENT); \
 	echo; \
@@ -335,7 +335,7 @@
 	) > $@
 
 jvmti.make: $(BUILDTREE_MAKE)
-	@echo Creating $@ ...
+	@echo $(LOG_INFO) Creating $@ ...
 	$(QUIETLY) ( \
 	$(BUILDTREE_COMMENT); \
 	echo; \
@@ -345,7 +345,7 @@
 	) > $@
 
 trace.make: $(BUILDTREE_MAKE)
-	@echo Creating $@ ...
+	@echo $(LOG_INFO) Creating $@ ...
 	$(QUIETLY) ( \
 	$(BUILDTREE_COMMENT); \
 	echo; \
@@ -355,7 +355,7 @@
 	) > $@
 
 sa.make: $(BUILDTREE_MAKE)
-	@echo Creating $@ ...
+	@echo $(LOG_INFO) Creating $@ ...
 	$(QUIETLY) ( \
 	$(BUILDTREE_COMMENT); \
 	echo; \
@@ -365,7 +365,7 @@
 	) > $@
 
 dtrace.make: $(BUILDTREE_MAKE)
-	@echo Creating $@ ...
+	@echo $(LOG_INFO) Creating $@ ...
 	$(QUIETLY) ( \
 	$(BUILDTREE_COMMENT); \
 	echo; \
--- a/hotspot/make/linux/makefiles/defs.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/linux/makefiles/defs.make	Tue Sep 16 12:13:13 2014 +0200
@@ -28,6 +28,12 @@
 
 SLASH_JAVA ?= /java
 
+define print_info
+  ifneq ($$(LOG_LEVEL), warn)
+    $$(shell echo >&2 "INFO: $1")
+  endif
+endef
+
 # Need PLATFORM (os-arch combo names) for jdk and hotspot, plus libarch name
 
 # ARCH can be set explicitly in spec.gmk
@@ -185,8 +191,7 @@
       # debug variants always get Full Debug Symbols (if available)
       ENABLE_FULL_DEBUG_SYMBOLS = 1
     endif
-    _JUNK_ := $(shell \
-      echo >&2 "INFO: ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)")
+    $(eval $(call print_info, "ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)"))
     # since objcopy is optional, we set ZIP_DEBUGINFO_FILES later
 
     ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
@@ -201,19 +206,16 @@
       endif
       OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY))
       ifneq ($(ALT_OBJCOPY),)
-        _JUNK_ := $(shell echo >&2 "INFO: ALT_OBJCOPY=$(ALT_OBJCOPY)")
+        $(eval $(call print_info, "ALT_OBJCOPY=$(ALT_OBJCOPY)"))
         OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY))
       endif
 
       ifeq ($(OBJCOPY),)
-        _JUNK_ := $(shell \
-          echo >&2 "INFO: no objcopy cmd found so cannot create .debuginfo files. You may need to set ALT_OBJCOPY.")
+        $(eval $(call print_info, "no objcopy cmd found so cannot create .debuginfo files. You may need to set ALT_OBJCOPY."))
         ENABLE_FULL_DEBUG_SYMBOLS=0
-        _JUNK_ := $(shell \
-          echo >&2 "INFO: ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)")
+        $(eval $(call print_info, "ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)"))
       else
-        _JUNK_ := $(shell \
-          echo >&2 "INFO: $(OBJCOPY) cmd found so will create .debuginfo files.")
+        $(eval $(call print_info, "$(OBJCOPY) cmd found so will create .debuginfo files."))
 
         # Library stripping policies for .debuginfo configs:
         #   all_strip - strips everything from the library
@@ -227,13 +229,11 @@
         #
         STRIP_POLICY ?= min_strip
 
-        _JUNK_ := $(shell \
-          echo >&2 "INFO: STRIP_POLICY=$(STRIP_POLICY)")
+        $(eval $(call print_info, "STRIP_POLICY=$(STRIP_POLICY)"))
 
         ZIP_DEBUGINFO_FILES ?= 1
 
-        _JUNK_ := $(shell \
-          echo >&2 "INFO: ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)")
+        $(eval $(call print_info, "ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)"))
       endif
     endif # ENABLE_FULL_DEBUG_SYMBOLS=1
   endif # BUILD_FLAVOR
--- a/hotspot/make/linux/makefiles/dtrace.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/linux/makefiles/dtrace.make	Tue Sep 16 12:13:13 2014 +0200
@@ -78,13 +78,13 @@
 dtrace_gen_headers: $(DtraceOutDir)/hotspot.h $(DtraceOutDir)/hotspot_jni.h $(DtraceOutDir)/hs_private.h
 else
 dtrace_gen_headers:
-	$(QUIETLY) echo "**NOTICE** Dtrace support disabled: $(REASON)"
+	$(QUIETLY) $(LOG_INFO) echo "**NOTICE** Dtrace support disabled: $(REASON)"
 endif
 
 # Phony target used in vm.make build target to check whether enabled.
 ifeq ($(DTRACE_ENABLED),)
 dtraceCheck:
-	$(QUIETLY) echo "**NOTICE** Dtrace support disabled: $(REASON)"
+	$(QUIETLY) $(LOG_INFO) echo "**NOTICE** Dtrace support disabled: $(REASON)"
 else
 dtraceCheck:
 endif
--- a/hotspot/make/linux/makefiles/jsig.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/linux/makefiles/jsig.make	Tue Sep 16 12:13:13 2014 +0200
@@ -52,7 +52,7 @@
 endif
 
 $(LIBJSIG): $(JSIGSRCDIR)/jsig.c $(LIBJSIG_MAPFILE)
-	@echo Making signal interposition lib...
+	@echo $(LOG_INFO) Making signal interposition lib...
 	$(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \
                          $(LFLAGS_JSIG) $(JSIG_DEBUG_CFLAGS) $(EXTRA_CFLAGS) -o $@ $< -ldl
 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
--- a/hotspot/make/linux/makefiles/jvmti.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/linux/makefiles/jvmti.make	Tue Sep 16 12:13:13 2014 +0200
@@ -75,34 +75,34 @@
 	$(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -d $(JvmtiOutDir) $(JvmtiEnvFillSource)
 
 $(JvmtiOutDir)/jvmtiEnter.cpp: $(both) $(JvmtiSrcDir)/jvmtiEnter.xsl
-	@echo Generating $@
+	@echo $(LOG_INFO) Generating $@
 	$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiEnter.xsl -OUT $(JvmtiOutDir)/jvmtiEnter.cpp -PARAM interface jvmti
 
 $(JvmtiOutDir)/bytecodeInterpreterWithChecks.cpp: $(JvmtiGenClass) $(InterpreterSrcDir)/bytecodeInterpreter.cpp $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xml $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xsl
-	@echo Generating $@
+	@echo $(LOG_INFO) Generating $@
 	$(XSLT) -IN $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xml -XSL $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xsl -OUT $(JvmtiOutDir)/bytecodeInterpreterWithChecks.cpp 
 
 $(JvmtiOutDir)/jvmtiEnterTrace.cpp: $(both) $(JvmtiSrcDir)/jvmtiEnter.xsl
-	@echo Generating $@
+	@echo $(LOG_INFO) Generating $@
 	$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiEnter.xsl -OUT $(JvmtiOutDir)/jvmtiEnterTrace.cpp -PARAM interface jvmti -PARAM trace Trace
 
 $(JvmtiOutDir)/jvmtiEnvRecommended.cpp: $(both) $(JvmtiSrcDir)/jvmtiEnv.xsl $(JvmtiSrcDir)/jvmtiEnv.cpp $(JvmtiEnvFillClass)
-	@echo Generating $@
+	@echo $(LOG_INFO) Generating $@
 	$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiEnv.xsl -OUT $(JvmtiOutDir)/jvmtiEnvStub.cpp
 	$(QUIETLY) $(REMOTE) $(RUN.JAVA) -classpath $(JvmtiOutDir) jvmtiEnvFill $(JvmtiSrcDir)/jvmtiEnv.cpp $(JvmtiOutDir)/jvmtiEnvStub.cpp $(JvmtiOutDir)/jvmtiEnvRecommended.cpp
 
 $(JvmtiOutDir)/jvmtiEnv.hpp: $(both) $(JvmtiSrcDir)/jvmtiHpp.xsl
-	@echo Generating $@
+	@echo $(LOG_INFO) Generating $@
 	$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiHpp.xsl -OUT $(JvmtiOutDir)/jvmtiEnv.hpp
 
 $(JvmtiOutDir)/jvmti.h: $(both) $(JvmtiSrcDir)/jvmtiH.xsl
-	@echo Generating $@
+	@echo $(LOG_INFO) Generating $@
 	$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiH.xsl -OUT $(JvmtiOutDir)/jvmti.h
 
 jvmtidocs:  $(JvmtiOutDir)/jvmti.html 
 
 $(JvmtiOutDir)/jvmti.html: $(both) $(JvmtiSrcDir)/jvmti.xsl
-	@echo Generating $@
+	@echo $(LOG_INFO) Generating $@
 	$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmti.xsl -OUT $(JvmtiOutDir)/jvmti.html
 
 # #########################################################################
--- a/hotspot/make/linux/makefiles/rules.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/linux/makefiles/rules.make	Tue Sep 16 12:13:13 2014 +0200
@@ -146,12 +146,12 @@
 # The non-PIC object files are only generated for 32 bit platforms.
 ifdef LP64
 %.o: %.cpp
-	@echo Compiling $<
+	@echo $(LOG_INFO) Compiling $<
 	$(QUIETLY) $(REMOVE_TARGET)
 	$(QUIETLY) $(COMPILE.CXX) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE)
 else
 %.o: %.cpp
-	@echo Compiling $<
+	@echo $(LOG_INFO) Compiling $<
 	$(QUIETLY) $(REMOVE_TARGET)
 	$(QUIETLY) $(if $(findstring $@, $(NONPIC_OBJ_FILES)), \
 	   $(subst $(VM_PICFLAG), ,$(COMPILE.CXX)) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE), \
@@ -159,18 +159,18 @@
 endif
 
 %.o: %.s
-	@echo Assembling $<
+	@echo $(LOG_INFO) Assembling $<
 	$(QUIETLY) $(REMOVE_TARGET)
 	$(QUIETLY) $(AS.S) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE)
 
 %.s: %.cpp
-	@echo Generating assembly for $<
+	@echo $(LOG_INFO) Generating assembly for $<
 	$(QUIETLY) $(GENASM.CXX) -o $@ $<
 	$(QUIETLY) $(DEMANGLE) $(COMPILE_DONE)
 
 # Intermediate files (for debugging macros)
 %.i: %.cpp
-	@echo Preprocessing $< to $@
+	@echo $(LOG_INFO) Preprocessing $< to $@
 	$(QUIETLY) $(PREPROCESS.CXX) $< > $@ $(COMPILE_DONE)
 
 #  Override gnumake built-in rules which do sccs get operations badly.
--- a/hotspot/make/linux/makefiles/sa.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/linux/makefiles/sa.make	Tue Sep 16 12:13:13 2014 +0200
@@ -67,7 +67,7 @@
 	fi
 
 $(GENERATED)/sa-jdi.jar:: $(AGENT_FILES)
-	$(QUIETLY) echo "Making $@"
+	$(QUIETLY) echo $(LOG_INFO) "Making $@"
 	$(QUIETLY) if [ "$(BOOT_JAVA_HOME)" = "" ]; then \
 	  echo "ALT_BOOTDIR, BOOTDIR or JAVA_HOME needs to be defined to build SA"; \
 	  exit 1; \
--- a/hotspot/make/linux/makefiles/saproc.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/linux/makefiles/saproc.make	Tue Sep 16 12:13:13 2014 +0200
@@ -80,7 +80,7 @@
 	  echo "ALT_BOOTDIR, BOOTDIR or JAVA_HOME needs to be defined to build SA"; \
 	  exit 1; \
 	fi
-	@echo Making SA debugger back-end...
+	@echo $(LOG_INFO) Making SA debugger back-end...
 	$(QUIETLY) $(CC) -D$(BUILDARCH) -D_GNU_SOURCE                   \
 		   -D_FILE_OFFSET_BITS=64                               \
                    $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG)     \
--- a/hotspot/make/linux/makefiles/trace.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/linux/makefiles/trace.make	Tue Sep 16 12:13:13 2014 +0200
@@ -81,7 +81,7 @@
 all: $(TraceGeneratedFiles)
 
 GENERATE_CODE= \
-  $(QUIETLY) echo Generating $@; \
+  $(QUIETLY) echo $(LOG_INFO) Generating $@; \
   $(XSLT) -IN $(word 1,$^) -XSL $(word 2,$^) -OUT $@; \
   test -f $@
 
--- a/hotspot/make/linux/makefiles/vm.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/linux/makefiles/vm.make	Tue Sep 16 12:13:13 2014 +0200
@@ -286,7 +286,7 @@
 
 # rule for building precompiled header
 $(PRECOMPILED_HEADER):
-	$(QUIETLY) echo Generating precompiled header $@
+	$(QUIETLY) echo $(LOG_INFO) Generating precompiled header $@
 	$(QUIETLY) mkdir -p $(PRECOMPILED_HEADER_DIR)
 	$(QUIETLY) rm -f $@
 	$(QUIETLY) $(COMPILE.CXX) $(DEPFLAGS) -x c++-header $(PRECOMPILED_HEADER_SRC) -o $@ $(COMPILE_DONE)
@@ -318,7 +318,7 @@
 # details in bug 6538311.
 $(LIBJVM): $(LIBJVM.o) $(LIBJVM_MAPFILE) $(LD_SCRIPT)
 	$(QUIETLY) {                                                    \
-	    echo Linking vm...;                                         \
+	    echo $(LOG_INFO) Linking vm...;                             \
 	    $(LINK_LIB.CXX/PRE_HOOK)                                     \
 	    $(LINK_VM) $(LD_SCRIPT_FLAG)                                \
 		       $(LFLAGS_VM) -o $@ $(sort $(LIBJVM.o)) $(LIBS_VM);       \
--- a/hotspot/make/solaris/makefiles/adlc.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/solaris/makefiles/adlc.make	Tue Sep 16 12:13:13 2014 +0200
@@ -127,7 +127,7 @@
 all: $(EXEC)
 
 $(EXEC) : $(OBJECTS)
-	@echo Making adlc
+	@echo $(LOG_INFO) Making adlc
 	$(QUIETLY) $(LINK_NOPROF.CXX) -o $(EXEC) $(OBJECTS)
 
 # Random dependencies:
@@ -206,7 +206,7 @@
 	$(QUIETLY) ./$(ADLC_UPDATER) adGlobals_$(Platform_arch_model).hpp $(TEMPDIR) $(OUTDIR)
 	$(QUIETLY) ./$(ADLC_UPDATER) dfa_$(Platform_arch_model).cpp $(TEMPDIR) $(OUTDIR)
 	$(QUIETLY) [ -f $(TEMPDIR)/made-change ] \
-		|| echo "Rescanned $(SOURCE.AD) but encountered no changes."
+		|| echo $(LOG_INFO) "Rescanned $(SOURCE.AD) but encountered no changes."
 	$(QUIETLY) rm -rf $(TEMPDIR)
 
 
@@ -224,14 +224,14 @@
     print }'
 
 $(OUTDIR)/%.o: %.cpp
-	@echo Compiling $<
+	@echo $(LOG_INFO) Compiling $<
 	$(QUIETLY) $(REMOVE_TARGET)
 	$(QUIETLY) $(COMPILE.CXX) -o $@ $< $(COMPILE_DONE)
 
 # Some object files are given a prefix, to disambiguate
 # them from objects of the same name built for the VM.
 $(OUTDIR)/adlc-%.o: %.cpp
-	@echo Compiling $<
+	@echo $(LOG_INFO) Compiling $<
 	$(QUIETLY) $(REMOVE_TARGET)
 	$(QUIETLY) $(COMPILE.CXX) -o $@ $< $(COMPILE_DONE)
 
--- a/hotspot/make/solaris/makefiles/buildtree.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/solaris/makefiles/buildtree.make	Tue Sep 16 12:13:13 2014 +0200
@@ -190,7 +190,7 @@
 DATA_MODE = $(DATA_MODE/$(BUILDARCH))
 
 flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
-	@echo Creating $@ ...
+	@echo $(LOG_INFO) Creating $@ ...
 	$(QUIETLY) ( \
 	$(BUILDTREE_COMMENT); \
 	echo; \
@@ -272,7 +272,7 @@
 	) > $@
 
 flags_vm.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
-	@echo Creating $@ ...
+	@echo $(LOG_INFO) Creating $@ ...
 	$(QUIETLY) ( \
 	$(BUILDTREE_COMMENT); \
 	echo; \
@@ -280,7 +280,7 @@
 	) > $@
 
 ../shared_dirs.lst:  $(BUILDTREE_MAKE) $(GAMMADIR)/src/share/vm
-	@echo Creating directory list $@
+	@echo $(LOG_INFO) Creating directory list $@
 	$(QUIETLY) if [ -d $(HS_ALT_SRC)/share/vm ]; then \
           find $(HS_ALT_SRC)/share/vm/* -prune \
 	  -type d \! \( $(TOPLEVEL_EXCLUDE_DIRS) \) -exec find {} \
@@ -291,7 +291,7 @@
         \( $(ALWAYS_EXCLUDE_DIRS) \) -prune -o -type d -print \; >> $@
 
 Makefile: $(BUILDTREE_MAKE)
-	@echo Creating $@ ...
+	@echo $(LOG_INFO) Creating $@ ...
 	$(QUIETLY) ( \
 	$(BUILDTREE_COMMENT); \
 	echo; \
@@ -301,7 +301,7 @@
 	) > $@
 
 vm.make: $(BUILDTREE_MAKE)
-	@echo Creating $@ ...
+	@echo $(LOG_INFO) Creating $@ ...
 	$(QUIETLY) ( \
 	$(BUILDTREE_COMMENT); \
 	echo; \
@@ -312,7 +312,7 @@
 	) > $@
 
 adlc.make: $(BUILDTREE_MAKE)
-	@echo Creating $@ ...
+	@echo $(LOG_INFO) Creating $@ ...
 	$(QUIETLY) ( \
 	$(BUILDTREE_COMMENT); \
 	echo; \
@@ -322,7 +322,7 @@
 	) > $@
 
 jvmti.make: $(BUILDTREE_MAKE)
-	@echo Creating $@ ...
+	@echo $(LOG_INFO) Creating $@ ...
 	$(QUIETLY) ( \
 	$(BUILDTREE_COMMENT); \
 	echo; \
@@ -332,7 +332,7 @@
 	) > $@
 
 trace.make: $(BUILDTREE_MAKE)
-	@echo Creating $@ ...
+	@echo $(LOG_INFO) Creating $@ ...
 	$(QUIETLY) ( \
 	$(BUILDTREE_COMMENT); \
 	echo; \
@@ -342,7 +342,7 @@
 	) > $@
 
 sa.make: $(BUILDTREE_MAKE)
-	@echo Creating $@ ...
+	@echo $(LOG_INFO) Creating $@ ...
 	$(QUIETLY) ( \
 	$(BUILDTREE_COMMENT); \
 	echo; \
@@ -352,7 +352,7 @@
 	) > $@
 
 dtrace.make: $(BUILDTREE_MAKE)
-	@echo Creating $@ ...
+	@echo $(LOG_INFO) Creating $@ ...
 	$(QUIETLY) ( \
 	$(BUILDTREE_COMMENT); \
 	echo; \
--- a/hotspot/make/solaris/makefiles/defs.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/solaris/makefiles/defs.make	Tue Sep 16 12:13:13 2014 +0200
@@ -26,6 +26,12 @@
 # Include the top level defs.make under make directory instead of this one.
 # This file is included into make/defs.make.
 
+define print_info
+  ifneq ($$(LOG_LEVEL), warn)
+    $$(shell echo >&2 "INFO: $1")
+  endif
+endef
+
 # Need PLATFORM (os-arch combo names) for jdk and hotspot, plus libarch name
 SLASH_JAVA ?= /java
 ARCH:=$(shell uname -p)
@@ -120,8 +126,7 @@
       # debug variants always get Full Debug Symbols (if available)
       ENABLE_FULL_DEBUG_SYMBOLS = 1
     endif
-    _JUNK_ := $(shell \
-      echo >&2 "INFO: ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)")
+    $(eval $(call print_info, "ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)"))
     # since objcopy is optional, we set ZIP_DEBUGINFO_FILES later
 
     ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
@@ -129,19 +134,16 @@
       DEF_OBJCOPY=/usr/sfw/bin/gobjcopy
       OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY))
       ifneq ($(ALT_OBJCOPY),)
-        _JUNK_ := $(shell echo >&2 "INFO: ALT_OBJCOPY=$(ALT_OBJCOPY)")
+        $(eval $(call print_info, "ALT_OBJCOPY=$(ALT_OBJCOPY)"))
         OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY))
       endif
 
       ifeq ($(OBJCOPY),)
-        _JUNK_ := $(shell \
-          echo >&2 "INFO: no objcopy cmd found so cannot create .debuginfo files.")
+        $(eval $(call print_info, "no objcopy cmd found so cannot create .debuginfo files."))
         ENABLE_FULL_DEBUG_SYMBOLS=0
-        _JUNK_ := $(shell \
-          echo >&2 "INFO: ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)")
+        $(eval $(call print_info, "ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)"))
       else
-        _JUNK_ := $(shell \
-          echo >&2 "INFO: $(OBJCOPY) cmd found so will create .debuginfo files.")
+        $(eval $(call print_info, "$(OBJCOPY) cmd found so will create .debuginfo files."))
 
         # Library stripping policies for .debuginfo configs:
         #   all_strip - strips everything from the library
@@ -155,13 +157,11 @@
         #
         STRIP_POLICY ?= min_strip
 
-        _JUNK_ := $(shell \
-          echo >&2 "INFO: STRIP_POLICY=$(STRIP_POLICY)")
+        $(eval $(call print_info, "STRIP_POLICY=$(STRIP_POLICY)"))
 
         ZIP_DEBUGINFO_FILES ?= 1
 
-        _JUNK_ := $(shell \
-          echo >&2 "INFO: ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)")
+        $(eval $(call print_info, "ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)"))
       endif
     endif # ENABLE_FULL_DEBUG_SYMBOLS=1
   endif # BUILD_FLAVOR
--- a/hotspot/make/solaris/makefiles/dtrace.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/solaris/makefiles/dtrace.make	Tue Sep 16 12:13:13 2014 +0200
@@ -32,7 +32,7 @@
 ifdef USE_GCC
 
 dtraceCheck:
-	$(QUIETLY) echo "**NOTICE** Dtrace support disabled for gcc builds"
+	$(QUIETLY) echo $(LOG_INFO) "**NOTICE** Dtrace support disabled for gcc builds"
 
 else
 
@@ -102,7 +102,7 @@
 XLIBJVM_DTRACE_DIZ         = $(XLIBJVM_DIR)/$(LIBJVM_DTRACE_DIZ)
 
 $(XLIBJVM_DB): $(ADD_GNU_DEBUGLINK) $(FIX_EMPTY_SEC_HDR_FLAGS) $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS).h $(LIBJVM_DB_MAPFILE)
-	@echo Making $@
+	@echo $(LOG_INFO) Making $@
 	$(QUIETLY) mkdir -p $(XLIBJVM_DIR) ; \
 	$(CC) $(SYMFLAG) $(ARCHFLAG/$(ISA)) -D$(TYPE) -I. -I$(GENERATED) \
 		$(SHARED_FLAG) $(LFLAGS_JVM_DB) -o $@ $(DTRACE_SRCDIR)/$(JVM_DB).c -lc
@@ -137,7 +137,7 @@
 endif
 
 $(XLIBJVM_DTRACE): $(ADD_GNU_DEBUGLINK) $(FIX_EMPTY_SEC_HDR_FLAGS) $(DTRACE_SRCDIR)/$(JVM_DTRACE).c $(DTRACE_SRCDIR)/$(JVM_DTRACE).h $(LIBJVM_DTRACE_MAPFILE)
-	@echo Making $@
+	@echo $(LOG_INFO) Making $@
 	$(QUIETLY) mkdir -p $(XLIBJVM_DIR) ; \
 	$(CC) $(SYMFLAG) $(ARCHFLAG/$(ISA)) -D$(TYPE) -I. \
 		$(SHARED_FLAG) $(LFLAGS_JVM_DTRACE) -o $@ $(DTRACE_SRCDIR)/$(JVM_DTRACE).c -lc -lthread -ldoor
@@ -207,7 +207,7 @@
 	$(QUIETLY) $(CXX) -c -I. -o $@ $(ARCHFLAG) -D$(TYPE) $(JVMOFFS).cpp
 
 $(LIBJVM_DB): $(ADD_GNU_DEBUGLINK) $(FIX_EMPTY_SEC_HDR_FLAGS) $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS.o) $(XLIBJVM_DB) $(LIBJVM_DB_MAPFILE)
-	@echo Making $@
+	@echo $(LOG_INFO) Making $@
 	$(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) -D$(TYPE) -I. -I$(GENERATED) \
 		$(SHARED_FLAG) $(LFLAGS_JVM_DB) -o $@ $(DTRACE_SRCDIR)/$(JVM_DB).c -lc
 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
@@ -232,7 +232,7 @@
 endif
 
 $(LIBJVM_DTRACE): $(ADD_GNU_DEBUGLINK) $(FIX_EMPTY_SEC_HDR_FLAGS) $(DTRACE_SRCDIR)/$(JVM_DTRACE).c $(XLIBJVM_DTRACE) $(DTRACE_SRCDIR)/$(JVM_DTRACE).h $(LIBJVM_DTRACE_MAPFILE)
-	@echo Making $@
+	@echo $(LOG_INFO) Making $@
 	$(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) -D$(TYPE) -I.  \
 		$(SHARED_FLAG) $(LFLAGS_JVM_DTRACE) -o $@ $(DTRACE_SRCDIR)/$(JVM_DTRACE).c -lc -lthread -ldoor
 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
@@ -286,7 +286,7 @@
 
 # Dtrace is available, so we build $(DTRACE.o)  
 $(DTRACE.o): $(DTRACE).d $(DTraced_Files)
-	@echo Compiling $(DTRACE).d
+	@echo $(LOG_INFO) Compiling $(DTRACE).d
 
 	$(QUIETLY) $(DTRACE_PROG) $(DTRACE_OPTS) -C -I. -G -xlazyload -o $@ -s $(DTRACE).d \
      $(DTraced_Files) ||\
@@ -352,7 +352,7 @@
 # The jhelper.d and hotspot probes are separated into two different SUNW_dof sections.
 # Now the jhelper.d is built without the -Xlazyload flag.
 $(DTRACE_JHELPER.o) : $(DTRACE_JHELPER).d $(JVMOFFS).h $(JVMOFFS)Index.h
-	@echo Compiling $(DTRACE_JHELPER).d
+	@echo $(LOG_INFO) Compiling $(DTRACE_JHELPER).d
 	$(QUIETLY) $(DTRACE_PROG) $(DTRACE_OPTS) -C -I. -G -o $@ -s $(DTRACE_JHELPER).d
 
 .PHONY: dtraceCheck
@@ -391,14 +391,14 @@
 else # manually disabled
 
 dtraceCheck:
-	$(QUIETLY) echo "**NOTICE** Dtrace support disabled via environment variable"
+	$(QUIETLY) echo $(LOG_INFO) "**NOTICE** Dtrace support disabled via environment variable"
 
 endif # ifeq ("${HOTSPOT_DISABLE_DTRACE_PROBES}", "")
 
 else # No dtrace program found
 
 dtraceCheck:
-	$(QUIETLY) echo "**NOTICE** Dtrace support disabled: not supported by system"
+	$(QUIETLY) echo $(LOG_INFO) "**NOTICE** Dtrace support disabled: not supported by system"
 
 endif # ifneq ("${dtraceFound}", "")
 
@@ -407,6 +407,6 @@
 else # CORE build
 
 dtraceCheck:
-	$(QUIETLY) echo "**NOTICE** Dtrace support disabled for CORE builds"
+	$(QUIETLY) echo $(LOG_INFO) "**NOTICE** Dtrace support disabled for CORE builds"
 
 endif # ifneq ("${TYPE}", "CORE")
--- a/hotspot/make/solaris/makefiles/jsig.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/solaris/makefiles/jsig.make	Tue Sep 16 12:13:13 2014 +0200
@@ -48,7 +48,7 @@
 endif
 
 $(LIBJSIG): $(ADD_GNU_DEBUGLINK) $(FIX_EMPTY_SEC_HDR_FLAGS) $(JSIGSRCDIR)/jsig.c $(LIBJSIG_MAPFILE)
-	@echo Making signal interposition lib...
+	@echo $(LOG_INFO) Making signal interposition lib...
 	$(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \
                          $(LFLAGS_JSIG) -o $@ $(JSIGSRCDIR)/jsig.c -ldl
 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
--- a/hotspot/make/solaris/makefiles/jvmti.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/solaris/makefiles/jvmti.make	Tue Sep 16 12:13:13 2014 +0200
@@ -74,34 +74,34 @@
 	$(QUIETLY) $(COMPILE.JAVAC) -d $(JvmtiOutDir) $(JvmtiEnvFillSource)
 
 $(JvmtiOutDir)/jvmtiEnter.cpp: $(both) $(JvmtiSrcDir)/jvmtiEnter.xsl
-	@echo Generating $@
+	@echo $(LOG_INFO) Generating $@
 	$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiEnter.xsl -OUT $(JvmtiOutDir)/jvmtiEnter.cpp -PARAM interface jvmti
 
 $(JvmtiOutDir)/bytecodeInterpreterWithChecks.cpp: $(JvmtiGenClass) $(InterpreterSrcDir)/bytecodeInterpreter.cpp $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xml $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xsl
-	@echo Generating $@
+	@echo $(LOG_INFO) Generating $@
 	$(XSLT) -IN $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xml -XSL $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xsl -OUT $(JvmtiOutDir)/bytecodeInterpreterWithChecks.cpp 
 
 $(JvmtiOutDir)/jvmtiEnterTrace.cpp: $(both) $(JvmtiSrcDir)/jvmtiEnter.xsl
-	@echo Generating $@
+	@echo $(LOG_INFO) Generating $@
 	$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiEnter.xsl -OUT $(JvmtiOutDir)/jvmtiEnterTrace.cpp -PARAM interface jvmti -PARAM trace Trace
 
 $(JvmtiOutDir)/jvmtiEnvRecommended.cpp: $(both) $(JvmtiSrcDir)/jvmtiEnv.xsl $(JvmtiSrcDir)/jvmtiEnv.cpp $(JvmtiEnvFillClass)
-	@echo Generating $@
+	@echo $(LOG_INFO) Generating $@
 	$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiEnv.xsl -OUT $(JvmtiOutDir)/jvmtiEnvStub.cpp
 	$(QUIETLY) $(RUN.JAVA) -classpath $(JvmtiOutDir) jvmtiEnvFill $(JvmtiSrcDir)/jvmtiEnv.cpp $(JvmtiOutDir)/jvmtiEnvStub.cpp $(JvmtiOutDir)/jvmtiEnvRecommended.cpp
 
 $(JvmtiOutDir)/jvmtiEnv.hpp: $(both) $(JvmtiSrcDir)/jvmtiHpp.xsl
-	@echo Generating $@
+	@echo $(LOG_INFO) Generating $@
 	$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiHpp.xsl -OUT $(JvmtiOutDir)/jvmtiEnv.hpp
 
 $(JvmtiOutDir)/jvmti.h: $(both) $(JvmtiSrcDir)/jvmtiH.xsl
-	@echo Generating $@
+	@echo $(LOG_INFO) Generating $@
 	$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiH.xsl -OUT $(JvmtiOutDir)/jvmti.h
 
 jvmtidocs:  $(JvmtiOutDir)/jvmti.html
 
 $(JvmtiOutDir)/jvmti.html: $(both) $(JvmtiSrcDir)/jvmti.xsl
-	@echo Generating $@
+	@echo $(LOG_INFO) Generating $@
 	$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmti.xsl -OUT $(JvmtiOutDir)/jvmti.html
 
 # #########################################################################
@@ -113,4 +113,3 @@
 	rm $(JvmtiGenClass) $(JvmtiEnvFillClass) $(JvmtiGeneratedFiles)
 
 # #########################################################################
-
--- a/hotspot/make/solaris/makefiles/rules.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/solaris/makefiles/rules.make	Tue Sep 16 12:13:13 2014 +0200
@@ -138,12 +138,12 @@
 # Sun compiler for 64 bit Solaris does not support building non-PIC object files.
 ifdef LP64
 %.o: %.cpp
-	@echo Compiling $<
+	@echo $(LOG_INFO) Compiling $<
 	$(QUIETLY) $(REMOVE_TARGET)
 	$(QUIETLY) $(COMPILE.CXX) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE)
 else
 %.o: %.cpp
-	@echo Compiling $<
+	@echo $(LOG_INFO) Compiling $<
 	$(QUIETLY) $(REMOVE_TARGET)
 	$(QUIETLY) $(if $(findstring $@, $(NONPIC_OBJ_FILES)), \
 	   $(subst $(VM_PICFLAG), ,$(COMPILE.CXX)) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE), \
@@ -151,18 +151,18 @@
 endif
 
 %.o: %.s
-	@echo Assembling $<
+	@echo $(LOG_INFO) Assembling $<
 	$(QUIETLY) $(REMOVE_TARGET)
 	$(QUIETLY) $(AS.S) -o $@ $< $(COMPILE_DONE)
 
 %.s: %.cpp
-	@echo Generating assembly for $<
+	@echo $(LOG_INFO) Generating assembly for $<
 	$(QUIETLY) $(GENASM.CXX) -o $@ $<
 	$(QUIETLY) $(DEMANGLE) $(COMPILE_DONE)
 
 # Intermediate files (for debugging macros)
 %.i: %.cpp
-	@echo Preprocessing $< to $@
+	@echo $(LOG_INFO) Preprocessing $< to $@
 	$(QUIETLY) $(PREPROCESS.CXX) $< > $@ $(COMPILE_DONE)
 
 #  Override gnumake built-in rules which do sccs get operations badly.
--- a/hotspot/make/solaris/makefiles/sa.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/solaris/makefiles/sa.make	Tue Sep 16 12:13:13 2014 +0200
@@ -58,7 +58,7 @@
 	fi
 
 $(GENERATED)/sa-jdi.jar: $(AGENT_FILES)
-	$(QUIETLY) echo "Making $@";
+	$(QUIETLY) echo $(LOG_INFO) "Making $@";
 	$(QUIETLY) if [ "$(BOOT_JAVA_HOME)" = "" ]; then \
 	   echo "ALT_BOOTDIR, BOOTDIR or JAVA_HOME needs to be defined to build SA"; \
 	   exit 1; \
--- a/hotspot/make/solaris/makefiles/saproc.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/solaris/makefiles/saproc.make	Tue Sep 16 12:13:13 2014 +0200
@@ -95,7 +95,7 @@
 	  echo "ALT_BOOTDIR, BOOTDIR or JAVA_HOME needs to be defined to build SA"; \
 	  exit 1; \
 	fi
-	@echo Making SA debugger back-end...
+	@echo $(LOG_INFO) Making SA debugger back-end...
 	           $(QUIETLY) $(CXX)                                    \
                    $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG)     \
 	           -I$(SASRCDIR)                                        \
--- a/hotspot/make/solaris/makefiles/trace.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/solaris/makefiles/trace.make	Tue Sep 16 12:13:13 2014 +0200
@@ -77,7 +77,7 @@
 all: $(TraceGeneratedFiles)
 
 GENERATE_CODE= \
-  $(QUIETLY) echo Generating $@; \
+  $(QUIETLY) echo $(LOG_INFO) Generating $@; \
   $(XSLT) -IN $(word 1,$^) -XSL $(word 2,$^) -OUT $@; \
   test -f $@
 
@@ -112,5 +112,3 @@
 
 clean cleanall:
 	rm $(TraceGeneratedFiles)
-
-
--- a/hotspot/make/solaris/makefiles/vm.make	Mon Sep 15 14:28:15 2014 -0700
+++ b/hotspot/make/solaris/makefiles/vm.make	Tue Sep 16 12:13:13 2014 +0200
@@ -295,7 +295,7 @@
 # making the library:
 $(LIBJVM): $(ADD_GNU_DEBUGLINK) $(FIX_EMPTY_SEC_HDR_FLAGS) $(LIBJVM.o) $(LIBJVM_MAPFILE)
 ifeq ($(filter -sbfast -xsbfast, $(CFLAGS_BROWSE)),)
-	@echo Linking vm...
+	@echo $(LOG_INFO) Linking vm...
 	$(QUIETLY) $(LINK_LIB.CXX/PRE_HOOK)
 	$(QUIETLY) $(LINK_VM) $(LFLAGS_VM) -o $@ $(sort $(LIBJVM.o)) $(LIBS_VM)
 	$(QUIETLY) $(LINK_LIB.CXX/POST_HOOK)