summaryrefslogtreecommitdiffstats
path: root/scripts/lib/ptxd_lib_dgen.awk
diff options
context:
space:
mode:
authorMichael Olbrich <m.olbrich@pengutronix.de>2019-05-31 10:53:42 +0200
committerMichael Olbrich <m.olbrich@pengutronix.de>2019-06-04 21:09:59 +0200
commitc98e2ba9594cd07257fa6dc648b3ab8e5b4df1cb (patch)
treea78a6bc7c9a5d361e182a08c8c0fd87920515d41 /scripts/lib/ptxd_lib_dgen.awk
parentf5aee262159f9b4b1eb3f8f9bf4f457afaab30be (diff)
downloadptxdist-c98e2ba9594cd07257fa6dc648b3ab8e5b4df1cb.tar.gz
ptxdist-c98e2ba9594cd07257fa6dc648b3ab8e5b4df1cb.tar.xz
detect patch changes and reextract when needed
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
Diffstat (limited to 'scripts/lib/ptxd_lib_dgen.awk')
-rw-r--r--scripts/lib/ptxd_lib_dgen.awk15
1 files changed, 15 insertions, 0 deletions
diff --git a/scripts/lib/ptxd_lib_dgen.awk b/scripts/lib/ptxd_lib_dgen.awk
index 645064f83..2c10aca6f 100644
--- a/scripts/lib/ptxd_lib_dgen.awk
+++ b/scripts/lib/ptxd_lib_dgen.awk
@@ -342,6 +342,15 @@ function write_deps_pkg_all(this_PKG, this_pkg) {
}
function write_deps_pkg_active_cfghash(this_PKG, this_pkg) {
+ print "ifneq ($(" this_PKG "),)" > DGEN_DEPS_POST;
+ print this_PKG "_PATCHES := $(call ptx/in-path,PTXDIST_PATH_PATCHES,$(" this_PKG "))" > DGEN_DEPS_POST;
+ print "ifneq ($(wildcard $(" this_PKG "_PATCHES)),)" > DGEN_DEPS_POST;
+ print "ifeq ($(wildcard " PTXDIST_TEMPDIR "/pkghash-" this_PKG ".done),)" > DGEN_DEPS_POST;
+ print "$(call ptx/force-sh, find '$(" this_PKG "_PATCHES)' -type f ! -name '.*' | sort | xargs cat | tee " \
+ PTXDIST_TEMPDIR "/pkghash-" this_PKG "_EXTRACT >> " PTXDIST_TEMPDIR "/pkghash-" this_PKG ")" > DGEN_DEPS_POST;
+ print "endif" > DGEN_DEPS_POST;
+ print "endif" > DGEN_DEPS_POST;
+ print "endif" > DGEN_DEPS_POST;
print "ifneq ($(filter /%,$(" this_PKG "_CONFIG)),)" > DGEN_DEPS_POST;
print "ifneq ($(wildcard $(" this_PKG "_CONFIG)),)" > DGEN_DEPS_POST;
print "ifeq ($(wildcard " PTXDIST_TEMPDIR "/pkghash-" this_PKG ".done),)" > DGEN_DEPS_POST;
@@ -372,6 +381,12 @@ function write_deps_pkg_active(this_PKG, this_pkg, prefix) {
print "endif" > DGEN_DEPS_POST;
print "$(foreach src,$(" this_PKG "_SOURCES)," \
"$(eval $(STATEDIR)/" this_pkg ".get:" "$(STATEDIR)/" this_pkg ".$(notdir $(src)).stamp))" > DGEN_DEPS_POST;
+ if (DIRTY != "true") {
+ print "ifneq ($(" this_PKG "_EXTRACT_CFGHASH),)" > DGEN_DEPS_POST;
+ print "$(STATEDIR)/" this_pkg ".extract: " \
+ "$(STATEDIR)/" this_pkg ".$(" this_PKG "_EXTRACT_CFGHASH).srchash" > DGEN_DEPS_POST;
+ print "endif" > DGEN_DEPS_POST;
+ }
print "$(STATEDIR)/" this_pkg ".extract: " "$(STATEDIR)/" this_pkg ".get" > DGEN_DEPS_POST;
print "$(STATEDIR)/" this_pkg ".extract.post: " "$(STATEDIR)/" this_pkg ".extract" > DGEN_DEPS_POST;
print "$(STATEDIR)/" this_pkg ".prepare: " "$(STATEDIR)/" this_pkg ".extract.post" > DGEN_DEPS_POST;