make flags analysis: cater to GNU make 3.83 (still unreleased as of now)
[automake.git] / t / repeated-options.sh
blobaf1897bcba75d2404661ccf8289b9e8e87bbff44
1 #! /bin/sh
2 # Copyright (C) 2010-2013 Free Software Foundation, Inc.
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.
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.
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/>.
17 # Check that automake does not complain on repeated options, nor
18 # generate broken or incorrect makefiles.
20 required='cc bzip2'
21 . test-init.sh
23 cat >configure.ac <<END
24 AC_INIT([$me], [1.0])
25 AM_INIT_AUTOMAKE([foreign dist-bzip2 no-dist-gzip no-dist-gzip dist-bzip2])
26 AC_PROG_CC
27 AM_PROG_CC_C_O
28 AC_CONFIG_FILES([Makefile])
29 AC_OUTPUT
30 END
32 cat > Makefile.am <<'END'
33 AUTOMAKE_OPTIONS = parallel-tests subdir-objects subdir-objects
34 AUTOMAKE_OPTIONS += dist-bzip2 parallel-tests
35 TESTS = foo.test
36 EXTRA_DIST = $(TESTS)
37 TESTS_ENVIRONMENT = EXEEXT='$(EXEEXT)'
38 bin_PROGRAMS = sub/foo
39 .PHONY: test-build
40 test-build:
41 ls -l . sub
42 test -f sub/foo.$(OBJEXT)
43 test -f sub/foo$(EXEEXT)
44 END
46 mkdir sub
48 cat > foo.test <<'END'
49 #!/bin/sh
50 test -f sub/foo$EXEEXT && test -x sub/foo$EXEEXT
51 END
52 chmod a+x foo.test
54 cat > sub/foo.c <<'END'
55 int main (void)
57 return 0;
59 END
61 cp "$am_scriptdir"/compile "$am_scriptdir"/test-driver .
63 $ACLOCAL
64 $AUTOMAKE --foreign --foreign -Wall 2>stderr || { cat stderr >&2; exit 1; }
65 test -s stderr && { cat stderr >&2; exit 1; }
66 rm -f stderr
67 $AUTOCONF
69 ./configure
70 $MAKE
71 $MAKE test-build
72 $MAKE check
73 ls -l
74 test -f foo.log
75 test -f test-suite.log
76 $MAKE clean
77 $MAKE distcheck
78 ls -l
79 test -f $me-1.0.tar.bz2
80 test ! -e $me-1.0.tar.gz