forked from openkylin/platform_build
fix makefile inheritance system
The variable inheritance system can leave extra spaces in a variable when multiple levels of inheritance are used. It can expand: "@inherit:foo @inherit:bar @inherit:baz" to "value @inherit:bar @inherit:baz" and then "value @inherit:baz" (if bar has no value for the variable) and then "value " (if baz also has no value). Call strip to remove excess spaces between words after each replacement pass. Change-Id: Ic4cfc6fed1865066a6353a522e4bdcb68ec875d3
This commit is contained in:
parent
84c253286f
commit
1d89773c1d
|
@ -162,8 +162,9 @@ define _expand-inherited-values
|
|||
$(call uniq-word,$($(_eiv_tv)),$(INHERIT_TAG)$(i))) \
|
||||
$(eval ### "Expand the inherit tag") \
|
||||
$(eval $(_eiv_tv) := \
|
||||
$(patsubst $(INHERIT_TAG)$(i),$($(1).$(i).$(v)), \
|
||||
$($(_eiv_tv)))) \
|
||||
$(strip \
|
||||
$(patsubst $(INHERIT_TAG)$(i),$($(1).$(i).$(v)), \
|
||||
$($(_eiv_tv))))) \
|
||||
$(eval ### "Clear the child so DAGs don't create duplicate entries" ) \
|
||||
$(eval $(1).$(i).$(v) :=) \
|
||||
$(eval ### "If we just inherited ourselves, it's a cycle.") \
|
||||
|
|
Loading…
Reference in New Issue