#!/bin/sh set -e check="lib/libc/gen/uexterr_format.c" target="lib/libc/gen/exterr_cat_filenames.h" if [ \! -f "${check}" ] ; then echo "Script must be run from the top of the full source tree" exit 1 fi echo "/*" >"${target}" printf " * Automatically %sgenerated, use\\n" \@ >>"${target}" echo " * tools/build/make_libc_exterr_cat_filenames.sh" >>"${target}" echo " */" >>"${target}" (find -s sys -type f -name '*.c' | \ xargs grep -E '^#define[[:space:]]+EXTERR_CATEGORY[[:space:]]+EXTERR_CAT_' | \ sed -E 's/[[:space:]]+/:/g' | \ awk -F ':' '{filename = $1; sub(/^sys\//, "", filename); printf("\t[%s] = \"%s\",\n", $4, filename)}') \ >>"${target}"