makeset.sh 471 B

123456789101112131415161718
  1. #! /bin/sh
  2. echo "/* Generated by $0 */"
  3. needcomma=0
  4. while read -r line; do
  5. [ -z "${line%%#*}" ] && continue # skip comments
  6. if [ -n "${line}" -a -z "${line%%:*}" ]; then
  7. [ ${needcomma} -eq 1 ] && printf "\"\n\n"
  8. type="${line#:}"
  9. [ "${type}" = "end" ] && break
  10. printf "#define DEFAULT_%s \"%c\n" $(echo "${type}" | tr '[:lower:]' '[:upper:]') '\'
  11. needcomma=0
  12. else
  13. [ ${needcomma} -eq 1 ] && printf ",%c\n" '\'
  14. printf "%s" "${line}"
  15. needcomma=1
  16. fi
  17. done