771726d73e3af7dba09390484786937b29a1fec8
[platform/upstream/automake.git] / tests / yacc7.test
1 #! /bin/sh
2
3 # Test to make sure dependencies are generated correctly for .h files.
4 # Report from Richard Boulton.
5 #
6 # Also check that the sources of the generated parser are distributed.
7 # PR/47.
8
9 . $srcdir/defs || exit 1
10
11 cat >> configure.in << 'END'
12 AC_PROG_CC
13 AC_PROG_YACC
14 AC_OUTPUT
15 END
16
17 cat > Makefile.am << 'END'
18 bin_PROGRAMS = foo
19 foo_SOURCES = foo.y
20 AM_YFLAGS = -d
21
22 check-dist: distdir
23         test -f $(distdir)/foo.y
24         test -f $(distdir)/foo.c
25         test -f $(distdir)/foo.h
26 END
27
28 cat > foo.y << 'END'
29 %%
30 WORD: "up";
31 %%
32 END
33
34 set -e
35
36 $ACLOCAL
37 $AUTOMAKE -a
38 $AUTOCONF
39 ./configure
40
41 $MAKE foo.h
42
43 test -f foo.h
44
45 rm -f foo.h foo.c
46 $MAKE check-dist
47
48 # We should be able to recover if foo.h is deleted.
49
50 rm -f foo.h
51 $MAKE foo.h
52 test -f foo.h
53
54 # Make distclean must not erase foo.c nor foo.h (by GNU standards) ...
55 $MAKE foo.c
56 test -f foo.h
57 test -f foo.c
58 $MAKE distclean
59 test -f foo.h
60 test -f foo.c
61 # ... but maintainer-clean should.
62 ./configure
63 $MAKE maintainer-clean
64 test ! -f foo.h
65 test ! -f foo.c
66 :