kbuild: clean-up and bug fix of scripts/Makefile.host

Assume we have a Makefile like this:

  hostprogs-y := foo
  foo-cxxobjs := bar/baz.o
  foo-objs := qux/quux.o

In this case, Kbuild creates bar/ directory,
but fails to create qux/ directory.

This commit re-writes directory creation more simply,
fixing that bug.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
This commit is contained in:
Masahiro Yamada 2014-07-16 16:12:23 +09:00 committed by Michal Marek
parent 6639355939
commit 1791ff7179

View File

@ -43,12 +43,9 @@ host-cxxmulti := $(foreach m,$(__hostprogs),$(if $($(m)-cxxobjs),$(m)))
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 := $(dir $(__hostprogs))
# directory of .o files from prog-objs notation
host-objdirs += $(dir $(foreach f,$(host-cmulti), $($(f)-objs)))
# directory of .o files from prog-cxxobjs notation
host-objdirs += $(dir $(foreach f,$(host-cxxmulti), $($(f)-cxxobjs)))
# hostprogs-y := tools/build may have been specified.
# Retrieve also directory of .o files from prog-objs or prog-cxxobjs notation
host-objdirs := $(dir $(__hostprogs) $(host-cobjs) $(host-cxxobjs))
host-objdirs := $(strip $(sort $(filter-out ./,$(host-objdirs))))