| #!/bin/sh | |
| target="$1" | |
| loc="$2" | |
| test "$target" || exit 1 | |
| test "$loc" || loc=. | |
| test -x "$loc/usage" || exit 1 | |
| test "$SED" || SED=sed | |
| test "$DD" || DD=dd | |
| # Some people were bitten by their system lacking a (proper) od | |
| od -v -t x1 </dev/null >/dev/null | |
| if test $? != 0; then | |
| echo 'od tool is not installed or cannot accept "-v -t x1" options' | |
| exit 1 | |
| fi | |
| exec >"$target.$$" | |
| echo '#define UNPACKED_USAGE "" \' | |
| "$loc/usage" | od -v -t x1 \ | |
| | $SED -e 's/^[^ ]*//' \ | |
| -e 's/ //g' \ | |
| -e '/^$/d' \ | |
| -e 's/\(..\)/\\x\1/g' \ | |
| -e 's/^/"/' \ | |
| -e 's/$/" \\/' | |
| echo '' | |
| echo '#define PACKED_USAGE \' | |
| ## Breaks on big-endian systems! | |
| ## # Extra effort to avoid using "od -t x1": -t is not available | |
| ## # in non-CONFIG_DESKTOPed busybox od | |
| ## | |
| ## "$loc/usage" | bzip2 -1 | od -v -x \ | |
| ## | $SED -e 's/^[^ ]*//' \ | |
| ## -e 's/ //g' \ | |
| ## -e '/^$/d' \ | |
| ## -e 's/\(..\)\(..\)/0x\2,0x\1,/g' | |
| ## -e 's/$/ \\/' | |
| "$loc/usage" | bzip2 -1 | $DD bs=2 skip=1 2>/dev/null | od -v -t x1 \ | |
| | $SED -e 's/^[^ ]*//' \ | |
| -e 's/ //g' \ | |
| -e '/^$/d' \ | |
| -e 's/\(..\)/0x\1,/g' \ | |
| -e 's/$/ \\/' | |
| echo '' | |
| mv -- "$target.$$" "$target" |