ar71xx: fix mtdpartsize macro in image Makefile (#14961)
authorjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Thu, 13 Feb 2014 21:19:00 +0000 (21:19 +0000)
committerjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39583 3c298f89-4303-0410-b956-a3cf2f4a3e73

target/linux/ar71xx/image/Makefile

index 1f181f4..9076f22 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:=