Revision ba1183da rules.mak

b/rules.mak
146 146

  
147 147
# magic to descend into other directories
148 148

  
149
obj := .
150
old-nested-dirs :=
151

  
152 149
define push-var
153 150
$(eval save-$2-$1 = $(value $1))
154 151
$(eval $1 :=)
......
162 159

  
163 160
define unnest-dir
164 161
$(foreach var,$(nested-vars),$(call push-var,$(var),$1/))
165
$(eval obj := $(obj)/$1)
162
$(eval obj-parent-$1 := $(obj))
163
$(eval obj := $(if $(obj),$(obj)/$1,$1))
166 164
$(eval include $(SRC_PATH)/$1/Makefile.objs)
167
$(eval obj := $(patsubst %/$1,%,$(obj)))
165
$(eval obj := $(obj-parent-$1))
166
$(eval obj-parent-$1 := )
168 167
$(foreach var,$(nested-vars),$(call pop-var,$(var),$1/))
169 168
endef
170 169

  
......
179 178
endef
180 179

  
181 180
define unnest-vars
181
$(eval obj := $1)
182
$(eval nested-vars := $2)
183
$(eval old-nested-dirs := )
182 184
$(call unnest-vars-1)
185
$(if $1,$(foreach v,$(nested-vars),$(eval \
186
	$v := $(addprefix $1/,$($v)))))
183 187
$(foreach var,$(nested-vars),$(eval $(var) := $(filter-out %/, $($(var)))))
184 188
$(shell mkdir -p $(sort $(foreach var,$(nested-vars),$(dir $($(var))))))
185 189
$(foreach var,$(nested-vars), $(eval \

Also available in: Unified diff