tests: be stricter in determining whether "make -jN" works
[platform/upstream/automake.git] / tests / pr87.test
1 #! /bin/sh
2 # Copyright (C) 2000-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 # Test for PR automake/87.
18 # "make distcheck" fails when two source dirs exist.
19
20 required=cc
21 . ./defs || Exit 1
22
23 subdirs="foo bar"
24
25 for i in $subdirs; do
26     mkdir $i
27     unindent >$i/$i.c <<EOF
28       int main (void)
29       {
30         return 0;
31       }
32 EOF
33     unindent >$i/Makefile.am <<EOF
34       bin_PROGRAMS = $i
35       ${i}_SOURCES = $i.c
36 EOF
37 done
38
39 echo "SUBDIRS = $subdirs" > Makefile.am
40 cat >configure.in <<EOF
41 AC_INIT(`echo $subdirs | sed 's|\([a-z][a-z]*\).*|\1/\1.c|'`)
42 AC_CONFIG_AUX_DIR(.)
43 AM_INIT_AUTOMAKE($me, 1.0)
44 AC_PROG_CC
45 AC_OUTPUT(Makefile `echo $subdirs | sed 's|\([a-z][a-z]*\)|\1/Makefile|g'`)
46 EOF
47
48 mkdir build
49
50 $ACLOCAL
51 $AUTOCONF
52 $AUTOMAKE -a
53
54 # Regression test for bug where `.c.o:' is followed by blank line.
55 (while read line; do
56     if test "$line" = ".c.o:"; then
57        read next
58        if test -z "$next"; then
59           Exit 1
60        else
61           : # For shells with broken 'set -e'.
62        fi
63        break
64     fi
65  done) < foo/Makefile.in || Exit 1
66
67 cd build
68 ../configure
69 $MAKE distcheck
70
71 :