14cdcdf7a7b1a74b586785edb010f09154db1dfe
2 # Copyright (C) 2007 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
7 # define a dependency on a subtree
10 # 2: directory dependency
11 # 3: tempfile for file listings
14 DEP_FINDPARAMS
:= -x
"*/.svn*" -x
".*" -x
"*:*" -x
"*\!*" -x
"* *" -x
"*\\\#*" -x
"*/.*_check" -x
"*/.*.swp"
16 find_md5
=$(SH_FUNC
) find
$(1) -type f
$(patsubst -x
,-and
-not
-path
,$(DEP_FINDPARAMS
) $(2)) | md5s
24 ifneq ($(wildcard $(2)),)
27 $(call find_md5
,$(1),$(4)) > $(3).1; \
28 { [ \
! -f
"$(3)" ] || diff
$(3) $(3).1 >/dev
/null
; } && \
31 [ -f
"$(2)_check.1" ] && mv
"$(2)_check.1"; \
32 $(TOPDIR
)/scripts
/timestamp.pl
$(DEP_FINDPARAMS
) $(4) -n
$(2) $(1) && { \
33 $(call debug_eval
,$(SUBDIR
),r
,echo
"No need to rebuild $(2)";) \
34 touch
-r
"$(2)" "$(2)_check"; \
37 $(call debug_eval
,$(SUBDIR
),r
,echo
"Need to rebuild $(2)";) \
40 $(if
$(3), mv
$(3).1 $(3))
43 $(if
$(3), rm -f
$(3) $(3).1)
44 $(call debug_eval
,$(SUBDIR
),r
,echo
"Target $(2) not built")