implement real-time progress info for the package/target info collect (thanks to Thorsten Glaser for the idea)

SVN-Revision: 5850
This commit is contained in:
Felix Fietkau 2006-12-19 01:20:44 +00:00
parent e7798e412f
commit 5aa57f3f70

View file

@ -52,24 +52,31 @@ ifeq ($(FORCE),)
world: tmp/.prereq-packages tmp/.prereq-target world: tmp/.prereq-packages tmp/.prereq-target
endif endif
tmp/.pkginfo: ifeq ($(IS_TTY),1)
define progress
printf "\033[M\r$(1)" >&2;
endef
endif
define dumpinfo
@mkdir -p tmp @mkdir -p tmp
@echo Collecting package info... @echo -n Collecting package info...
@-for dir in package/*/; do \ @-for dir in $(1)/*/; do \
[ -f "$${dir}/Makefile" ] || continue; \ [ -f "$${dir}/Makefile" ] || continue; \
$(call progress,Collecting package info... $${dir%%/}) \
echo Source-Makefile: $${dir}Makefile; \ echo Source-Makefile: $${dir}Makefile; \
$(NO_TRACE_MAKE) --no-print-dir DUMP=1 -C $$dir 3>/dev/null || echo "ERROR: please fix $${dir}Makefile" >&2; \ $(NO_TRACE_MAKE) --no-print-dir DUMP=1 -C $$dir 3>/dev/null || echo "ERROR: please fix $${dir}Makefile" >&2; \
echo; \ echo; \
done > $@ done > $@
$(call progress,Collecting package info... done)
echo
endef
tmp/.pkginfo:
$(call dumpinfo,package)
tmp/.targetinfo: tmp/.targetinfo:
@mkdir -p tmp $(call dumpinfo,target/linux)
@echo Collecting target info...
@-for dir in target/linux/*/; do \
[ -f "$${dir}/Makefile" ] || continue; \
( cd "$$dir"; $(NO_TRACE_MAKE) --no-print-dir DUMP=1 3>/dev/null || echo "ERROR: please fix $${dir}Makefile" >&2 ); \
echo; \
done > $@
tmpinfo-clean: FORCE tmpinfo-clean: FORCE
@-rm -rf tmp/.pkginfo tmp/.targetinfo @-rm -rf tmp/.pkginfo tmp/.targetinfo