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

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

automake 1.9.6

File size: 1.8 KB
Line 
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 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 to make sure Automake supports multiple derivations for the same suffix.
22# PR/37
23
24required='gcc libtoolize'
25. ./defs || exit 1
26
27set -e
28
29cat >>configure.in <<'END'
30AM_PROG_LIBTOOL
31AC_OUTPUT
32END
33
34cat >Makefile.am << 'END'
35bin_PROGRAMS = foo
36lib_LTLIBRARIES = libfoo.la
37
38foo_SOURCES = foo.x_
39libfoo_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).
55foo.$(OBJEXT): foo.y_
56bar.lo: bar.z_
57bar.z_: bar.y_
58
59print:
60 @echo BEGIN: $(foo_OBJECTS) :END
61 @echo BEGIN: $(libfoo_la_OBJECTS) :END
62
63test: $(foo_OBJECTS) $(libfoo_la_OBJECTS)
64 test -f foo.$(OBJEXT)
65 test -f bar.lo
66END
67
68echo 'int main() { return 0; }' > foo.x_
69cp foo.x_ bar.x_
70
71libtoolize
72$ACLOCAL
73$AUTOCONF
74$AUTOMAKE -a
75./configure
76env OBJEXT=foo $MAKE -e print >stdout
77cat stdout
78grep 'BEGIN: foo.foo :END' stdout
79grep 'BEGIN: bar.lo :END' stdout
80$MAKE test
Note: See TracBrowser for help on using the repository browser.