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