X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=include%2Fdepends.mk;h=a858d4b033eb47e7b83564d578f78596914b79ce;hb=848b3445fba43b8ae2e1a299418551d8bc8cd400;hp=14cdcdf7a7b1a74b586785edb010f09154db1dfe;hpb=695a1268e18d882f5a0ea1003909f55aecc7080d;p=openwrt%2Fopenwrt.git diff --git a/include/depends.mk b/include/depends.mk index 14cdcdf7a7..a858d4b033 100644 --- a/include/depends.mk +++ b/include/depends.mk @@ -1,9 +1,7 @@ -# -# Copyright (C) 2007 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. +# SPDX-License-Identifier: GPL-2.0-only # +# Copyright (C) 2007-2020 OpenWrt.org + # define a dependency on a subtree # parameters: # 1: directories/files @@ -11,15 +9,17 @@ # 3: tempfile for file listings # 4: find options -DEP_FINDPARAMS := -x "*/.svn*" -x ".*" -x "*:*" -x "*\!*" -x "* *" -x "*\\\#*" -x "*/.*_check" -x "*/.*.swp" +DEP_FINDPARAMS := -x "*/.svn*" -x ".*" -x "*:*" -x "*\!*" -x "* *" -x "*\\\#*" -x "*/.*_check" -x "*/.*.swp" -x "*/.pkgdir*" -find_md5=$(SH_FUNC) find $(1) -type f $(patsubst -x,-and -not -path,$(DEP_FINDPARAMS) $(2)) | md5s +find_md5=find $(wildcard $(1)) -type f $(patsubst -x,-and -not -path,$(DEP_FINDPARAMS) $(2)) -printf "%p%T@\n" | sort | $(MKHASH) md5 +find_md5_reproducible=find $(wildcard $(1)) -type f $(patsubst -x,-and -not -path,$(DEP_FINDPARAMS) $(2)) -print0 | xargs -0 $(MKHASH) md5 | sort | $(MKHASH) md5 define rdep .PRECIOUS: $(2) .SILENT: $(2)_check $(2): $(2)_check + check-depends: $(2)_check ifneq ($(wildcard $(2)),) $(2)_check:: @@ -28,7 +28,7 @@ ifneq ($(wildcard $(2)),) { [ \! -f "$(3)" ] || diff $(3) $(3).1 >/dev/null; } && \ ) \ { \ - [ -f "$(2)_check.1" ] && mv "$(2)_check.1"; \ + [ -f "$(2)_check.1" ] && mv "$(2)_check.1" "$(2)_check"; \ $(TOPDIR)/scripts/timestamp.pl $(DEP_FINDPARAMS) $(4) -n $(2) $(1) && { \ $(call debug_eval,$(SUBDIR),r,echo "No need to rebuild $(2)";) \ touch -r "$(2)" "$(2)_check"; \ @@ -46,3 +46,8 @@ endif endef +ifeq ($(filter .%,$(MAKECMDGOALS)),$(if $(MAKECMDGOALS),$(MAKECMDGOALS),x)) + define rdep + $(2): $(2)_check + endef +endif