diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2007-09-23 02:39:01 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2007-09-23 02:39:01 +0000 |
commit | d29153dc010840afa45e70ced91c5e558fca6bb6 (patch) | |
tree | d42029d0592cba445fd6249f039834b3625a4f2e /include | |
parent | 23334c52818e113da1174eeb747f2cb3fc6b1055 (diff) |
add initial version of a package feeds management script
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@8973 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'include')
-rw-r--r-- | include/scan.mk | 20 | ||||
-rw-r--r-- | include/toplevel.mk | 8 |
2 files changed, 15 insertions, 13 deletions
diff --git a/include/scan.mk b/include/scan.mk index dfe80fabaa..28f526aa33 100644 --- a/include/scan.mk +++ b/include/scan.mk @@ -1,15 +1,15 @@ include $(TOPDIR)/include/verbose.mk TMP_DIR:=$(TOPDIR)/tmp -all: tmp/.$(SCAN_TARGET) +all: $(TMP_DIR)/.$(SCAN_TARGET) include $(TOPDIR)/include/host.mk SCAN_TARGET ?= packageinfo SCAN_NAME ?= package SCAN_DIR ?= package -TARGET_STAMP:=tmp/info/.files-$(SCAN_TARGET).stamp -FILELIST:=tmp/info/.files-$(SCAN_TARGET)-$(SCAN_COOKIE) +TARGET_STAMP:=$(TMP_DIR)/info/.files-$(SCAN_TARGET).stamp +FILELIST:=$(TMP_DIR)/info/.files-$(SCAN_TARGET)-$(SCAN_COOKIE) ifeq ($(IS_TTY),1) define progress @@ -22,8 +22,8 @@ else endif define PackageDir - tmp/.$(SCAN_TARGET): tmp/info/.$(SCAN_TARGET)-$(1) - tmp/info/.$(SCAN_TARGET)-$(1): $(SCAN_DIR)/$(2)/Makefile $(SCAN_STAMP) $(foreach DEP,$(DEPS_$(SCAN_DIR)/$(1)/Makefile) $(SCAN_DEPS),$(wildcard $(if $(filter /%,$(DEP)),$(DEP),$(SCAN_DIR)/$(1)/$(DEP)))) + $(TMP_DIR)/.$(SCAN_TARGET): $(TMP_DIR)/info/.$(SCAN_TARGET)-$(1) + $(TMP_DIR)/info/.$(SCAN_TARGET)-$(1): $(SCAN_DIR)/$(2)/Makefile $(SCAN_STAMP) $(foreach DEP,$(DEPS_$(SCAN_DIR)/$(1)/Makefile) $(SCAN_DEPS),$(wildcard $(if $(filter /%,$(DEP)),$(DEP),$(SCAN_DIR)/$(1)/$(DEP)))) { \ $$(call progress,Collecting $(SCAN_NAME) info: $(SCAN_DIR)/$(2)) \ echo Source-Makefile: $(SCAN_DIR)/$(2)/Makefile; \ @@ -33,10 +33,10 @@ define PackageDir endef $(FILELIST): - rm -f tmp/info/.files-$(SCAN_TARGET)-* + rm -f $(TMP_DIR)/info/.files-$(SCAN_TARGET)-* $(call FIND_L, $(SCAN_DIR)) $(SCAN_EXTRA) -mindepth 1 $(if $(SCAN_DEPTH),-maxdepth $(SCAN_DEPTH)) -name Makefile | xargs grep -HE 'call (Build/DefaultTargets|Build(Package|Target)|.+Package)' | sed -e 's#^$(SCAN_DIR)/##' -e 's#/Makefile:.*##' | uniq > $@ -tmp/info/.files-$(SCAN_TARGET).mk: $(FILELIST) +$(TMP_DIR)/info/.files-$(SCAN_TARGET).mk: $(FILELIST) ( \ cat $< | awk '{print "$(SCAN_DIR)/" $$0 "/Makefile" }' | xargs grep -HE '^ *SCAN_DEPS *= *' | awk -F: '{ gsub(/^.*DEPS *= */, "", $$2); print "DEPS_" $$1 "=" $$2 }'; \ awk -v deps="$$DEPS" '{ \ @@ -47,7 +47,7 @@ tmp/info/.files-$(SCAN_TARGET).mk: $(FILELIST) true; \ ) > $@ --include tmp/info/.files-$(SCAN_TARGET).mk +-include $(TMP_DIR)/info/.files-$(SCAN_TARGET).mk $(TARGET_STAMP): ( \ @@ -60,9 +60,9 @@ $(TARGET_STAMP): } \ ) -tmp/.$(SCAN_TARGET): $(TARGET_STAMP) $(SCAN_STAMP) +$(TMP_DIR)/.$(SCAN_TARGET): $(TARGET_STAMP) $(SCAN_STAMP) $(call progress,Collecting $(SCAN_NAME) info: merging...) - cat $(FILELIST) | awk '{gsub(/\//, "_", $$0);print "tmp/info/.$(SCAN_TARGET)-" $$0}' | xargs cat > $@ + cat $(FILELIST) | awk '{gsub(/\//, "_", $$0);print "$(TMP_DIR)/info/.$(SCAN_TARGET)-" $$0}' | xargs cat > $@ $(call progress,Collecting $(SCAN_NAME) info: done) echo diff --git a/include/toplevel.mk b/include/toplevel.mk index 0a8bdedc3e..a9ca3a2806 100644 --- a/include/toplevel.mk +++ b/include/toplevel.mk @@ -30,15 +30,17 @@ endif SCAN_COOKIE?=$(shell echo $$$$) export SCAN_COOKIE +prepare-mk: FORCE ; + prepare-tmpinfo: FORCE mkdir -p tmp/info +$(NO_TRACE_MAKE) -s -f include/scan.mk SCAN_TARGET="packageinfo" SCAN_DIR="package" SCAN_NAME="package" SCAN_DEPS="$(TOPDIR)/include/package*.mk" SCAN_DEPTH=4 SCAN_EXTRA="" +$(NO_TRACE_MAKE) -s -f include/scan.mk SCAN_TARGET="targetinfo" SCAN_DIR="target/linux" SCAN_NAME="target" SCAN_DEPS="profiles/*.mk $(TOPDIR)/include/kernel*.mk" SCAN_DEPTH=2 SCAN_EXTRA="" SCAN_MAKEOPTS="TARGET_BUILD=1" for type in package target; do \ f=tmp/.$${type}info; t=tmp/.config-$${type}.in; \ - [ "$$t" -nt "$$f" ] || ./scripts/metadata.pl $${type}_config < "$$f" > "$$t" || { rm -f "$$t"; echo "Failed to build $$t"; false; break; }; \ + [ "$$t" -nt "$$f" ] || ./scripts/metadata.pl $${type}_config "$$f" > "$$t" || { rm -f "$$t"; echo "Failed to build $$t"; false; break; }; \ done - ./scripts/metadata.pl package_mk < tmp/.packageinfo > tmp/.packagedeps || { rm -f tmp/.packagedeps; false; } + ./scripts/metadata.pl package_mk tmp/.packageinfo > tmp/.packagedeps || { rm -f tmp/.packagedeps; false; } touch $(TOPDIR)/tmp/.build .config: ./scripts/config/conf prepare-tmpinfo @@ -64,7 +66,7 @@ defconfig: scripts/config/conf prepare-tmpinfo FORCE $< -D .config Config.in oldconfig: scripts/config/conf prepare-tmpinfo FORCE - $< -o Config.in + $< -$(if $(CONFDEFAULT),$(CONFDEFAULT),o) Config.in menuconfig: scripts/config/mconf prepare-tmpinfo FORCE if [ \! -f .config -a -e $(HOME)/.openwrt/defconfig ]; then \ |