Merge branch 'maint'
[platform/upstream/automake.git] / t / suffix9.sh
1 #! /bin/sh
2 # Copyright (C) 2002-2012 Free Software Foundation, Inc.
3 #
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation; either version 2, or (at your option)
7 # any later version.
8 #
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 # GNU General Public License for more details.
13 #
14 # You should have received a copy of the GNU General Public License
15 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
16
17 # Make sure that Automake choose the shorter route between suffixes
18 # (related to PR/37)
19
20 . ./defs || Exit 1
21
22 cat >>configure.ac << 'END'
23 AC_PROG_CC
24 END
25
26 $ACLOCAL
27
28 #  x_ -> y -> c -> o
29 #   \________/
30 #
31 # Automake should follow the bottom route: x_ -> c -> o because
32 # it is shorter.
33 #
34 # It should not take the "-> y ->" route.  We use 'y' here so that
35 # then Automake will complains that YACC is not defined and the test will
36 # fail when this happens.
37
38 cat >Makefile.am << 'END'
39 bin_PROGRAMS = foo
40 foo_SOURCES = foo.x_
41
42 .x_.y:
43         cp $< $@
44 .x_.c:
45         cp $< $@
46 END
47
48 $AUTOMAKE -a
49
50 # Idem with the rules the another order.
51
52 cat >Makefile.am << 'END'
53 bin_PROGRAMS = foo
54 foo_SOURCES = foo.x_
55
56 .x_.c:
57         cp $< $@
58 .x_.y:
59         cp $< $@
60 END
61
62 $AUTOMAKE -a
63
64 :