calendar/libical/scripts/mkinclude.sh
author Brian O'Keefe <bokeefe@alum.wpi.edu>
Tue, 17 Mar 2015 12:53:48 -0400
changeset 29213 201e66c2d6a7ed6f3f4fcbf1dddabbaddffde349
parent 372 7c0bfdcda6731e77303f3c47b01736aaa93d5534
permissions -rw-r--r--
Bug 1138063 - Clean up a bunch of make rules that install things to FINAL_TARGET; r=jcranmer,fallen,florian

#!/bin/sh

#
# Given a list of headers, combine them into one, excluding certain lines
#
OUTFILE="/dev/stdout"
COMBINEDHEADERS=""
EXCLUDES=""

while [ $# -gt 0 ]
do
  case $1 in
      -o)  OUTFILE=$2; shift;;
      -e)  EXCLUDES="$EXCLUDES $2"; shift;;
      *)   COMBINEDHEADERS="$COMBINEDHEADERS $1";
  esac
  shift
done

echo '#ifdef __cplusplus'         > $OUTFILE
echo 'extern "C" {'               >> $OUTFILE
echo '#endif'                     >> $OUTFILE
echo '/*'                         >> $OUTFILE
echo " \$Id\$"                    >> $OUTFILE
echo '*/'                         >> $OUTFILE
cat $COMBINEDHEADERS              >> file.temp1
for exclude in $EXCLUDES
do
  cp file.temp1 file.temp2
  egrep -v "$exclude" file.temp2    > file.temp1
done
cat file.temp1 >> $OUTFILE
rm -f file.temp1
rm -f file.temp2
echo '#ifdef __cplusplus'         >> $OUTFILE
echo '};'                         >> $OUTFILE
echo '#endif'                     >> $OUTFILE