wireshark/make-tapreg-dotc
Guy Harris 8442ad9a32 From Ronnie Sahlberg: have a registration interface for tap listeners,
and generate the table of stuff to register from tap source files, so
Tethereal doesn't need to know what tap listeners exist.

Get rid of "tap-xxx.h" files, as they're now empty.

Add "tethereal-tap-register.c" to the .cvsignore file, as it's a new
generated file.

Update "Makefile.nmake" to generate "tethereal-tap-register.c".

Clean up "Makefile.am" and "Makefile.nmake" a bit.

svn path=/trunk/; revision=6525
2002-10-31 22:16:01 +00:00

43 lines
882 B
Bash
Executable file

#! /bin/sh
#
# The first argument is the output filename.
#
outfile="$1"
shift
#
# The second argument is the directory in which the source files live.
#
srcdir="$1"
shift
#
# All subsequent arguments are the files to scan.
#
rm -f ${outfile}-tmp
echo '/* Do not modify this file. */' >${outfile}-tmp
echo '/* It is created automatically by the Makefile. */'>>${outfile}-tmp
#
# Build code to call all the tap listener registration routines.
#
echo 'void register_all_tap_listeners(void) {' >>${outfile}-tmp
for f in "$@"
do
if [ -f $f ]
then
srcfile=$f
else
srcfile=$srcdir/$f
fi
grep '^register_tap_listener_[a-z_0-9A-Z]* *(' $srcfile 2>/dev/null | grep -v ';' | sed -e 's/(.*//'
done | while read func; do
echo " { extern void $func (void);" >>${outfile}-tmp
echo " $func ();}" >>${outfile}-tmp
done
echo '}' >>${outfile}-tmp
mv ${outfile}-tmp ${outfile}