[PATCH v2 4/5] kbuild: clean up scripts/Makefile.host

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The directory creation can be more simplified by two levels.

[1] Drop $(dir ...)

 $(dir $(f)) always returns non-empty string.

So, $(if $(dir $(f)),$(dir $(f)) is equivalent to $(dir $(f)).

[2] Unroll $(foreach ...) loop

$(dir ...) can have one or more paths and returns a list of
directories of them.

$(foreach f, $(progs), $(dir $(f))) can be unrolled as

$(dir $(progs))

Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx>
---

Changes in v2:
  - Further more clean-up by enrolling $(foreach ) loop

 scripts/Makefile.host | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/scripts/Makefile.host b/scripts/Makefile.host
index 1c2e570..bb6a11f 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))))
 
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux