Fix for PR automake/322:
[platform/upstream/automake.git] / tests / yacc5.test
1 #! /bin/sh
2
3 # Test of yacc functionality, derived from GNU binutils
4 # by Tim Van Holder.
5
6 . $srcdir/defs || exit 1
7
8 cat > configure.in << 'END'
9 AC_INIT
10 AM_INIT_AUTOMAKE(nonesuch, nonesuch)
11 AC_PROG_CC
12 AM_PROG_CC_C_O
13 AC_PROG_YACC
14 AC_OUTPUT(Makefile)
15 END
16
17 cat > Makefile.am << 'END'
18 bin_PROGRAMS = maude
19 maude_SOURCES = sub/maude.y
20 END
21
22 mkdir sub
23
24 : > sub/maude.y
25
26 $ACLOCAL || exit 1
27 $AUTOMAKE -a || exit 1
28
29 grep '^maude\.c:' Makefile.in || exit 1
30
31
32 ## Try again with subdir-objects.
33
34 cat > Makefile.am << 'END'
35 AUTOMAKE_OPTIONS = subdir-objects
36 bin_PROGRAMS = maude
37 maude_SOURCES = sub/maude.y
38 END
39
40 $ACLOCAL || exit 1
41 $AUTOMAKE -a || exit 1
42
43 grep '^sub/maude\.c:' Makefile.in || exit 1
44
45
46 ## Try again with per-exe flags.
47
48 cat > Makefile.am << 'END'
49 bin_PROGRAMS = maude
50 maude_SOURCES = sub/maude.y
51 ## A particularly trickey case.
52 maude_YFLAGS = -d
53 END
54
55 $ACLOCAL || exit 1
56 $AUTOMAKE -a || exit 1
57
58 # Rule should use maude_YFLAGS.
59 grep 'AM_YFLAGS.*maude' Makefile.in && exit 1
60
61 # Silly regression.
62 grep 'maudec' Makefile.in && exit 1
63
64 # Make sure the .o file is required.
65 grep '^am_maude_OBJECTS.*maude' Makefile.in || exit 1
66
67 exit 0