diff --git a/openwrt/Makefile b/openwrt/Makefile
index faeecaa4881e5c7dd2058f5d7ef2b82ba24b2349..a554a1d867fd3cd04d8aafc9e639e6f498a17e77 100644
--- a/openwrt/Makefile
+++ b/openwrt/Makefile
@@ -26,6 +26,7 @@ RELEASE:=Kamikaze
 #--------------------------------------------------------------
 TOPDIR=${shell pwd}
 export TOPDIR
+include $(TOPDIR)/include/verbose.mk
 
 OPENWRTVERSION:=$(RELEASE)
 ifneq ($(VERSION),)
diff --git a/openwrt/include/image.mk b/openwrt/include/image.mk
index bf80e27990239b4a53263e34903f111ce5aa3ffc..ca0d688f170f5c77ca21e5a234a60c040d95f336 100644
--- a/openwrt/include/image.mk
+++ b/openwrt/include/image.mk
@@ -1,5 +1,3 @@
-include $(TOPDIR)/rules.mk
-
 KDIR:=$(BUILD_DIR)/linux-$(KERNEL)-$(BOARD)
 
 ifneq ($(CONFIG_BIG_ENDIAN),y)
diff --git a/openwrt/include/verbose.mk b/openwrt/include/verbose.mk
index 77a877efe3c4071f55d4bafebc8c18e776aceaad..31e0cea1b3107626d776fef4b782f7c4c7c16ec1 100644
--- a/openwrt/include/verbose.mk
+++ b/openwrt/include/verbose.mk
@@ -1,14 +1,19 @@
 # OpenWrt.org 2006
 # $Id:$
 
-ifeq ($(DUMP),)
-  ifndef KBUILD_VERBOSE
-    KBUILD_VERBOSE=0
-    ifeq ("$(origin V)", "command line")
-      KBUILD_VERBOSE=$(V)
-    endif
+ifndef KBUILD_VERBOSE
+  ifeq ($(DUMP),)
+    KBUILD_VERBOSE=1
+  else
+    KBUILD_VERBOSE=99
+  endif
+  ifeq ("$(origin V)", "command line")
+    KBUILD_VERBOSE=$(V)
   endif
+endif
+
 
+ifneq ($(KBUILD_VERBOSE),99)
   ifeq ($(QUIET),1)
     $(MAKECMDGOALS): trace
     trace: FORCE
@@ -18,6 +23,9 @@ ifeq ($(DUMP),)
 	}
   else
     export QUIET:=1
+    ifeq ($(KBUILD_VERBOSE),0)
+      MAKE:=&>/dev/null $(MAKE)
+    endif
     MAKE:=3>&1 4>&2 $(MAKE)
   endif
 
diff --git a/openwrt/package/Makefile b/openwrt/package/Makefile
index e947bcfaeaa7edae52b73f2f73ff742d93822ff8..4b924a390c0192ecd5a01443b54e449fb2f7f962 100644
--- a/openwrt/package/Makefile
+++ b/openwrt/package/Makefile
@@ -17,11 +17,9 @@ $(STAMP_DIR) $(TARGET_DIR):
 	$(MAKE) -C $(patsubst %-prepare,%,$@) prepare MAKEFLAGS="$(BUILD_MAKEFLAGS)"
 
 %-compile: $(STAMP_DIR) $(TARGET_DIR)
-	@echo "-> make $@"
 	$(MAKE) -C $(patsubst %-compile,%,$@) compile MAKEFLAGS="$(BUILD_MAKEFLAGS)"
 
 %-install: $(STAMP_DIR) $(TARGET_DIR)
-	@echo "-> make $@"
 	$(MAKE) -C $(patsubst %-install,%,$@) install MAKEFLAGS="$(BUILD_MAKEFLAGS)"
 
 %-clean: $(STAMP_DIR) $(TARGET_DIR)
diff --git a/openwrt/rules.mk b/openwrt/rules.mk
index d762ae79ed4c68aff37b09fc65a1a2d69dfc6860..42aedcfe542a29e1057df17f9ebbe54ab67ce799 100644
--- a/openwrt/rules.mk
+++ b/openwrt/rules.mk
@@ -1,4 +1,5 @@
 -include $(TOPDIR)/.config
+include $(TOPDIR)/include/verbose.mk
 
 export SHELL=/bin/bash