From f115b43387236e8169a0eeee369b1634339de56c Mon Sep 17 00:00:00 2001 From: "R. Steve McKown" Date: Tue, 11 Dec 2012 09:07:49 -0700 Subject: [PATCH] Add maketags utility maketags builds a tags file for a compilable TinyOS application --- tos-maketags | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100755 tos-maketags 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 -- 2.39.2