X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/a1aed6ae611ddd61a0aaebbbc591550113c0ff3b..ecb4c97c2046acb93107e86f48bdc7d1c328b06a:/target/sdk/files/Makefile diff --git a/target/sdk/files/Makefile b/target/sdk/files/Makefile index 7f42b697a..ebd30bf32 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,packageinfo,package) + +$(STAMP): + @mkdir -p tmp/info + @rm -f tmp/info/.stamp-packageinfo* + @touch $@ + +define filedep +$(foreach FILE,$(shell ls package/*/Makefile), +tmp/.packageinfo: $(FILE) +$(FILE): + @true +) +endef + +$(eval $(filedep)) -pkginfo-clean: FORCE - -rm -f .pkginfo .config.in +tmp/.packageinfo: $(STAMP) + @echo -n Collecting package info... + @$(NO_TRACE_MAKE) -s -f include/scan.mk SCAN_TARGET="packageinfo" SCAN_DIR="package" SCAN_NAME="package" SCAN_DEPS="" -package/%: .pkginfo FORCE +package/%: FORCE + @$(NO_TRACE_MAKE) -s tmp/.packageinfo $(MAKE) -C package $(patsubst package/%,%,$@) SDK=1 download: FORCE @@ -59,7 +76,7 @@ world: FORCE cd package; \ find . -maxdepth 2 -name Config.in | \ sed -e 's,/Config.in,,g' | \ - xargs -r -n1 make compile -C; \ + xargs -n1 $(MAKE) compile -C; \ ) clean: FORCE