1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
#!/bin/sh name=$1; shift quote () { echo "$1" | sed 's/\\/\\\\/g; s/"/\\"/g' } cat <<-EOF #ifndef ${name}_H #define ${name}_H static const char *MAKE_${name}[] = { EOF for i in $(cat) do printf '\t"%s",\n' "$(quote "$i")" done cat <<EOF NULL }; #endif /* ${name}_H */ EOF