depends.mk 895 B

12345678910111213141516171819202122232425262728293031
  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. DEP_FINDPARAMS := -type f -not -name ".*" -and -not -path "*.svn*" -type f -not -name ".*" -and -not -path "*.svn*" -and -not -path "*:*" -and -not -path "*!*" -and -not -path "* *" -and -not -path "*\\\#*"
  14. define rdep
  15. $(foreach file,$(shell find $(1) $(DEP_FINDPARAMS) $(4)),
  16. $(2): $(file)
  17. $(file): ;
  18. )
  19. ifneq ($(3),)
  20. ifneq ($$(shell find $(1) $(DEP_FINDPARAMS) $(4) 2>/dev/null | md5s),$(if $(3),$(shell cat $(3) || touch $(3) 2>/dev/null)))
  21. $(2): $(3)
  22. endif
  23. endif
  24. $(3): FORCE
  25. @-find $(1) $(DEP_FINDPARAMS) $(4) 2>/dev/null | md5s > $$@
  26. .PRECIOUS: $(3)
  27. endef