* COPYING, lib/COPYING: Update to GPLv3. All uses changed.
[platform/upstream/automake.git] / tests / suffix8.test
1 #! /bin/sh
2 # Copyright (C) 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 3, 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 to make sure Automake supports multiple derivations for the same suffix.
22 # PR/37
23
24 required='gcc libtoolize'
25 . ./defs || exit 1
26
27 set -e
28
29 cat >>configure.in <<'END'
30 AM_PROG_LIBTOOL
31 AC_OUTPUT
32 END
33
34 cat >Makefile.am << 'END'
35 bin_PROGRAMS = foo
36 lib_LTLIBRARIES = libfoo.la
37
38 foo_SOURCES = foo.x_
39 libfoo_la_SOURCES = bar.x_
40
41 .x_.y_:
42         cp $< $@
43
44 .y_.o:
45         cp $< $@
46
47 .y_.z_:
48         cp $< $@
49
50 .z_.lo:
51         cp $< $@
52
53 # Add explicit dependencies to help make implementations that
54 # don't otherwise chain implicit rules (e.g., Sun make).
55 foo.$(OBJEXT): foo.y_
56 bar.lo: bar.z_
57 bar.z_: bar.y_
58
59 print:
60         @echo BEGIN: $(foo_OBJECTS) :END
61         @echo BEGIN: $(libfoo_la_OBJECTS) :END
62
63 test: $(foo_OBJECTS) $(libfoo_la_OBJECTS)
64         test -f foo.$(OBJEXT)
65         test -f bar.lo
66 END
67
68 echo 'int main() { return 0; }' > foo.x_
69 cp foo.x_ bar.x_
70
71 libtoolize
72 $ACLOCAL
73 $AUTOCONF
74 $AUTOMAKE -a
75 ./configure
76 env OBJEXT=foo $MAKE -e print >stdout
77 cat stdout
78 grep 'BEGIN: foo.foo :END' stdout
79 grep 'BEGIN: bar.lo :END' stdout
80 $MAKE test