diff options
| author | Jakob Kaivo <jkk@ung.org> | 2019-02-09 09:12:59 -0500 |
|---|---|---|
| committer | Jakob Kaivo <jkk@ung.org> | 2019-02-09 09:12:59 -0500 |
| commit | 20aa5d18ea72b2954f96bcb3476fe6445c6a9942 (patch) | |
| tree | c33e1e03244d6ec14a0c6eb18e807218a2e0c962 | |
| parent | 43485a56ebe27a8b2e2a61cf8e3e30d434ad1da2 (diff) | |
fix include guards and versioning against multiple standards
| -rwxr-xr-x | mkh.sh | 14 |
1 files changed, 9 insertions, 5 deletions
@@ -1,13 +1,17 @@ #!/bin/sh -. $(dirname $0)/mk.sh +TOPDIR=$(dirname $0) +if [ -z "${INCDIR}" ]; then + INCDIR="${TOPDIR}/include" +fi +. "${TOPDIR}/mk.sh" export LC_ALL=POSIX export LANG=POSIX HEADER=$1 -GUARD=__$(echo $HEADER | tr a-z/. A-Z__)__ +HEADERNAME=$(echo $HEADER | sed -e "s#^${INCDIR}/*##") +GUARD=__$(echo $HEADERNAME | tr a-z/. A-Z__)__ mkdir -p $(dirname $HEADER) -shift exec > $HEADER if [ $(basename $HEADER) != assert.h ]; then @@ -36,10 +40,10 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. EOF rm -rf $HEADER.* -for i in $(echo $@ | sort -u); do +for i in $(grep -l "#include <$HEADERNAME>" $(cat "${TOPDIR}/.deps/all.c" "${TOPDIR}/.deps/all.ref") | sort -u); do # TODO: refs type=$(classify_source $i) - version=v$(grep -F -e 'STDC(' -e 'POSIX(' -e 'XOPEN(' $i | sed -e 's/STDC/C/' | sort | tr , - | tr -d '() ') + version=v$(grep -F -e 'STDC(' -e 'POSIX(' -e 'XOPEN(' $i | sed -e 's/STDC/C/' | sort | tr , - | tr -d '() \n') mkdir -p $HEADER.$type echo $i >> $HEADER.$type/$version printf '%s <%s> (%s)\n' "$i" "$HEADER" "$version" >&2 |
