test: protect more yacc declarations against C vs. C++ linkage.
[automake.git] / t / remake-subdir-no-makefile.sh
blob46007b0d06f6968b1f1410f98aacf0861de8eb38
1 #! /bin/sh
2 # Copyright (C) 2010-2024 Free Software Foundation, Inc.
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation; either version 2, or (at your option)
7 # any later version.
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
14 # You should have received a copy of the GNU General Public License
15 # along with this program. If not, see <https://www.gnu.org/licenses/>.
17 # Ensure that remake rules work for files in a subdirectory even when
18 # there is no Makefile for that subdirectory.
20 . test-init.sh
22 cat >> configure.ac << 'END'
23 AC_CONFIG_FILES([sub/foo])
24 AC_OUTPUT
25 END
27 cat > Makefile.am <<'END'
28 all-local: sub/foo
29 END
31 mkdir sub
32 : > sub/foo.in
34 $ACLOCAL
35 $AUTOCONF
36 $AUTOMAKE
38 # First a VPATH build.
39 mkdir build
40 cd build
41 ../configure
42 $sleep
43 test -f sub/foo
44 test ! -s sub/foo
45 echo '#GrepMe#' > ../sub/foo.in
46 $MAKE
47 grep '#GrepMe#' sub/foo
49 cd ..
51 # Now try an in-tree build.
52 : > sub/foo.in # Restore its original (empty) content.
53 ./configure
54 $sleep
55 test -f sub/foo
56 test ! -s sub/foo
57 echo '#GrepMe#' > sub/foo.in
58 $MAKE
59 grep '#GrepMe#' sub/foo
61 # Finally try to check the distribution.
62 $sleep
63 echo '%GrepMe%' > sub/foo.in
64 cat >>Makefile.am <<END
65 check-local:
66 grep '%GrepMe%' sub/foo
67 END
68 $MAKE
69 grep "grep '%GrepMe%' sub/foo" Makefile.in # Sanity check.
70 $MAKE distcheck