change the recursive dependency template to use more make evaluation - the shell command got so long that it triggered "Argument list too long" on some systems (#8231)

SVN-Revision: 24131
This commit is contained in:
Felix Fietkau 2010-11-24 14:07:12 +00:00
parent 721a005dc2
commit 695a1268e1

View File

@ -20,8 +20,9 @@ define rdep
.SILENT: $(2)_check .SILENT: $(2)_check
$(2): $(2)_check $(2): $(2)_check
ifneq ($(wildcard $(2)),)
$(2)_check:: $(2)_check::
if [ -f "$(2)" ]; then \
$(if $(3), \ $(if $(3), \
$(call find_md5,$(1),$(4)) > $(3).1; \ $(call find_md5,$(1),$(4)) > $(3).1; \
{ [ \! -f "$(3)" ] || diff $(3) $(3).1 >/dev/null; } && \ { [ \! -f "$(3)" ] || diff $(3) $(3).1 >/dev/null; } && \
@ -35,13 +36,13 @@ define rdep
} || { \ } || { \
$(call debug_eval,$(SUBDIR),r,echo "Need to rebuild $(2)";) \ $(call debug_eval,$(SUBDIR),r,echo "Need to rebuild $(2)";) \
touch "$(2)_check"; \ touch "$(2)_check"; \
}; \ }
$(if $(3), mv $(3).1 $(3);) \ $(if $(3), mv $(3).1 $(3))
else \ else
$(if $(3), rm -f $(3) $(3).1;) \ $(2)_check::
$(call debug_eval,$(SUBDIR),r,echo "Target $(2) not built";) \ $(if $(3), rm -f $(3) $(3).1)
true; \ $(call debug_eval,$(SUBDIR),r,echo "Target $(2) not built")
fi endif
endef endef