X-Git-Url: https://oss.titaniummirror.com/gitweb?a=blobdiff_plain;f=tos-maketags;fp=tos-maketags;h=1ee9653484c06402c1cb9e8368f02aaee8c4e6d2;hb=f115b43387236e8169a0eeee369b1634339de56c;hp=0000000000000000000000000000000000000000;hpb=31d488d9406bc02551b25a379c5ec51ccd16dbc3;p=tinyos-utils.git diff --git a/tos-maketags b/tos-maketags new file mode 100755 index 0000000..1ee9653 --- /dev/null +++ b/tos-maketags @@ -0,0 +1,28 @@ +#!/bin/bash +# +# Build ctags for a TinyOS application. The application must compile cleanly, +# as output from the build is used to determine what source files to process. +# +# usage: maketags +# +# R. Steve McKown + +cleanup() +{ + rm -f ctags.tmpm ctags.tmp[12] ctags.files +} + +trap cleanup EXIT + +if [ -z "$1" ]; then + echo "usage: $0 " >&2 + exit 1 +fi + +appc=build/$1/app.c +CFLAGS=-v make "$1" >ctags.tmpm 2>&1 +[ $? -ne 0 -o ! -f $appc ] && echo "$0: can't compile $1" >&2 && exit 1 +grep "preprocessing" < ctags.tmpm | sed -e 's|^preprocessing ||' > ctags.tmp1 +grep "^# [0-9]* " $appc | awk -F\" '{ print $2 }' | sort -u > ctags.tmp2 +cat ctags.tmp[12] | sort -u > ctags.files +ctags -I nx_struct=struct -L ctags.files