diff --git a/scripts/Makefile.host b/scripts/Makefile.host
index 1c2e57000f5aa8ff9c680a57f4ada40c8ab82f40..bb6a11f4f19387e404839d913b747d6571e6ec7e 100644
--- a/scripts/Makefile.host
+++ b/scripts/Makefile.host
@@ -44,15 +44,11 @@ host-cxxobjs	:= $(sort $(foreach m,$(host-cxxmulti),$($(m)-cxxobjs)))
 
 # output directory for programs/.o files
 # hostprogs-y := tools/build may have been specified. Retrieve directory
-host-objdirs := $(foreach f,$(__hostprogs), $(if $(dir $(f)),$(dir $(f))))
+host-objdirs := $(dir $(__hostprogs))
 # directory of .o files from prog-objs notation
-host-objdirs += $(foreach f,$(host-cmulti),                  \
-                    $(foreach m,$($(f)-objs),                \
-                        $(if $(dir $(m)),$(dir $(m)))))
+host-objdirs += $(dir $(foreach f,$(host-cmulti), $($(f)-objs)))
 # directory of .o files from prog-cxxobjs notation
-host-objdirs += $(foreach f,$(host-cxxmulti),                  \
-                    $(foreach m,$($(f)-cxxobjs),                \
-                        $(if $(dir $(m)),$(dir $(m)))))
+host-objdirs += $(dir $(foreach f,$(host-cxxmulti), $($(f)-cxxobjs)))
 
 host-objdirs := $(strip $(sort $(filter-out ./,$(host-objdirs))))