diff --git a/include/host-build.mk b/include/host-build.mk
index 23565533bada8f7148538a0299d6adc35809cb82..bbf4633c416f78950e19a92ab8d367d106ddec4d 100644
--- a/include/host-build.mk
+++ b/include/host-build.mk
@@ -172,6 +172,7 @@ ifndef DUMP
   ifndef STAMP_BUILT
     $(foreach t,$(DEFAULT_SUBDIR_TARGETS),
       $(t): host-$(t)
+      .$(t): .host-$(t)
     )
   endif
 
@@ -183,6 +184,11 @@ ifndef DUMP
 	$(call Host/Uninstall)
 	rm -rf $(HOST_BUILD_DIR) $(HOST_STAMP_INSTALLED) $(HOST_STAMP_BUILT)
 
+    ifneq ($(CONFIG_AUTOREMOVE),)
+      host-compile:
+		$(FIND) $(HOST_BUILD_DIR) -mindepth 1 -maxdepth 1 -not '(' -type f -and -name '.*' -and -size 0 ')' | \
+			$(XARGS) rm -rf
+    endif
   endef
 endif
 
diff --git a/include/toolchain-build.mk b/include/toolchain-build.mk
index 212923a1e65f263ae9bf2f7513c925154c5702e8..efc35e278933eaa868207d41aa0423c865eb4e15 100644
--- a/include/toolchain-build.mk
+++ b/include/toolchain-build.mk
@@ -6,6 +6,7 @@
 #
 
 override CONFIG_AUTOREBUILD=
+override CONFIG_AUTOREMOVE=
 
 REAL_STAGING_DIR_HOST:=$(STAGING_DIR_HOST)
 STAGING_DIR_HOST:=$(TOOLCHAIN_DIR)
diff --git a/tools/Makefile b/tools/Makefile
index a3bf69cd34e25828565e7c145760cb2ec7090fff..1fdf19769a273a19b4dca71ea0f5f360ca0a78fa 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -100,6 +100,7 @@ $(foreach tool, $(tools-core), $(eval $(curdir)/$(tool)/compile += $(curdir)/sed
 $(curdir)/sed/compile := $(curdir)/flock/compile
 tools-y += flock sed
 
+$(curdir)/autoremove := 1
 $(curdir)/builddirs := $(tools-y) $(tools-dep) $(tools-)
 $(curdir)/builddirs-default := $(tools-y)