Makefile: use shell to calculate map_size

The error message "bc: command not found" is easily missed since the
build continues.
bc is not a part of coreutils or base-devel. POSIX sh can also do the
calculation.

Signed-off-by: Leon M. Busch-George <leon@georgemail.eu>
Reviewed-by: Dragan Simic <dsimic@manjaro.org>
This commit is contained in:
Leon M. Busch-George 2024-03-10 22:53:52 +01:00 committed by Tom Rini
parent 95167db37c
commit 0c8b1b29c6

View file

@ -1302,10 +1302,15 @@ OBJCOPYFLAGS_u-boot-nodtb.bin := -O binary \
binary_size_check: u-boot-nodtb.bin FORCE binary_size_check: u-boot-nodtb.bin FORCE
@file_size=$(shell wc -c u-boot-nodtb.bin | awk '{ print $$1 }') ; \ @file_size=$(shell wc -c u-boot-nodtb.bin | awk '{ print $$1 }') ; \
map_size=$(shell cat u-boot.map | \ map_size=$(shell cat u-boot.map | \
awk '/_image_copy_start/ {start = $$1} /_image_binary_end/ {end = $$1} END {if (start != "" && end != "") print "ibase=16; " toupper(end) " - " toupper(start)}' \ awk ' \
| sed 's/0X//g' \ /_image_copy_start/ { start = $$1 } \
| bc); \ /_image_binary_end/ { end = $$1 } \
if [ "" != "$$map_size" ]; then \ END { \
if (start != "" && end != "") \
print end " " start; \
}' \
| sh -c 'read end start && echo $$((end - start))'); \
if [ -n "$$map_size" ]; then \
if test $$map_size -ne $$file_size; then \ if test $$map_size -ne $$file_size; then \
echo "u-boot.map shows a binary size of $$map_size" >&2 ; \ echo "u-boot.map shows a binary size of $$map_size" >&2 ; \
echo " but u-boot-nodtb.bin shows $$file_size" >&2 ; \ echo " but u-boot-nodtb.bin shows $$file_size" >&2 ; \