summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAhmad Fatoum <a.fatoum@pengutronix.de>2022-08-18 07:04:44 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2022-08-19 09:31:26 +0200
commit4b5b65fe21be09d5eb42ab822c72638a110b7c60 (patch)
tree4b1157bd39dd19ecccb9be12c471b0cce369106d
parent81f0511d0fde5ac917fb322f2ad2184b3b033eec (diff)
downloadbarebox-4b5b65fe21be09d5eb42ab822c72638a110b7c60.tar.gz
barebox-4b5b65fe21be09d5eb42ab822c72638a110b7c60.tar.xz
kbuild: make sha256sum command available generally
We currently use the command only for generation a SHA256 sum of the barebox proper binary. In preparation for using it in othe Makefiles as well, move it to a central location and use the occasion to give it a short comment. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20220818050447.2072932-1-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--images/Makefile7
-rw-r--r--scripts/Makefile.lib11
2 files changed, 11 insertions, 7 deletions
diff --git a/images/Makefile b/images/Makefile
index 7a8bb94fe0..218a24ff1d 100644
--- a/images/Makefile
+++ b/images/Makefile
@@ -112,13 +112,6 @@ $(obj)/piggy.o: $(obj)/barebox.z FORCE
$(obj)/sha_sum.o: $(obj)/barebox.sha.bin FORCE
-quiet_cmd_sha256bin ?= SHA-BIN $@
- cmd_sha256bin = printf "$(shell sed 's/ .*$$//;s/../0x&\n/g;s/\n$$//' $(obj)/barebox.sum | \
- while read -r byte; do printf '\%o' $$byte; done)" > $@
-
-quiet_cmd_sha256sum ?= SHA $@
- cmd_sha256sum ?= sha256sum $(obj)/barebox.z > $@
-
$(obj)/barebox.sha.bin: $(obj)/barebox.sum FORCE
$(call if_changed,sha256bin)
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index 46042dab3c..16308497b8 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -272,6 +272,17 @@ cmd_ld = $(LD) $(KBUILD_LDFLAGS) $(EXTRA_LDFLAGS) $(LDFLAGS_$(@F)) \
quiet_cmd_objcopy = OBJCOPY $@
cmd_objcopy = $(OBJCOPY) $(OBJCOPYFLAGS) $(OBJCOPYFLAGS_$(@F)) $< $@
+# Hashing
+# ---------------------------------------------------------------------------
+# POSIX printf (e.g. dash's) doesn't support \xHH, but octal sequences are fine
+
+quiet_cmd_sha256bin ?= SHA-BIN $@
+ cmd_sha256bin = printf "$(shell sed 's/ .*$$//;s/../0x&\n/g;s/\n$$//' $< | \
+ while read -r byte; do printf '\%o' $$byte; done)" > $@
+
+quiet_cmd_sha256sum ?= SHA $@
+ cmd_sha256sum ?= sha256sum $< > $@
+
# Decompressor for barebox proper binary when using PBL
# ---------------------------------------------------------------------------