[PATCH 2/6] make: use wc -c instead of stat -c%s to get file sizes
Dirk Hörner
dirker at gmail.com
Mon Jun 4 16:40:15 EDT 2012
On OS X, stat does not know about %s. Solaris does not have stat. The
drawback to this wc -c solution is that wc reads all the bytes, but we are
only dealing with small files here, so that not be much of a problem.
Signed-off-by: Dirk Hörner <dirker at gmail.com>
---
Makefile | 2 +-
common/Makefile | 2 +-
scripts/Makefile.lib | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/Makefile b/Makefile
index bcaae0a..3ac8788 100644
--- a/Makefile
+++ b/Makefile
@@ -536,7 +536,7 @@ quiet_cmd_barebox_version = GEN .version
# Check size of a file
quiet_cmd_check_file_size = CHKSIZE $@
cmd_check_file_size = set -e; \
- size=`stat -c%s $@`; \
+ size=`wc -c < $@`; \
max_size=`printf "%d" $2`; \
if [ $$size -gt $$max_size ] ; \
then \
diff --git a/common/Makefile b/common/Makefile
index a58aef9..9c14d7b 100644
--- a/common/Makefile
+++ b/common/Makefile
@@ -77,7 +77,7 @@ barebox_default_env.lzo: barebox_default_env
include/generated/barebox_default_env.h: barebox_default_env$(barebox_default_env_comp)
$(Q)cat $< | $(objtree)/scripts/bin2c default_environment > $@
- $(Q)echo "const int default_environment_uncompress_size=`stat -c%s barebox_default_env`;" >> $@
+ $(Q)echo "const int default_environment_uncompress_size=`wc -c < barebox_default_env`;" >> $@
CLEAN_FILES += include/generated/barebox_default_env.h barebox_default_env
CLEAN_FILES += barebox_default_env.gz barebox_default_env.bz2
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index b842c48..9b02b1b 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -171,7 +171,7 @@ cmd_gzip = (cat $(filter-out FORCE,$^) | gzip -n -f -9 > $@) || \
size_append = printf $(shell \
dec_size=0; \
for F in $1; do \
- fsize=$$(stat -c "%s" $$F); \
+ fsize=$$(wc -c < $$F); \
dec_size=$$(expr $$dec_size + $$fsize); \
done; \
printf "%08x\n" $$dec_size | \
--
1.7.10.3
More information about the barebox
mailing list