X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/f52d66ff00b24111f87c274d3d7085ef2e1d27b1..2b2bc6c3ccaff20a2b7767cd9ead475c0be040f8:/target/sdk/files/Makefile diff --git a/target/sdk/files/Makefile b/target/sdk/files/Makefile index ba488e380..ebd30bf32 100644 --- a/target/sdk/files/Makefile +++ b/target/sdk/files/Makefile @@ -30,21 +30,41 @@ export TOPDIR DEVELOPER=1 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 @@ -56,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