summaryrefslogtreecommitdiffstats
path: root/include/depends.mk
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2007-04-15 18:28:24 +0000
committerFelix Fietkau <nbd@openwrt.org>2007-04-15 18:28:24 +0000
commit449a4f40792a7453f65799329e828f0f55e14ab3 (patch)
treec4fa6b092976f796e0d5e632351f33f70e40e7a1 /include/depends.mk
parent4e7c9df1ae14a2af3678d7d7eff177c62a42e716 (diff)
downloadmaster-31e0f0ae-449a4f40792a7453f65799329e828f0f55e14ab3.tar.gz
master-31e0f0ae-449a4f40792a7453f65799329e828f0f55e14ab3.tar.bz2
master-31e0f0ae-449a4f40792a7453f65799329e828f0f55e14ab3.zip
clean up dependency handling for autorebuilds
SVN-Revision: 6956
Diffstat (limited to 'include/depends.mk')
-rw-r--r--include/depends.mk28
1 files changed, 28 insertions, 0 deletions
diff --git a/include/depends.mk b/include/depends.mk
new file mode 100644
index 0000000000..b74e535506
--- /dev/null
+++ b/include/depends.mk
@@ -0,0 +1,28 @@
+#
+# Copyright (C) 2007 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+# define a dependency on a subtree
+# parameters:
+# 1: directory
+# 2: directory dependency
+# 3: tempfile for file listings
+# 4: find options
+
+FINDPARAMS := -type f -not -name ".*" -and -not -path "*.svn*"
+define rdep
+ $(foreach file,$(shell find $(1) $(FINDPARAMS) -and -not -path "*:*" $(4)),
+ $(2): $(file)
+ $(file): ;
+ )
+
+ ifneq ($(shell find $(1) $(FINDPARAMS) $(4) 2>/dev/null | md5s),$(shell cat $(3) 2>/dev/null))
+ $(2): $(3)
+ endif
+
+ $(3): FORCE
+ @find $(1) $(FINDPARAMS) $(4) 2>/dev/null | md5s > $$@
+
+endef