fix metadata scan for profile split
fix metadata scan for profile split

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@6515 3c298f89-4303-0410-b956-a3cf2f4a3e73

file:a/Makefile -> file:b/Makefile
--- a/Makefile
+++ b/Makefile
@@ -45,7 +45,7 @@
 endif
 
 define stamp
-tmp/info/.stamp-$(1)-$(shell ls $(2)/*/Makefile | (md5sum || md5) 2>/dev/null | cut -d' ' -f1)
+tmp/info/.stamp-$(1)-$(shell ls $(2)/*/Makefile $(5) | (md5sum || md5) 2>/dev/null | cut -d' ' -f1)
 endef
 
 STAMP_pkginfo=$(call stamp,pkginfo,package)
@@ -57,19 +57,23 @@
 	@rm -f tmp/info/.stamp-$(1)*
 	@touch $$@
 
-$(foreach FILE,$(shell ls $(2)/*/Makefile),
+$(foreach FILE,$(shell ls $(2)/*/Makefile $(5)),
 tmp/.$(1): $(FILE)
 $(FILE):
 )
 
+ifneq ($(5),)
+tmp/.$(1): $(shell ls $(5))
+endif
+
 tmp/.$(1): $(STAMP_$(1)) $(4)
 	@echo -n Collecting $(3) info... 
-	@$(NO_TRACE_MAKE) -s -f include/scan.mk SCAN_TARGET="$(1)" SCAN_DIR="$(2)" SCAN_NAME="$(3)" SCAN_DEPS="$(4)"
+	@$(NO_TRACE_MAKE) -s -f include/scan.mk SCAN_TARGET="$(1)" SCAN_DIR="$(2)" SCAN_NAME="$(3)" SCAN_DEPS="$(4)" SCAN_EXTRA="$(5)"
 
 endef
 
 $(eval $(call scan_info,pkginfo,package,package,include/package.mk))
-$(eval $(call scan_info,targetinfo,target/linux,target,include/kernel-build.mk include/kernel-version.mk))
+$(eval $(call scan_info,targetinfo,target/linux,target,include/kernel-build.mk include/kernel-version.mk,target/linux/*/profiles/*.mk))
 
 tmpinfo-clean: FORCE
 	@-rm -rf tmp/.pkginfo tmp/.targetinfo

--- a/include/scan.mk
+++ b/include/scan.mk
@@ -24,10 +24,18 @@
 	@($(call progress,Collecting $(SCAN_NAME) info: done))
 	@echo
 
+ifneq ($(SCAN_EXTRA),)
+SCAN_STAMP=tmp/info/.scan-$(SCAN_TARGET)-$(shell ls $(SCAN_EXTRA) 2>/dev/null | (md5sum || md5) 2>/dev/null | cut -d' ' -f1)
+$(SCAN_STAMP):
+	rm -f tmp/info/.scan-$(SCAN_TARGET)-*
+	mkdir -p $(shell dirname $@)
+	touch $@
+endif
+
 define scanfiles
 $(foreach FILE,$(SCAN),
   tmp/.$(SCAN_TARGET): tmp/info/.$(SCAN_TARGET)-$(FILE) FORCE
-  tmp/info/.$(SCAN_TARGET)-$(FILE): $(SCAN_DEPS) $(SCAN_DIR)/$(FILE)/Makefile
+  tmp/info/.$(SCAN_TARGET)-$(FILE): $(SCAN_DEPS) $(SCAN_DIR)/$(FILE)/Makefile $(SCAN_STAMP)
 	{ \
 		$$(call progress,Collecting $(SCAN_NAME) info: $(SCAN_DIR)/$(FILE)) \
 		echo Source-Makefile: $(SCAN_DIR)/$(FILE)/Makefile; \

comments