Просмотр исходного кода

fix the sdk

SVN-Revision: 6718
Felix Fietkau 19 лет назад
Родитель
Сommit
4113d5a46d
2 измененных файлов с 29 добавлено и 16 удалено
  1. 1 5
      package/Makefile
  2. 28 11
      target/sdk/files/Makefile

+ 1 - 5
package/Makefile

@@ -40,12 +40,8 @@ $(STAMP_DIR) $(TARGET_DIR):
 %-clean: FORCE
 	$(MAKE) -C $(patsubst %-clean,%,$@) clean
 
-ifeq ($(SDK),1)
-GENDEP_OPTS := -s
-endif
-
 $(TMP_DIR)/.pkgdeps: $(TMP_DIR)/.pkginfo
-	@$(TOPDIR)/scripts/metadata.pl package_mk $(GENDEP_OPTS) < $< > $@ || rm -f $@
+	@$(TOPDIR)/scripts/metadata.pl package_mk < $< > $@ || rm -f $@
 
 preconfig:
 clean: $(patsubst %,%-clean,$(package-) $(package-y) $(package-m))

+ 28 - 11
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