ar71xx: fix mtdpartsize macro in image Makefile (#14961)
authorJo-Philipp Wich <jow@openwrt.org>
Thu, 13 Feb 2014 21:19:00 +0000 (21:19 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Thu, 13 Feb 2014 21:19:00 +0000 (21:19 +0000)
The mtdpartsize macro triggers shell errors on various Linux distributions
when the partname argument $(1) does not appear within the partmap $(2).

Change the sed pattern to only emit anything if a successful substitution
occured and only evaluate the arithmetic expression if something was printed
by the sed program.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 39583

target/linux/ar71xx/image/Makefile

index 1f181f4ce2aa1f8d410efc2782c67468c73fd85d..9076f22ff0876add85dce8d683749ff9d6ac0e9f 100644 (file)
@@ -36,7 +36,7 @@ $(if $(1),board=$(1) )$(if $(2),console=$(2)$(COMMA)$(3))
 endef
 
 define mtdpartsize
-$(shell echo $$((`echo '$(2)' | sed -e 's/.*[:$(COMMA)]\([0-9]*\)k[@]*[0-9a-zx]*($(1)).*/\1/'` * 1024)))
+$(shell sz=`echo '$(2)' | sed -ne 's/.*[:$(COMMA)]\([0-9]*\)k[@]*[0-9a-zx]*($(1)).*/\1/p'`; [ -n "$$sz" ] && echo $$(($$sz * 1024)))
 endef
 
 SINGLE_PROFILES:=