ar71xx: fix giving extra arguments to Build/mktplinkfw
authorJohn Crispin <[email protected]>
Thu, 21 Apr 2016 19:47:19 +0000 (19:47 +0000)
committerJohn Crispin <[email protected]>
Thu, 21 Apr 2016 19:47:19 +0000 (19:47 +0000)
The build command will always get the whole argument string in $(1),
regardless of whitespace. We need to use word/wordlist to split the string
after the first word.

Whitespace and quotation will be given to the command verbatim (make will
ignore it), so to give multiple arguments, no quotation marks may be used.

Fixes: r47174 ("ar71xx/image: add options argument to mktplinkfw step")
Signed-off-by: Matthias Schiffer <[email protected]>
SVN-Revision: 49216

target/linux/ar71xx/image/Makefile

index e4e2fcf4413684be89d336c0eba49273c195da16..2699b64878f48ae09dcc2ebb14122b92a34167bd 100644 (file)
@@ -49,14 +49,15 @@ endef
 # -X reserve <size> bytes in the firmware image (hexval prefixed with 0x)
 define Build/mktplinkfw
        -$(STAGING_DIR_HOST)/bin/mktplinkfw \
-               -H $(TPLINK_HWID) -W $(TPLINK_HWREV) -F $(TPLINK_FLASHLAYOUT) -N OpenWrt -V $(REVISION) $2 \
+               -H $(TPLINK_HWID) -W $(TPLINK_HWREV) -F $(TPLINK_FLASHLAYOUT) -N OpenWrt -V $(REVISION) \
                -m $(TPLINK_HEADER_VERSION) \
                -k $(word 1,$^) \
                -r $@ \
                -o [email protected] \
                -j -X 0x40000 \
                -a $(call rootfs_align,$(FILESYSTEM)) \
-               $(if $(findstring sysupgrade,$1),-s) && mv [email protected] $@ || rm -f $@
+               $(wordlist 2,$(words $(1)),$(1)) \
+               $(if $(findstring sysupgrade,$(word 1,$(1))),-s) && mv [email protected] $@ || rm -f $@
 endef
 
 # mktplinkfw-initramfs <optional extra arguments to mktplinkfw binary>
@@ -64,7 +65,7 @@ endef
 # -c combined image
 define Build/mktplinkfw-initramfs
        $(STAGING_DIR_HOST)/bin/mktplinkfw \
-               -H $(TPLINK_HWID) -W $(TPLINK_HWREV) -F $(TPLINK_FLASHLAYOUT) -N OpenWrt -V $(REVISION) $2 \
+               -H $(TPLINK_HWID) -W $(TPLINK_HWREV) -F $(TPLINK_FLASHLAYOUT) -N OpenWrt -V $(REVISION) $(1) \
                -m $(TPLINK_HEADER_VERSION) \
                -k $@ \
                -o [email protected] \
@@ -75,14 +76,14 @@ endef
 
 define Build/tplink-safeloader
        -$(STAGING_DIR_HOST)/bin/tplink-safeloader \
-               -B $(TPLINK_BOARD_NAME) \
-               -V $(REVISION) \
-               -k $(word 1,$^) \
-               -r $@ \
-               -o [email protected] \
-               $2 \
-               -j \
-               $(if $(findstring sysupgrade,$1),-S) && mv [email protected] $@ || rm -f $@
+               -B $(TPLINK_BOARD_NAME) \
+               -V $(REVISION) \
+               -k $(word 1,$^) \
+               -r $@ \
+               -o [email protected] \
+               -j \
+               $(wordlist 2,$(words $(1)),$(1)) \
+               $(if $(findstring sysupgrade,$(word 1,$(1))),-S) && mv [email protected] $@ || rm -f $@
 endef
 
 define Build/loader-common
@@ -967,8 +968,8 @@ define Device/tl-wr2543-v1
     BOARDNAME := TL-WR2543N
     DEVICE_PROFILE := TLWR2543
     TPLINK_HWID := 0x25430001
-    IMAGE/sysupgrade.bin := append-rootfs | mktplinkfw sysupgrade "-v 3.13.99"
-    IMAGE/factory.bin := append-rootfs | mktplinkfw factory "-v 3.13.99"
+    IMAGE/sysupgrade.bin := append-rootfs | mktplinkfw sysupgrade -v 3.13.99
+    IMAGE/factory.bin := append-rootfs | mktplinkfw factory -v 3.13.99
 endef
 TARGET_DEVICES += tl-wr2543-v1