summaryrefslogtreecommitdiff
path: root/build-aux/Makefile.once.head/10-write-ifchanged.mk
diff options
context:
space:
mode:
Diffstat (limited to 'build-aux/Makefile.once.head/10-write-ifchanged.mk')
-rw-r--r--build-aux/Makefile.once.head/10-write-ifchanged.mk18
1 files changed, 18 insertions, 0 deletions
diff --git a/build-aux/Makefile.once.head/10-write-ifchanged.mk b/build-aux/Makefile.once.head/10-write-ifchanged.mk
index b0a5ac4..5abb3ce 100644
--- a/build-aux/Makefile.once.head/10-write-ifchanged.mk
+++ b/build-aux/Makefile.once.head/10-write-ifchanged.mk
@@ -1,4 +1,22 @@
mod.write-ifchanged.description = `write-ifchanged` auxiliary build script
mod.write-ifchanged.files += $(topsrcdir)/build-aux/write-ifchanged
+define mod.write-ifchanged.doc
+# User variables:
+# - `WRITE_IFCHANGED ?= $(topsrcdir)/build-aux/write-ifchanged`
+# Inputs:
+# (none)
+# Outputs:
+# (none)
+#
+# The $(WRITE_IFCHANGED) program reads a file from stdin, and writes it to the
+# file named in argv[1], but does so atomically, but more importantly, does so
+# in a way that does not bump the file's ctime if the new content is the same
+# as the old content.
+#
+# That is, the following lines are almost equivalient:
+#
+# ... > $@
+# ... | $(WRITE_ATOMIC) $@
+endef
WRITE_IFCHANGED ?= $(topsrcdir)/build-aux/write-ifchanged