#!/bin/bash set -eu if [[ -z ${1+x} || -z ${2+x} ]]; then echo "usage: cat | ./bin2c.sh " exit 1 fi name=$(sed -e 's/[^A-z0-9_]/_/g' <<< "$1") hpath="$2.h" cpath="$2.c" data=$(cat - | xxd -i) size=$(wc -w <<< "$data") echo "const char $name[$size] = {$data};" > $cpath echo "extern const char $name[$size];" > $hpath