source: trunk/essentials/sys-devel/automake-1.9/tests/lex5.test

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

automake 1.9.6

File size: 2.1 KB
Line 
1#! /bin/sh
2# Copyright (C) 2002, 2003, 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# Test for subdir lexers.
22
23required='gcc GNUmake gzip flex'
24. ./defs || exit 1
25
26set -e
27
28cat > configure.in << 'END'
29AC_INIT([lex5], [1.0])
30AC_CONFIG_AUX_DIR([.])
31AM_INIT_AUTOMAKE
32AC_CONFIG_FILES([Makefile])
33AC_PROG_CC
34AM_PROG_CC_C_O
35AM_PROG_LEX
36AC_OUTPUT
37END
38
39cat > Makefile.am << 'END'
40AUTOMAKE_OPTIONS = foreign subdir-objects
41LDADD = @LEXLIB@
42
43bin_PROGRAMS = foo/foo
44foo_foo_SOURCES = foo/foo.l
45END
46
47mkdir foo
48
49cat > foo/foo.l << 'END'
50%%
51"END" return EOF;
52.
53%%
54int
55main ()
56{
57 while (yylex () != EOF)
58 ;
59
60 return 0;
61}
62END
63
64set -e
65
66$ACLOCAL
67$AUTOCONF
68$AUTOMAKE -a
69
70mkdir sub
71cd sub
72../configure
73$MAKE foo/foo.o
74
75test -f foo/foo.c
76test -f foo/foo.o
77# ylwrap is not needed
78test ! -f ./ylwrap
79
80# Now, adds another lexer to test ylwrap.
81
82cd ..
83cp foo/foo.l foo/foo2.l
84cat >> Makefile.am << 'END'
85EXTRA_foo_foo_SOURCES = foo/foo2.l
86END
87
88# Make sure Makefile.in has a new time stamp: the rebuild rules are
89# used below. We do this after updating Makefile.am, that way we can
90# ensure that automake, even with --no-force, is not confused if the
91# new Makefile.am has the same time stamp as the older one (since the
92# output will change, --no-force should have no effect).
93$sleep
94
95$AUTOMAKE -a --no-force
96test -f ./ylwrap
97
98cd sub
99$MAKE foo/foo2.o
100test -f foo/foo2.c
101test -f foo/foo2.o
102
103exit 0
Note: See TracBrowser for help on using the repository browser.