source: trunk/essentials/sys-devel/automake-1.10/tests/yacc5.test

Last change on this file was 3147, checked in by bird, 18 years ago

automake 1.10

File size: 1.9 KB
Line 
1#! /bin/sh
2# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
3#
4# This file is part of GNU Automake.
5#
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.
10#
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.
15#
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.
20
21# Test of yacc functionality, derived from GNU binutils
22# by Tim Van Holder.
23
24. ./defs || exit 1
25
26set -e
27
28cat > configure.in << 'END'
29AC_INIT
30AM_INIT_AUTOMAKE(nonesuch, nonesuch)
31AC_PROG_CC
32AM_PROG_CC_C_O
33AC_PROG_YACC
34AC_OUTPUT(Makefile)
35END
36
37cat > Makefile.am << 'END'
38bin_PROGRAMS = maude
39maude_SOURCES = sub/maude.y
40END
41
42mkdir sub
43
44: > sub/maude.y
45
46$ACLOCAL
47$AUTOMAKE -a
48
49grep '^maude\.c:' Makefile.in
50
51
52## Try again with subdir-objects.
53
54cat > Makefile.am << 'END'
55AUTOMAKE_OPTIONS = subdir-objects
56bin_PROGRAMS = maude
57maude_SOURCES = sub/maude.y
58END
59
60$ACLOCAL
61$AUTOMAKE -a
62
63# No rule needed, the default .y.c: inference rule is enough.
64grep '^sub/maude\.c:' Makefile.in && exit 1
65
66
67## Try again with per-exe flags.
68
69cat > Makefile.am << 'END'
70bin_PROGRAMS = maude
71maude_SOURCES = sub/maude.y
72## A particularly trickey case.
73maude_YFLAGS = -d
74END
75
76$ACLOCAL || exit 1
77$AUTOMAKE -a || exit 1
78
79# Rule should use maude_YFLAGS.
80grep 'AM_YFLAGS.*maude' Makefile.in && exit 1
81
82# Silly regression.
83grep 'maudec' Makefile.in && exit 1
84
85# Make sure the .o file is required.
86grep '^am_maude_OBJECTS.*maude' Makefile.in
Note: See TracBrowser for help on using the repository browser.