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

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

automake 1.10

File size: 2.0 KB
Line 
1#! /bin/sh
2# Copyright (C) 2002, 2004 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# For PR 204.
22# Sources derived from nodist_ sources should not be distributed.
23
24required='bison gcc'
25. ./defs || exit 1
26
27set -e
28
29cat > configure.in <<'EOF'
30AC_INIT(pr204, 0.1)
31AM_INIT_AUTOMAKE
32AM_MAINTAINER_MODE
33AC_PROG_CC
34AC_PROG_YACC
35AC_CONFIG_FILES(Makefile)
36AC_OUTPUT
37EOF
38
39# The PARSE2 intermediate variable is there to make
40# sure Automake match 'nodist_' against the right
41# variable name...
42cat > Makefile.am << 'EOF'
43AM_YFLAGS = -d
44EXTRA_PROGRAMS = foo
45PARSE2 = parse2.y
46nodist_foo_SOURCES = parse.y $(PARSE2)
47
48distdirtest: distdir
49 test ! -f $(distdir)/parse.c
50 test ! -f $(distdir)/parse.y
51 test ! -f $(distdir)/parse.h
52 test ! -f $(distdir)/parse2.c
53 test ! -f $(distdir)/parse2.y
54 test ! -f $(distdir)/parse2.h
55EOF
56
57cat > parse.y << 'END'
58%{
59int yylex () {return 0;}
60void yyerror (char *s) {}
61%}
62%%
63maude : 'm' 'a' 'u' 'd' 'e' {};
64END
65
66cp parse.y parse2.y
67
68$ACLOCAL
69$AUTOCONF
70$AUTOMAKE -a
71./configure
72$MAKE distdirtest
73# Make sure parse.c and parse2.c are still targets.
74$MAKE parse.c parse2.c
75test -f parse.c
76test -f parse2.c
77
78# Ensure the rebuild rule works despite AM_MAINTAINER_MODE, because
79# it's a nodist_ parser.
80$sleep
81touch parse.y
82$sleep
83$MAKE parse.c parse2.c
84test `ls -1t parse.c parse.y | sed 1q` = parse.c
Note: See TracBrowser for help on using the repository browser.