Fix the counters bug (#983)
[openwrt.git] / Makefile
index 2dcb727..8bd0bc7 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -52,24 +52,31 @@ ifeq ($(FORCE),)
   world: tmp/.prereq-packages tmp/.prereq-target
 endif
 
-tmp/.pkginfo:
+ifeq ($(IS_TTY),1)
+  define progress
+       printf "\033[M\r$(1)" >&2;
+  endef
+endif
+
+define dumpinfo
        @mkdir -p tmp
-       @echo Collecting package info...
-       @-for dir in package/*/; do \
+       @echo -n Collecting $(2) info... 
+       @-for dir in $(1)/*/; do \
                [ -f "$${dir}/Makefile" ] || continue; \
+               $(call progress,Collecting $(2) info: $${dir%%/}) \
                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; \
                echo; \
        done > $@
+       @($(call progress,Collecting $(2) info: done))
+       @echo
+endef
+
+tmp/.pkginfo:
+       $(call dumpinfo,package,package)
 
 tmp/.targetinfo:
-       @mkdir -p tmp
-       @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 > $@
+       $(call dumpinfo,target/linux,target)
 
 tmpinfo-clean: FORCE
        @-rm -rf tmp/.pkginfo tmp/.targetinfo
This page took 0.019289 seconds and 4 git commands to generate.