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
#!/bin/sh name=$1; shift quote() { echo "$1" | sed 's/\\/\\\\/g; s/"/\\"/' } 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