diff options
authorPavel Roskin <>2006-06-01 21:28:50 -0400
committerSam Ravnborg <>2006-06-08 20:18:05 +0200
commit9870a93d3118239fd7732a0f908e05f67b39a294 (patch)
parent1def630a6a49dda5bc89dfbd86656293640456f0 (diff)
kbuild: obj-dirs is calculated incorrectly if hostprogs-y is defined
When is included, $(obj-dirs) is subjected to the addprefix operation for the second time. Prefix only needs to be added to the newly added directories, but not to those that came from Makefile.lib. This causes the build system to create unneeded empty directories in the build tree when building in a separate directory. For instance, lib/lib/zlib_inflate is created in the build tree. Signed-off-by: Pavel Roskin <> Signed-off-by: Sam Ravnborg <>
1 files changed, 5 insertions, 3 deletions
diff --git a/scripts/ b/scripts/
index 2d519704b8fd..2b066d12af2c 100644
--- a/scripts/
+++ b/scripts/
@@ -33,8 +33,8 @@
__hostprogs := $(sort $(hostprogs-y)$(hostprogs-m))
# hostprogs-y := tools/build may have been specified. Retreive directory
-obj-dirs += $(foreach f,$(__hostprogs), $(if $(dir $(f)),$(dir $(f))))
-obj-dirs := $(strip $(sort $(filter-out ./,$(obj-dirs))))
+host-objdirs := $(foreach f,$(__hostprogs), $(if $(dir $(f)),$(dir $(f))))
+host-objdirs := $(strip $(sort $(filter-out ./,$(host-objdirs))))
# C code
@@ -73,7 +73,9 @@ host-cxxmulti := $(addprefix $(obj)/,$(host-cxxmulti))
host-cxxobjs := $(addprefix $(obj)/,$(host-cxxobjs))
host-cshlib := $(addprefix $(obj)/,$(host-cshlib))
host-cshobjs := $(addprefix $(obj)/,$(host-cshobjs))
-obj-dirs := $(addprefix $(obj)/,$(obj-dirs))
+host-objdirs := $(addprefix $(obj)/,$(host-objdirs))
+obj-dirs += $(host-objdirs)
# Handle options to gcc. Support building with separate output directory