aboutsummaryrefslogtreecommitdiffstats
path: root/target/sdk/files
diff options
context:
space:
mode:
Diffstat (limited to 'target/sdk/files')
-rw-r--r--target/sdk/files/Makefile39
1 files changed, 28 insertions, 11 deletions
diff --git a/target/sdk/files/Makefile b/target/sdk/files/Makefile
index 7f42b697ab..184a1f9e42 100644
--- a/target/sdk/files/Makefile
+++ b/target/sdk/files/Makefile
@@ -33,21 +33,38 @@ export DEVELOPER
SDK=1
export SDK
+export IS_TTY=$(shell tty -s && echo 1 || echo 0)
+include $(TOPDIR)/include/verbose.mk
+
all: world
-.pkginfo: FORCE
-ifneq ($(shell ./scripts/timestamp.pl -p .pkginfo package Makefile),.pkginfo)
- @echo Collecting package info...
- @-for dir in package/*/; do \
- echo Source-Makefile: $${dir}Makefile; \
- $(MAKE) --no-print-dir DUMP=1 -C $$dir 2>&- || true; \
- done > $@
-endif
+define stamp
+tmp/info/.stamp-$(1)-$(shell ls $(2)/*/Makefile $(5) | (md5sum || md5) 2>/dev/null | cut -d' ' -f1)
+endef
+
+STAMP=$(call stamp,pkginfo,package)
+
+$(STAMP):
+ @mkdir -p tmp/info
+ @rm -f tmp/info/.stamp-pkginfo*
+ @touch $@
+
+define filedep
+$(foreach FILE,$(shell ls package/*/Makefile),
+tmp/.pkginfo: $(FILE)
+$(FILE):
+ @true
+)
+endef
+
+$(eval $(filedep))
-pkginfo-clean: FORCE
- -rm -f .pkginfo .config.in
+tmp/.pkginfo: $(STAMP)
+ @echo -n Collecting package info...
+ @$(NO_TRACE_MAKE) -s -f include/scan.mk SCAN_TARGET="pkginfo" SCAN_DIR="package" SCAN_NAME="package" SCAN_DEPS=""
-package/%: .pkginfo FORCE
+package/%: FORCE
+ @$(NO_TRACE_MAKE) -s tmp/.pkginfo
$(MAKE) -C package $(patsubst package/%,%,$@) SDK=1
download: FORCE
157'>157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202