1*3ef25acfSKonstantin Belousov#!/bin/sh 2*3ef25acfSKonstantin Belousovset -e 3*3ef25acfSKonstantin Belousov 4*3ef25acfSKonstantin Belousovcheck="lib/libc/gen/uexterr_format.c" 5*3ef25acfSKonstantin Belousovtarget="lib/libc/gen/exterr_cat_filenames.h" 6*3ef25acfSKonstantin Belousov 7*3ef25acfSKonstantin Belousovif [ \! -f "${check}" ] ; then 8*3ef25acfSKonstantin Belousov echo "Script must be run from the top of the full source tree" 9*3ef25acfSKonstantin Belousov exit 1 10*3ef25acfSKonstantin Belousovfi 11*3ef25acfSKonstantin Belousov 12*3ef25acfSKonstantin Belousovecho "/*" >"${target}" 13*3ef25acfSKonstantin Belousovprintf " * Automatically %sgenerated, use\\n" \@ >>"${target}" 14*3ef25acfSKonstantin Belousovecho " * tools/build/make_libc_exterr_cat_filenames.sh" >>"${target}" 15*3ef25acfSKonstantin Belousovecho " */" >>"${target}" 16*3ef25acfSKonstantin Belousov 17*3ef25acfSKonstantin Belousov(find sys -type f -name '*.c' | \ 18*3ef25acfSKonstantin Belousov xargs grep -E '^#define[[:space:]]+EXTERR_CATEGORY[[:space:]]+EXTERR_CAT_' | \ 19*3ef25acfSKonstantin Belousov sed -E 's/[[:space:]]+/:/g' | \ 20*3ef25acfSKonstantin Belousov awk -F ':' '{filename = $1; sub(/^sys\//, "", filename); 21*3ef25acfSKonstantin Belousov printf("\t[%s] = \"%s\",\n", $4, filename)}') \ 22*3ef25acfSKonstantin Belousov >>"${target}" 23