[ifxmips]:
[openwrt/svn-archive/archive.git] / target / linux / ifxmips / extract.sh
index 52dfbd56ea5d98bf66d139437ab4a0513ca8b3d0..98e413e0b47926826d6df69e45be0a55d2676f0b 100755 (executable)
@@ -12,14 +12,16 @@ echo "Please only do so if it is legal in your country"
 }
 
 [ -f ${DIR}/ifxmips_fw_decodev2.tar.bz2 -a ! -f ${DIR}voip_coef.bin ] && {
-       [ ! -f ${DIR}decode_ifx_fw ] && {
+       [ ! -f ${DIR}decode_ifx_fw && -f ${DIR}ifxmips_fw_decodev2.tar.bz2 ] && {
                tar xjf ${DIR}ifxmips_fw_decodev2.tar.bz2 ifxmips_fw_decode/decode.c -O > ${DIR}decode.c
                gcc -o ${DIR}decode_ifx_fw ${DIR}decode.c
        }
-       [ ! -f ${DIR}voip_coef.lzma ] && {
-               ${DIR}decode_ifx_fw $FILE ${DIR}voip_coef.lzma
+       [ ! -f ${DIR}decode_ifx_fw ] && {
+               [ ! -f ${DIR}voip_coef.lzma ] && {
+                       ${DIR}decode_ifx_fw $FILE ${DIR}voip_coef.lzma
+               }
+               lzma d ${DIR}voip_coef.lzma ${DIR}voip_coef.bin
        }
-       lzma d ${DIR}voip_coef.lzma ${DIR}voip_coef.bin
 }
 [ ! -f ${DIR}dsl_a.bin ] && {
        dd if=${FILE} of=${DIR}dsl1.lzma bs=1 skip=2168832 count=150724