Append $(EXEEXT) to programs that may be listed in TESTS.
[automake.git] / tests / yacc5.test
blob5038886d59d6e4d718426477b71fddea1277514e
1 #! /bin/sh
2 # Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
4 # This file is part of GNU Automake.
6 # GNU Automake is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 2, or (at your option)
9 # any later version.
11 # GNU Automake is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with Automake; see the file COPYING. If not, write to
18 # the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
19 # Boston, MA 02110-1301, USA.
21 # Test of yacc functionality, derived from GNU binutils
22 # by Tim Van Holder.
24 . ./defs || exit 1
26 set -e
28 cat > configure.in << 'END'
29 AC_INIT
30 AM_INIT_AUTOMAKE(nonesuch, nonesuch)
31 AC_PROG_CC
32 AM_PROG_CC_C_O
33 AC_PROG_YACC
34 AC_OUTPUT(Makefile)
35 END
37 cat > Makefile.am << 'END'
38 bin_PROGRAMS = maude
39 maude_SOURCES = sub/maude.y
40 END
42 mkdir sub
44 : > sub/maude.y
46 $ACLOCAL
47 $AUTOMAKE -a
49 grep '^maude\.c:' Makefile.in
52 ## Try again with subdir-objects.
54 cat > Makefile.am << 'END'
55 AUTOMAKE_OPTIONS = subdir-objects
56 bin_PROGRAMS = maude
57 maude_SOURCES = sub/maude.y
58 END
60 $ACLOCAL
61 $AUTOMAKE -a
63 # No rule needed, the default .y.c: inference rule is enough.
64 grep '^sub/maude\.c:' Makefile.in && exit 1
67 ## Try again with per-exe flags.
69 cat > Makefile.am << 'END'
70 bin_PROGRAMS = maude
71 maude_SOURCES = sub/maude.y
72 ## A particularly trickey case.
73 maude_YFLAGS = -d
74 END
76 $ACLOCAL || exit 1
77 $AUTOMAKE -a || exit 1
79 # Rule should use maude_YFLAGS.
80 grep 'AM_YFLAGS.*maude' Makefile.in && exit 1
82 # Silly regression.
83 grep 'maudec' Makefile.in && exit 1
85 # Make sure the .o file is required.
86 grep '^am_maude_OBJECTS.*maude' Makefile.in