From: R. Steve McKown Date: Tue, 11 Dec 2012 16:07:49 +0000 (-0700) Subject: Add maketags utility X-Git-Url: https://oss.titaniummirror.com/gitweb?p=tinyos-utils.git;a=commitdiff_plain;h=f115b43387236e8169a0eeee369b1634339de56c Add maketags utility maketags builds a tags file for a compilable TinyOS application --- 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