blob: 117448e58f37314c595f2c5e35ebfc77419616dc (
plain) (
tree)
|
|
#!/bin/sh
#
# helps bootstrapping, when checked out from CVS
# requires GNU autoconf and GNU automake
#
# $Id$
progname=`basename $0`
top_srcdir=`dirname $0`
verbose="";
quiet="false"
mode="generate"
usage()
{
echo
echo "usage: ${progname} [-h|-q|-v]"
echo
echo "options:"
echo " -h .. display this message and exit";
echo " -q .. quiet, don't display directories";
echo " -v .. verbose, pass -v to automake when invoking automake"
echo " -c .. clean, remove all aclocal/autoconf/automake generated files"
echo
exit 1;
}
generate()
{
dir=$1
amopts=$2
aclocal_amflags=$3
( test "$quiet" = "true" || echo "$dir";
cd $dir;
aclocal $aclocal_amflags
autoconf
test -n "`grep CONFIG_HEADER configure.in`" && autoheader ;
test -f Makefile.am && automake $amopts ;
test -f Makefile.am && test -n "`grep 'stamp-h\.in' Makefile.in`" \
&& echo timestamp > stamp-h.in
)
}
while test $# -gt 0; do
case $1 in
-h|--he|--hel|--help)
usage ;;
-q|--qu|--qui|--quie|--quiet)
quiet="true";
shift;;
-v|--ve|--ver|--verb|--verbo|--verbos|--verbose)
verbose="-v";
shift;;
-c|--cl|--cle|--clea|--clean)
mode="clean";
shift;;
-*) echo "unknown option $1" ;
usage ;;
*) echo "invalid parameter $1" ;
usage ;;
esac
done
case $mode in
generate)
case $top_srcdir in
/* ) aclocal_dir=$top_srcdir/aclocal
;;
*) aclocal_dir=`pwd`/$top_srcdir/aclocal
;;
esac
if test -d $aclocal_dir; then
aclocal_amflags="-I $aclocal_dir"
fi
confs=`find . -name 'configure.in' -print | sort`
for i in $confs; do
dir=`dirname $i`;
generate $dir "-a $verbose" "$aclocal_amflags";
done
;;
clean)
test "$quiet" = "$true" || echo "removing automake support files"
find . -name 'config.guess' -print | xargs rm -f
find . -name 'config.sub' -print | xargs rm -f
find . -name 'install-sh' -print | xargs rm -f
find . -name 'missing' -print | xargs rm -f
find . -name 'mkinstalldirs' -print | xargs rm -f
find . -name 'mdate-sh' -print | xargs rm -f
test "$quiet" = "true" || echo "removing automake generated Makefile.in files"
files=`find . -name 'Makefile.am' -print | sed -e 's%\.am%\.in%g'` ;
for i in $files; do if test -f $i; then
rm -f $i
test "$verbose" = "-v" && echo "$i"
fi; done
test "$quiet" = "true" || echo "removing configure files"
files=`find . -name 'configure' -print` ;
test "$verbose" = "-v" && test -n "$files" && echo "$files" ;
for i in $files; do if test -f $i; then
rm -f $i
test "$verbose" = "-v" && echo "$i"
fi; done
test "$quiet" = "true" || echo "removing aclocal.m4 files"
files=`find . -name 'aclocal.m4' -print` ;
test "$verbose" = "-v" && test -n "$files" && echo "$files" ;
for i in $files; do if test -f $i; then
rm -f $i
test "$verbose" = "-v" && echo "$i"
fi; done
find . -name '*~' -print | xargs rm -f
find . -name '*.orig' -print | xargs rm -f
find . -name '*.rej' -print | xargs rm -f
find . -name 'config.status' -print | xargs rm -f
find . -name 'config.log' -print | xargs rm -f
find . -name 'config.cache' -print | xargs rm -f
find . -name 'Makefile' -print | xargs rm -f
find . -name '.deps' -print | xargs rm -rf
find . -name '.libs' -print | xargs rm -rf
find . -name 'stamp-h.in' | xargs rm -rf
;;
esac
|