fix recursive dependencies on build directories - should lead to fewer spontaneous...
[openwrt/openwrt.git] / include / depends.mk
1 #
2 # Copyright (C) 2007 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7 # define a dependency on a subtree
8 # parameters:
9 # 1: directory
10 # 2: directory dependency
11 # 3: tempfile for file listings
12 # 4: find options
13
14 DEP_FINDPARAMS := -type f -not -name ".*" -and -not -path "*.svn*"
15 define rdep
16 $(foreach file,$(shell find $(1) $(DEP_FINDPARAMS) -and -not -path "*:*" $(4)),
17 $(2): $(file)
18 $(file): ;
19 )
20
21 ifneq ($(3),)
22 ifneq ($$(shell find $(1) $(DEP_FINDPARAMS) $(4) 2>/dev/null | md5s),$(if $(3),$(shell cat $(3) 2>/dev/null)))
23 $(2): $(3)
24 endif
25
26 $(3): FORCE
27 @-find $(1) $(DEP_FINDPARAMS) $(4) 2>/dev/null | md5s > $$@
28 endif
29 endef