diff options
author | Stefano Lattarini <stefano.lattarini@gmail.com> | 2012-10-26 12:52:35 +0200 |
---|---|---|
committer | Stefano Lattarini <stefano.lattarini@gmail.com> | 2012-10-26 14:22:27 +0200 |
commit | 926ab5b475fe77960a81ea608ea1948dc7d3b4b6 (patch) | |
tree | f964a7290e3b1e4d3071aa01e3a07ecc8051842c /t/remake-makefile-vpath.sh | |
parent | 83caec4ed340657634fff930f45d2c9e4d60007c (diff) | |
download | automake-926ab5b475fe77960a81ea608ea1948dc7d3b4b6.tar.gz |
tests: rename some test to more expressive names
* t/remake.sh: Rename ...
* t/remake-subdir-grepping.sh: ... like this.
* t/remake8a.sh: Rename ...
* t/remake-makefile-intree.sh: ... like this, and adjust comments.
* t/remake8b.sh: Rename ...
* t/remake-makefile-vpath.sh: ... like this, and adjust comments.
* t/remake9a.sh: Rename ...
* t/remake-after-configure-ac.sh: ... like this, and adjust comments.
* t/remake9b.sh: Rename ...
* t/remake-after-makefile-am.sh: ... like this, and adjust comments.
* t/remake9c.sh: Rename ...
* t/remake-after-acinclude-m4.sh: ... like this, and adjust comments.
* t/remake9d.sh: Rename ...
* t/remake-after-aclocal-m4.sh: ... like this, and adjust comments.
* t/remake10a.sh: Rename ...
* t/remake-include-configure.sh: ... like this, and adjust comments.
* t/remake10b.sh: Rename ...
* t/remake-include-makefile.sh: ... like this, and adjust comments.
* t/remake10c.sh: Rename ...
* t/remake-include-aclocal.sh: ... like this, and adjust comments.
* t/list-of-tests.mk: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Diffstat (limited to 't/remake-makefile-vpath.sh')
-rwxr-xr-x | t/remake-makefile-vpath.sh | 192 |
1 files changed, 192 insertions, 0 deletions
diff --git a/t/remake-makefile-vpath.sh b/t/remake-makefile-vpath.sh new file mode 100755 index 000000000..7e37fe856 --- /dev/null +++ b/t/remake-makefile-vpath.sh @@ -0,0 +1,192 @@ +#! /bin/sh +# Copyright (C) 2010-2012 Free Software Foundation, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +# Test basic remake rules for Makefiles, for a *VPATH build*. +# This testcase checks dependency of generated Makefile from Makefile.am, +# configure.ac, acinclude.m4, aclocal.m4, and extra m4 files considered +# by aclocal. +# Keep this in sync with sister test 'remake-makefile-instree.sh', which +# performs the same checks for a in-tree build. + +. ./defs || exit 1 + +mv -f configure.ac configure.stub + +cat > Makefile.am <<'END' +all-local: foo +foo: + echo '!Foo!' >$@ +check-local: + cat foo + grep '!Foo!' foo +CLEANFILES = foo +END + +cat configure.stub - > configure.ac <<'END' +AC_OUTPUT +END + +$ACLOCAL +$AUTOCONF +$AUTOMAKE + +mkdir build +cd build +srcdir='..' # To make syncing with remake-makefile-intree.sh easier. + +$srcdir/configure + +$MAKE +cat foo +grep '!Foo!' foo +$MAKE distcheck + +rm -f foo + +# Modify just Makefile.am. + +$sleep + +cat > $srcdir/Makefile.am <<'END' +all-local: bar +bar: + echo '!Baz!' >$@ +check-local: + cat bar + grep '!Baz!' bar + test ! -r $(srcdir)/foo + test ! -r foo +CLEANFILES = bar +END + +using_gmake || $MAKE Makefile +$MAKE +cat bar +grep '!Baz!' bar +test ! -e foo +$MAKE distcheck + +rm -f bar + +# Modify Makefile.am and configure.ac. + +$sleep + +cat > $srcdir/Makefile.am <<'END' +check-local: + cat quux + grep '!Zardoz!' quux + test ! -r $(srcdir)/bar + test ! -r bar +END + +cat $srcdir/configure.stub - > $srcdir/configure.ac <<'END' +AC_CONFIG_FILES([quux]) +AC_SUBST([QUUX], [Zardoz]) +AC_OUTPUT +END + +cat > $srcdir/quux.in <<'END' +!@QUUX@! +END + +using_gmake || $MAKE Makefile +$MAKE +cat quux +grep '!Zardoz!' quux +test ! -e bar +$MAKE distcheck + +rm -f quux + +# Modify Makefile.am to add a directory of extra m4 files +# considered by aclocal. + +$sleep + +mkdir $srcdir/m4 + +cat > $srcdir/Makefile.am <<'END' +ACLOCAL_AMFLAGS = -I m4 +check-local: + cat quux + grep '%Foo%' quux + test x'$(QUUX)' = x'%Foo%' +END + +$MAKE # This should place aclocal flags in Makefile. +grep '.*-I m4' Makefile # Sanity check. + +# Modify configure.ac and aclocal.m4. + +$sleep + +cat $srcdir/configure.stub - > $srcdir/configure.ac <<'END' +AC_CONFIG_FILES([quux]) +MY_CUSTOM_MACRO +AC_OUTPUT +END + +cat >> $srcdir/aclocal.m4 <<'END' +AC_DEFUN([MY_CUSTOM_MACRO], [AC_SUBST([QUUX], [%Foo%])]) +END + +$MAKE +cat quux +grep '%Foo%' quux +$MAKE distcheck + +# Modify Makefile.am, remove aclocal.m4, and add a new m4 file to +# the directory of extra m4 files considered by aclocal. This new +# file should now provide a macro required by configure.ac and that +# was previously provided by aclocal.m4. + +$sleep + +sed 's/%Foo%/%Bar%/g' $srcdir/Makefile.am > t +mv -f t $srcdir/Makefile.am +cat $srcdir/Makefile.am +rm -f $srcdir/aclocal.m4 +cat > $srcdir/m4/blah.m4 <<'END' +AC_DEFUN([MY_CUSTOM_MACRO], [AC_SUBST([QUUX], [%Bar%])]) +END + +$MAKE +cat quux +grep '%Bar%' quux +$MAKE distcheck + +# Modify Makefile.am, remove all the extra m4 files to considered +# by aclocal, and add an acinclude.m4 file. This last file should +# now provide a macro required by configure.ac, and that was +# previously provided by the extra m4 files considered by aclocal. + +$sleep + +rm -f $srcdir/m4/*.m4 +sed 's/%Bar%/%Quux%/g' $srcdir/Makefile.am > t +mv -f t $srcdir/Makefile.am +cat $srcdir/Makefile.am +cat > $srcdir/acinclude.m4 <<'END' +AC_DEFUN([MY_CUSTOM_MACRO], [AC_SUBST([QUUX], [%Quux%])]) +END + +$MAKE +cat quux +grep '%Quux%' quux +$MAKE distcheck + +: |