source: trunk/essentials/sys-devel/automake-1.9/tests/ext2.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 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# Regression test for a bug reported by Ladislav Strojil.
22# Using different extensions for the same language should not
23# output the build rules several times.
24
25. ./defs
26
27set -e
28
29cat >>configure.in <<EOF
30AC_PROG_CXX
31EOF
32
33cat >Makefile.am <<EOF
34bin_PROGRAMS = p q r
35p_SOURCES = a.cc b.cpp c.cxx
36q_SOURCES = sub/d.cc sub/e.cpp sub/f.cxx
37r_SOURCES = g.cc h.cpp i.cxx
38r_CXXFLAGS = -DFOO
39EOF
40
41$ACLOCAL
42$AUTOMAKE
43
44grep '\.o:' Makefile.in > rules
45cat rules
46
47# Here is a example of bogus output. The rules are output several
48# times.
49#| .cc.o:
50#| d.o: sub/d.cc
51#| e.o: sub/e.cpp
52#| f.o: sub/f.cxx
53#| r-g.o: g.cc
54#| r-h.o: h.cpp
55#| r-i.o: i.cxx
56#| .cpp.o:
57#| d.o: sub/d.cc
58#| e.o: sub/e.cpp
59#| f.o: sub/f.cxx
60#| r-g.o: g.cc
61#| r-h.o: h.cpp
62#| r-i.o: i.cxx
63#| .cxx.o:
64#| #d.o: sub/d.cc
65#| #e.o: sub/e.cpp
66#| #f.o: sub/f.cxx
67#| #r-g.o: g.cc
68#| #r-h.o: h.cpp
69#| #r-i.o: i.cxx
70
71# Bail out if we find a duplicate.
72$PERL -ne 'if (exists $a{$_}) { exit 1 } else { $a{$_} = 1 }' < rules
Note: See TracBrowser for help on using the repository browser.